[Scummvm-cvs-logs] CVS: scummvm/scumm object.cpp,1.45,1.46 verbs.cpp,1.18,1.19

James Brown ender at users.sourceforge.net
Sun Jan 12 00:39:01 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv23440/scumm

Modified Files:
	object.cpp verbs.cpp 
Log Message:
Fhew. Fix crash.


Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- object.cpp	12 Jan 2003 08:32:44 -0000	1.45
+++ object.cpp	12 Jan 2003 08:37:59 -0000	1.46
@@ -320,7 +320,7 @@
 			if (_objs[i].obj_nr > 0)
 				drawRoomObject(i, arg);
 	} else {
-		for (i = (_numLocalObjects-1); i != 0; i--)
+		for (i = (_numLocalObjects-1); i > 0; i--)
 			if (_objs[i].obj_nr > 0)
 				drawRoomObject(i, arg);
 	}
@@ -444,6 +444,12 @@
 	else
 		_numObjectsInRoom = READ_LE_UINT16(&(roomhdr->old.numObjects));
 
+	// Clear out old room objects (FIXME: Locking/FlObjects stuff?)
+	for (i = 0; i < _numLocalObjects; i++) {
+		_objs[i].obj_nr = 0;
+		_objs[i].fl_object_index = 0;
+	}
+
 	if (_numObjectsInRoom == 0)
 		return;
 
@@ -456,11 +462,6 @@
 		searchptr = rootptr = room;
 	assert(searchptr);
 
-	// Clear out old room objects (FIXME: Locking/FlObjects stuff?)
-	for (i = 0; i < _numLocalObjects; i++) {
-		_objs[i].obj_nr = 0;
-		_objs[i].fl_object_index = 0;
-	}
 
 	// Load in new room objects
 	for (i = 0; i < _numObjectsInRoom; i++) {
@@ -1626,10 +1627,8 @@
 	int i;
 
         for (i = 1; i < _numLocalObjects; i++) {
-                if (!_objs[i].obj_nr) {
-			printf("Returning slot %d\n", i);
+                if (!_objs[i].obj_nr)
 			return i;
-		}
 	}
 
 	return -1;

Index: verbs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/verbs.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- verbs.cpp	12 Jan 2003 07:30:17 -0000	1.18
+++ verbs.cpp	12 Jan 2003 08:37:59 -0000	1.19
@@ -319,7 +319,7 @@
 		error("Can't grab verb image from flobject");
 
 	if (_features & GF_SMALL_HEADER) {
-		for (i = _numLocalObjects; i > 0; i--) {
+		for (i = (_numLocalObjects-1); i > 0; i--) {
 			if (_objs[i].obj_nr == object) {
 				findObjectInRoom(&foir, foImageHeader, object, room);
 				size = READ_LE_UINT32(foir.obim);





More information about the Scummvm-git-logs mailing list