diff options
-rw-r--r-- | scumm/script_v5.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 670622aa6a..0769a2ec9f 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -1378,7 +1378,6 @@ void ScummEngine_v5::o5_isGreaterEqual() { void ScummEngine_v5::o5_isLess() { int16 a = getVar(); int16 b = getVarOrDirectWord(0x80); - if (b < a) ignoreScriptWord(); else @@ -1388,6 +1387,15 @@ void ScummEngine_v5::o5_isLess() { void ScummEngine_v5::o5_lessOrEqual() { int16 a = getVar(); int16 b = getVarOrDirectWord(0x80); + + // WORKAROUND bug #820507 : Work around a bug in Indy3Town. + if (_gameId == GID_INDY3 && (_features & GF_FMTOWNS) && + (vm.slot[_currentScript].number == 200 || vm.slot[_currentScript].number == 203) && + _currentRoom == 70 && b == -256) { + o5_jumpRelative(); + return; + } + if (b <= a) ignoreScriptWord(); else |