[Scummvm-cvs-logs] CVS: scummvm/queen graphics.cpp,1.92,1.93 logic.cpp,1.183,1.184 logic.h,1.116,1.117
Joost Peters
joostp at users.sourceforge.net
Tue Jan 27 18:05:27 CET 2004
Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26581/queen
Modified Files:
graphics.cpp logic.cpp logic.h
Log Message:
Proper fix for bug #884712
Index: graphics.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/graphics.cpp,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- graphics.cpp 25 Jan 2004 22:10:08 -0000 1.92
+++ graphics.cpp 27 Jan 2004 16:56:11 -0000 1.93
@@ -783,7 +783,7 @@
pbs->clear();
} else {
// find person number
- uint16 pNum = _vm->logic()->findPersonNumber(obj);
+ uint16 pNum = _vm->logic()->findPersonNumber(obj, _vm->logic()->currentRoom());
curImage = _personFrames[pNum] - 1;
if (_personFrames[pNum] == 0) {
_personFrames[pNum] = curImage = _numFrames;
Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.183
retrieving revision 1.184
diff -u -d -r1.183 -r1.184
--- logic.cpp 25 Jan 2004 22:10:21 -0000 1.183
+++ logic.cpp 27 Jan 2004 16:56:11 -0000 1.184
@@ -267,7 +267,7 @@
if(img != 0) {
if(img == -3 || img == -4) {
// a person object
- bobnum = findPersonNumber(obj);
+ bobnum = findPersonNumber(obj, room);
} else {
uint16 bobtype = 0; // 1 for animated, 0 for static
@@ -337,7 +337,7 @@
uint16 room = _objectData[obj].room;
int16 img = _objectData[obj].image;
if(img == -3 || img == -4) {
- uint16 bobnum = findPersonNumber(obj);
+ uint16 bobnum = findPersonNumber(obj, room);
if(bobnum <= 3) {
framenum = 29 + FRAMES_JOE_XTRA + bobnum;
}
@@ -538,7 +538,7 @@
}
// search Bob number for the person
- uint16 bobNum = findPersonNumber(obj);
+ uint16 bobNum = findPersonNumber(obj, _currentRoom);
// search for a matching actor
if (bobNum > 0) {
@@ -575,10 +575,10 @@
return pad != NULL;
}
-uint16 Logic::findPersonNumber(uint16 obj) const {
+uint16 Logic::findPersonNumber(uint16 obj, uint16 room) const {
uint16 num = 0;
uint16 i;
- for (i = currentRoomData() + 1; i <= obj; ++i) {
+ for (i = _roomData[room] + 1; i <= obj; ++i) {
int16 img = _objectData[i].image;
if (img == -3 || img == -4) {
++num;
Index: logic.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.h,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- logic.h 20 Jan 2004 21:58:26 -0000 1.116
+++ logic.h 27 Jan 2004 16:56:11 -0000 1.117
@@ -130,7 +130,7 @@
ActorData *findActor(uint16 noun, const char *name = NULL) const;
bool initPerson(uint16 noun, const char *actorName, bool loadBank, Person *pp);
- uint16 findPersonNumber(uint16 obj) const;
+ uint16 findPersonNumber(uint16 obj, uint16 room) const;
void loadJoeBanks(const char *animBank, const char *standBank);
More information about the Scummvm-git-logs
mailing list