[Scummvm-cvs-logs] CVS: scummvm/sword1 logic.cpp,1.35,1.36 sworddefs.h,1.13,1.14
Robert G?ffringmann
lavosspawn at users.sourceforge.net
Sun Mar 7 11:39:00 CET 2004
Update of /cvsroot/scummvm/scummvm/sword1
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12603/sword1
Modified Files:
logic.cpp sworddefs.h
Log Message:
work around script bug #911508 BS1: Crash when loading certain savegames
Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/logic.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- logic.cpp 5 Mar 2004 07:39:28 -0000 1.35
+++ logic.cpp 7 Mar 2004 19:14:32 -0000 1.36
@@ -81,6 +81,16 @@
Object *compact = (Object*)_objMan->fetchObject(PLAYER);
if (SwordEngine::_systemVars.justRestoredGame) { // if we've just restored a game - we want George to be exactly as saved
+ // work around script bug #911508
+ if ((_scriptVars[SCREEN] == 25) && (_scriptVars[SAND_FLAG] == 4)) {
+ Object *cpt = _objMan->fetchObject(SAND_25);
+ Object *george = _objMan->fetchObject(PLAYER);
+ if (george->o_place == HOLDING_REPLICA_25) // is george holding the replica in his hands?
+ fnFullSetFrame(cpt, SAND_25, IMPFLRCDT, IMPFLR, 0, 0, 0, 0); // empty impression in floor
+ else
+ fnFullSetFrame(cpt, SAND_25, IMPPLSCDT, IMPPLS, 0, 0, 0, 0); // impression filled with plaster
+ }
+
fnAddHuman(NULL, 0, 0, 0, 0, 0, 0, 0);
if (_scriptVars[GEORGE_WALKING]) { // except that if George was walking when we saveed the game
fnStandAt(compact, PLAYER, _scriptVars[CHANGE_X], _scriptVars[CHANGE_Y], _scriptVars[CHANGE_DIR], _scriptVars[CHANGE_STANCE], 0,0);
Index: sworddefs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/sworddefs.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- sworddefs.h 11 Jan 2004 15:47:41 -0000 1.13
+++ sworddefs.h 7 Mar 2004 19:14:32 -0000 1.14
@@ -1534,6 +1534,8 @@
POCKET_52
};
+#define SAND_25 1638407
+#define HOLDING_REPLICA_25 1638408
#define GMASTER_79 5177345
#define SCR_std_off (0*0x10000 + 6)
#define SCR_exit0 (0*0x10000 + 7)
More information about the Scummvm-git-logs
mailing list