[Scummvm-cvs-logs] CVS: scummvm/scumm scummvm.cpp,2.164,2.165 boxes.cpp,1.27,1.28
Max Horn
fingolfin at users.sourceforge.net
Sun May 18 17:18:02 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv26400
Modified Files:
scummvm.cpp boxes.cpp
Log Message:
V2 walkbox matrix fixes
Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.164
retrieving revision 2.165
diff -u -d -r2.164 -r2.165
--- scummvm.cpp 18 May 2003 19:44:22 -0000 2.164
+++ scummvm.cpp 19 May 2003 00:17:34 -0000 2.165
@@ -1358,9 +1358,9 @@
createResource(rtMatrix, 2, size);
memcpy(getResourceAddress(rtMatrix, 2), ptr, size);
ptr += size;
- if (_features & GF_AFTER_V2)
- size = (READ_LE_UINT16(roomptr + 0x0A) - *(roomptr + 0x15)) - size;
- else if (_features & GF_OLD_BUNDLE)
+ if (_features & GF_AFTER_V2) {
+ size = numOfBoxes * (numOfBoxes + 1);
+ } else if (_features & GF_OLD_BUNDLE)
// FIXME. This is an evil HACK!!!
size = (READ_LE_UINT16(roomptr + 0x0A) - READ_LE_UINT16(roomptr + 0x15)) - size;
else
Index: boxes.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/boxes.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- boxes.cpp 18 May 2003 19:44:22 -0000 1.27
+++ boxes.cpp 19 May 2003 00:17:34 -0000 1.28
@@ -566,11 +566,21 @@
byte *boxm;
byte i;
int dest = -1;
-
+ const int numOfBoxes = getNumBoxes();
+
if (from == to)
return to;
+ assert(from < numOfBoxes);
+ assert(to < numOfBoxes);
+
boxm = getBoxMatrixBaseAddr();
+
+ if (_features & GF_AFTER_V2) {
+ i = boxm[from];
+ boxm += numOfBoxes;
+ return boxm[to];
+ }
i = 0;
while (i != from) {
More information about the Scummvm-git-logs
mailing list