diff options
author | Filippos Karapetis | 2007-05-07 19:42:59 +0000 |
---|---|---|
committer | Filippos Karapetis | 2007-05-07 19:42:59 +0000 |
commit | 50800d596973d5bf5a21f92f8f196c2103b9900e (patch) | |
tree | dadcc32e6fca11b2140e24a9a0d7aa9d09afb8fc | |
parent | 3a4c4fa181ef4a1cfe0cb0ef3ef0becd6db3f651 (diff) | |
download | scummvm-rg350-50800d596973d5bf5a21f92f8f196c2103b9900e.tar.gz scummvm-rg350-50800d596973d5bf5a21f92f8f196c2103b9900e.tar.bz2 scummvm-rg350-50800d596973d5bf5a21f92f8f196c2103b9900e.zip |
Fixed bug #1658514: AGI: SQ1 (2.2 DOS ENG) bizzare exploding roger
svn-id: r26782
-rw-r--r-- | engines/agi/op_cmd.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index 0011f40d00..ef09b319fa 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -589,6 +589,21 @@ cmd(draw_pic) { g_sprites->blitBoth(); game.pictureShown = 0; debugC(6, kDebugLevelScripts, "--- end of draw pic %d ---", _v[p0]); + + // WORKAROUND for a script bug which exists in SQ1, logic scripts + // 20 and 110. Flag 103 is not reset correctly, which leads to erroneous + // behavior from view 46 (the spider droid). View 46 is supposed to + // follow ego and explode when it comes in contact with him. However, as + // flag 103 is not reset correctly, when the player goes down the path + // and back up, the spider is always at the base of the path (since it + // can't go up) and kills the player when he goes down at ground level + // (although the spider droid sprite itself seems to be correctly positioned). + // With this workaround, when the player goes back to picture 20 (1 screen + // above the ground), flag 103 is reset, thereby fixing this issue. Note + // that this is a script bug and occurs in the original interpreter as well. + // Fixes bug #1658514: AGI: SQ1 (2.2 DOS ENG) bizzare exploding roger + if (g_agi->getGameID() == GID_SQ1 && _v[p0] == 20) + g_agi->setflag(103, false); } cmd(show_pic) { |