[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