[Scummvm-cvs-logs] CVS: scummvm/scumm object.cpp,1.222,1.223 room.cpp,1.1,1.2
Max Horn
fingolfin at users.sourceforge.net
Sat Apr 9 18:42:29 CEST 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32732
Modified Files:
object.cpp room.cpp
Log Message:
Init _numObjectsInRoom in another spot
Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.222
retrieving revision 1.223
diff -u -d -r1.222 -r1.223
--- object.cpp 9 Apr 2005 09:49:55 -0000 1.222
+++ object.cpp 10 Apr 2005 01:42:00 -0000 1.223
@@ -546,19 +546,10 @@
uint16 obim_id;
const byte *room, *searchptr, *rootptr;
const ImageHeader *imhd;
- const RoomHeader *roomhdr;
const CodeHeader *cdhd;
CHECK_HEAP
room = getResourceAddress(rtRoom, _roomResource);
- roomhdr = (const RoomHeader *)findResourceData(MKID('RMHD'), room);
-
- if (_version == 8)
- _numObjectsInRoom = (byte)READ_LE_UINT32(&(roomhdr->v8.numObjects));
- else if (_version == 7)
- _numObjectsInRoom = (byte) READ_LE_UINT16(&(roomhdr->v7.numObjects));
- else
- _numObjectsInRoom = (byte) READ_LE_UINT16(&(roomhdr->old.numObjects));
if (_numObjectsInRoom == 0)
return;
@@ -639,8 +630,6 @@
CHECK_HEAP
room = getResourceAddress(rtRoom, _roomResource);
- _numObjectsInRoom = room[20];
-
if (_numObjectsInRoom == 0)
return;
@@ -677,13 +666,9 @@
const byte *ptr;
uint16 obim_id;
const byte *room;
- const RoomHeader *roomhdr;
CHECK_HEAP
room = getResourceAddress(rtRoom, _roomResource);
- roomhdr = (const RoomHeader *)findResourceData(MKID('RMHD'), room);
-
- _numObjectsInRoom = (byte) READ_LE_UINT16(&(roomhdr->old.numObjects));
if (_numObjectsInRoom == 0)
return;
@@ -1191,7 +1176,7 @@
for (i = 0; i < numobj; i++) {
obimptr = roomptr + READ_LE_UINT16(searchptr);
- obcdptr = roomptr + READ_LE_UINT16(searchptr + 2 * _numObjectsInRoom);
+ obcdptr = roomptr + READ_LE_UINT16(searchptr + 2 * numobj);
id2 = READ_LE_UINT16(obcdptr + 4);
if (id2 == (uint16)id) {
Index: room.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/room.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- room.cpp 10 Apr 2005 01:23:33 -0000 1.1
+++ room.cpp 10 Apr 2005 01:42:00 -0000 1.2
@@ -235,12 +235,15 @@
if (_version == 8) {
_roomWidth = READ_LE_UINT32(&(rmhd->v8.width));
_roomHeight = READ_LE_UINT32(&(rmhd->v8.height));
+ _numObjectsInRoom = (byte)READ_LE_UINT32(&(rmhd->v8.numObjects));
} else if (_version == 7) {
_roomWidth = READ_LE_UINT16(&(rmhd->v7.width));
_roomHeight = READ_LE_UINT16(&(rmhd->v7.height));
+ _numObjectsInRoom = (byte)READ_LE_UINT16(&(rmhd->v7.numObjects));
} else {
_roomWidth = READ_LE_UINT16(&(rmhd->old.width));
_roomHeight = READ_LE_UINT16(&(rmhd->old.height));
+ _numObjectsInRoom = (byte)READ_LE_UINT16(&(rmhd->old.numObjects));
}
//
@@ -550,14 +553,14 @@
if (_version == 1) {
if (_features & GF_NES) {
- _roomWidth = READ_LE_UINT16(roomptr + 4) * 8;
+ _roomWidth = READ_LE_UINT16(&(rmhd->old.width));
+ _roomHeight = READ_LE_UINT16(&(rmhd->old.height));
// HACK: To let our code work normal with narrow rooms we
// adjust width. It will render garbage on right edge but we do
// not render it anyway
if (_roomWidth < 32 * 8)
_roomWidth = 32 * 8;
- _roomHeight = READ_LE_UINT16(roomptr + 6) * 8;
} else {
_roomWidth = roomptr[4] * 8;
_roomHeight = roomptr[5] * 8;
@@ -566,6 +569,7 @@
_roomWidth = READ_LE_UINT16(&(rmhd->old.width));
_roomHeight = READ_LE_UINT16(&(rmhd->old.height));
}
+ _numObjectsInRoom = roomptr[20];
//
// Find the room image data
More information about the Scummvm-git-logs
mailing list