[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