aboutsummaryrefslogtreecommitdiff
path: root/sword1
diff options
context:
space:
mode:
authorRobert Göffringmann2004-03-07 19:24:41 +0000
committerRobert Göffringmann2004-03-07 19:24:41 +0000
commit8b39133cab44244b6b4e3eeb303e91d0860a09b1 (patch)
treecd456a8ea90932a2616a08d1be3cc085b04f4402 /sword1
parent757bc4cec6f9dc053c43a4cb3527342b1d74c78f (diff)
downloadscummvm-rg350-8b39133cab44244b6b4e3eeb303e91d0860a09b1.tar.gz
scummvm-rg350-8b39133cab44244b6b4e3eeb303e91d0860a09b1.tar.bz2
scummvm-rg350-8b39133cab44244b6b4e3eeb303e91d0860a09b1.zip
changed workaround again, it's also needed when entering the room, not only when restoring a savegame.
svn-id: r13216
Diffstat (limited to 'sword1')
-rw-r--r--sword1/logic.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/sword1/logic.cpp b/sword1/logic.cpp
index fd99c8eb15..e9854d51a1 100644
--- a/sword1/logic.cpp
+++ b/sword1/logic.cpp
@@ -80,17 +80,17 @@ void Logic::initialize(void) {
void Logic::newScreen(uint32 screen) {
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
- }
+ // work around script bug #911508
+ if (((screen == 25) || (_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
+ }
+ if (SwordEngine::_systemVars.justRestoredGame) { // if we've just restored a game - we want George to be exactly as saved
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);