[Scummvm-cvs-logs] CVS: scummvm/scumm object.cpp,1.55,1.56

Max Horn fingolfin at users.sourceforge.net
Mon Jan 13 08:01:08 CET 2003


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

Modified Files:
	object.cpp 
Log Message:
clear object table for small header games, too

Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- object.cpp	13 Jan 2003 15:27:05 -0000	1.55
+++ object.cpp	13 Jan 2003 16:00:19 -0000	1.56
@@ -437,9 +437,8 @@
 			continue;
 
 		// Nuke all non-flObjects (flObjects are nuked in script.cpp)
-		if (!_objs[i].fl_object_index) {
+		if (_objs[i].fl_object_index == 0) {
 			_objs[i].obj_nr = 0;
-			_objs[i].fl_object_index = 0;
 		} else {
 			// Nuke all unlocked flObjects
 			if (!(res.flags[rtFlObject][_objs[i].fl_object_index] & RF_LOCK)) {
@@ -462,7 +461,6 @@
 		searchptr = rootptr = room;
 	assert(searchptr);
 
-
 	// Load in new room objects
 	for (i = 0; i < _numObjectsInRoom; i++) {
 		od = &_objs[findLocalObjectSlot()];
@@ -545,6 +543,11 @@
 	if (_numObjectsInRoom > _numLocalObjects)
 		error("More than %d objects in room %d", _numLocalObjects, _roomResource);
 
+	// Clear out old room objects
+	for (i = 0; i < _numLocalObjects; i++) {
+		_objs[i].obj_nr = 0;
+	}
+
 	searchptr = room;
 	for (i = 0; i < _numObjectsInRoom; i++) {
 		od = &_objs[findLocalObjectSlot()];
@@ -555,7 +558,6 @@
 
 		od->OBCDoffset = ptr - room;
 		od->obj_nr = READ_LE_UINT16(ptr + 6);
-
 		if (_dumpScripts) {
 			char buf[32];
 			sprintf(buf, "roomobj-%d-", _roomResource);





More information about the Scummvm-git-logs mailing list