[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