diff options
Diffstat (limited to 'engines/scumm/script_v2.cpp')
-rw-r--r-- | engines/scumm/script_v2.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/engines/scumm/script_v2.cpp b/engines/scumm/script_v2.cpp index d13b045ed8..ff32ab033a 100644 --- a/engines/scumm/script_v2.cpp +++ b/engines/scumm/script_v2.cpp @@ -453,14 +453,6 @@ void ScummEngine_v2::writeVar(uint var, int value) { } _scummVars[var] = value; - - // HACK: Ender's hack around a bug in Maniac. If you take the last dime from - // Weird Ed's piggybank, this disables the New Kid option and runs the Jail - // cutscene. Script 116 sets var[175] to 1, which disables New Kid in - // script 164. Unfortunatly, when New Kid is reenabled (var[175] = 0) in - // script 89, script 164 isn't reran to redraw it. Why? Dunno. Hack? Yes. - if ((var == 175) && (_game.id == GID_MANIAC) && (vm.slot[_currentScript].number == 89)) - runScript(164, 0, 0, 0); } void ScummEngine_v2::getResultPosIndirect() { @@ -1167,14 +1159,22 @@ void ScummEngine_v2::o2_stopScript() { script = getVarOrDirectByte(PARAM_1); - if ((_game.id == GID_ZAK) && (_roomResource == 7) && (vm.slot[_currentScript].number == 10001)) { + if (_game.id == GID_ZAK && _roomResource == 7 && vm.slot[_currentScript].number == 10001) { // FIXME: Nasty hack for bug #771499 - // Don't let the exit script for room 7 stop the buy script (24), + // Don't let the exit script for room 7 stop the buy script (24), when // switching to the number selection keypad (script 15) if ((script == 24) && isScriptRunning(15)) return; } + if (_game.id == GID_MANIAC && _roomResource == 26 && vm.slot[_currentScript].number == 10001) { + // FIXME: Nasty hack for bug #915575 + // Don't let the exit script for room 26 stop the script (116), when + // switching to the dungeon (script 89) + if ((script == 116) && isScriptRunning(89)) + return; + } + if (script == 0) script = vm.slot[_currentScript].number; |