[Scummvm-cvs-logs] CVS: scummvm/queen display.cpp,1.25,1.26 walk.cpp,1.21,1.22 command.cpp,1.14,1.15 logic.cpp,1.92,1.93

Gregory Montoir cyx at users.sourceforge.net
Thu Nov 13 01:31:09 CET 2003


Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv2927

Modified Files:
	display.cpp walk.cpp command.cpp logic.cpp 
Log Message:
fix some bugs :
- grayed panel disappearing during cutaway
- canceling joe walk before switching to another room


Index: display.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/display.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- display.cpp	10 Nov 2003 15:45:53 -0000	1.25
+++ display.cpp	13 Nov 2003 09:30:48 -0000	1.26
@@ -633,7 +633,9 @@
 	}
 	else {
 		_fullscreen = 0;
-		_panel = (comPanel == 1);
+		if (comPanel == 1) {
+			_panel = true;
+		}
 	}
 }
 

Index: walk.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/walk.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- walk.cpp	8 Nov 2003 23:45:45 -0000	1.21
+++ walk.cpp	13 Nov 2003 09:30:49 -0000	1.22
@@ -327,6 +327,7 @@
 	}
 
 	_graphics->bob(0)->animating = false;
+	// cyx: the NEW_ROOM = 0 is done in Command::grabCurrentSelection()
 	// XXX if ((CAN==-1) && (walkgameload==0)) NEW_ROOM=0;
 	// XXX walkgameload=0;
 	if (_joeMoveBlock) {

Index: command.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/command.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- command.cpp	13 Nov 2003 08:17:40 -0000	1.14
+++ command.cpp	13 Nov 2003 09:30:49 -0000	1.15
@@ -136,7 +136,7 @@
 
 	_cmdText.clear();
 	if (clearTexts) {
-		_graphics->textClear(151, 151);
+		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
 	}
 	_parse = false;
 	_curCmd.init();
@@ -528,7 +528,6 @@
 	// Check to see if object is actually an exit to another
 	// room. If so, then set up new room
 
-
 	ObjectData *objData = _logic->objectData(objNum);
 	if (objData->x != 0 || objData->y != 0) {
 		x = objData->x;
@@ -584,7 +583,7 @@
 
 	_selPosX += _logic->display()->horizontalScroll();
 
-	debug(0, "Command::grabCurrentSelection() - _curCmd.noun = %d, _curCmd.verb = %d", _curCmd.noun, _curCmd.verb.value());
+	debug(0, "Command::grabCurrentSelection() - _curCmd.noun = %d, _curCmd.verb = %d, objMax=%d", _curCmd.noun, _curCmd.verb.value(), _logic->currentRoomObjMax());
 	if (_curCmd.verb.isAction()) {
 		grabSelectedVerb();
 	}
@@ -596,6 +595,7 @@
 	}
 	else if (_selPosY < ROOM_ZONE_HEIGHT && _curCmd.verb.isNone()) {
 		// select without a command, do a WALK
+		_logic->newRoom(0); // cancel makeJoeWalkTo, that should be equivalent to cr10 fix
 		clear(true);
 		_logic->joeWalk(2);
 	}
@@ -888,7 +888,7 @@
 	if ((_selCmd.action.value() == VERB_WALK_TO || _selCmd.action.isNone()) && 
 		(_selCmd.noun > objMax || _selCmd.noun == 0)) {
 		if (_selCmd.action.isNone()) {
-			_graphics->textClear(151, 151);
+			_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
 		}
 		_walk->joeMove(0, _selPosX, _selPosY, false); // XXX inCutaway parameter
 		return true;
@@ -1554,7 +1554,7 @@
 
 	if (i <= 0) {
 		_curCmd.oldNoun = _curCmd.noun;
-		_graphics->textClear(151, 151);
+		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
 		if (!_selCmd.defaultVerb.isNone()) {
 			_cmdText.displayTemp(INK_CMD_LOCK, true, _selCmd.defaultVerb);
 		}
@@ -1594,7 +1594,7 @@
 		if (_curCmd.action.isNone()) {
 			_cmdText.clear();
 		}
-		_graphics->textClear(151, 151);
+		_graphics->textClear(CmdText::COMMAND_Y_POS, CmdText::COMMAND_Y_POS);
 		lookCurrentItem();
 
 		// ensure that registers when move to top screen

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- logic.cpp	12 Nov 2003 10:50:05 -0000	1.92
+++ logic.cpp	13 Nov 2003 09:30:49 -0000	1.93
@@ -1900,7 +1900,7 @@
 	if (zoneNum > objectMax) {
 		// this is an area box, check for associated object
 		uint16 obj = _area[_currentRoom][zoneNum - objectMax].object;
-		if (obj != 0) {
+		if (obj != 0 && _objectData[obj].name != 0) {
 			// there is an object, get its number
 			noun = obj - _roomData[_currentRoom];
 		}





More information about the Scummvm-git-logs mailing list