[Scummvm-cvs-logs] CVS: scummvm/scumm script_v6.cpp,1.369,1.370
Max Horn
fingolfin at users.sourceforge.net
Mon Aug 2 11:33:08 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv567
Modified Files:
script_v6.cpp
Log Message:
WORKAROUND bug #645711 (FT: regression segfault in minefield)
Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.369
retrieving revision 1.370
diff -u -d -r1.369 -r1.370
--- script_v6.cpp 2 Aug 2004 07:49:20 -0000 1.369
+++ script_v6.cpp 2 Aug 2004 18:32:19 -0000 1.370
@@ -507,6 +507,18 @@
if (ah == NULL || ah->data == NULL) {
error("readArray: invalid array %d (%d)", array, readVar(array));
}
+
+ // WORKAROUND bug #645711. This is clearly a script bug, as this script
+ // excerpt shows nicely:
+ // ...
+ // [03A7] (5D) if (isAnyOf(array-447[localvar13][localvar14],[0,4])) {
+ // [03BD] (5D) if ((localvar13 != -1) && (localvar14 != -1)) {
+ // [03CF] (B6) printDebug.begin()
+ // ...
+ if (_gameId == GID_FT && array == 447 && _currentRoom == 95 && vm.slot[_currentScript].number == 2010 && idx == -1 && base == -1) {
+ return 0;
+ }
+
const int offset = base + idx * FROM_LE_16(ah->dim1);
@@ -2926,7 +2938,7 @@
if (state == 0)
state = 255;
- debug(6, "o6_stampObject: (%d at (%d,%d) scale %d)", object, x, y, state);
+ //debug(6, "o6_stampObject: (%d at (%d,%d) scale %d)", object, x, y, state);
Actor *a = derefActor(object, "o6_stampObject");
a->scalex = state;
a->scaley = state;
@@ -2952,7 +2964,7 @@
putState(object, state);
drawObject(objnum, 0);
- debug(6, "o6_stampObject: (%d at (%d,%d) state %d)", object, x, y, state);
+ //debug(6, "o6_stampObject: (%d at (%d,%d) state %d)", object, x, y, state);
}
void ScummEngine_v6::o6_stopTalking() {
More information about the Scummvm-git-logs
mailing list