diff options
author | Max Horn | 2003-04-27 15:58:36 +0000 |
---|---|---|
committer | Max Horn | 2003-04-27 15:58:36 +0000 |
commit | efae54c7204146756dff1f9e7a931cfc5bb6be7f (patch) | |
tree | c771c377ea42f45fa9389b64da091cfa4a716b5e /scumm | |
parent | e85cbeb386aa40e1b32a09927c2f05a38d21b8b7 (diff) | |
download | scummvm-rg350-efae54c7204146756dff1f9e7a931cfc5bb6be7f.tar.gz scummvm-rg350-efae54c7204146756dff1f9e7a931cfc5bb6be7f.tar.bz2 scummvm-rg350-efae54c7204146756dff1f9e7a931cfc5bb6be7f.zip |
this indy3 hack is needed for the ega version, too; restricted zeppelin hack to the room where it is needed (this might fix the levitating guard bug)
svn-id: r7158
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v5.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 19b287c1ae..fdeb6ba936 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -986,7 +986,7 @@ void Scumm_v5::o5_getActorX() { int a; getResultPos(); - if ((_gameId == GID_INDY3_256) || (_gameId == GID_INDY3)) + if (_gameId == GID_INDY3_256 || _gameId == GID_INDY3) a = getVarOrDirectByte(0x80); else a = getVarOrDirectWord(0x80); @@ -998,9 +998,7 @@ void Scumm_v5::o5_getActorY() { int a; getResultPos(); - if (_gameId == GID_INDY3) - a = getVarOrDirectByte(0x80); - else if (_gameId == GID_INDY3_256) { + if (_gameId == GID_INDY3_256 || _gameId == GID_INDY3) { a = getVarOrDirectByte(0x80); // Indy3 hack to cheat the 'Leap of Faith' grail test @@ -1009,10 +1007,12 @@ void Scumm_v5::o5_getActorY() { setResult(94); return; } - setResult(getObjY(a) - 1); // FIXME: Is this right, or can it be less specific? - // It's here to fix bug 636433 in specific, the actors - // are one pixel off what the script waits for. - return; + + // Hack to fix bug 636433 (can't get into Zeppelin) + if (_roomResource == 36) { + setResult(getObjY(a) - 1); + return; + } } else a = getVarOrDirectWord(0x80); |