aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v5.cpp
diff options
context:
space:
mode:
authorMax Horn2003-04-27 15:58:36 +0000
committerMax Horn2003-04-27 15:58:36 +0000
commitefae54c7204146756dff1f9e7a931cfc5bb6be7f (patch)
treec771c377ea42f45fa9389b64da091cfa4a716b5e /scumm/script_v5.cpp
parente85cbeb386aa40e1b32a09927c2f05a38d21b8b7 (diff)
downloadscummvm-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/script_v5.cpp')
-rw-r--r--scumm/script_v5.cpp16
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);