diff options
author | Travis Howell | 2012-01-29 17:07:38 +1100 |
---|---|---|
committer | Travis Howell | 2012-01-29 17:07:38 +1100 |
commit | 0ceeee8148524fc36c3a9b3e7640b987867ecb19 (patch) | |
tree | cb0e66c9a49b9c32fb8cc1d91093d2f0b17efb8c /engines/scumm | |
parent | 885a29a1def4cb8c9f5da1c6a4967b49bdcde63a (diff) | |
download | scummvm-rg350-0ceeee8148524fc36c3a9b3e7640b987867ecb19.tar.gz scummvm-rg350-0ceeee8148524fc36c3a9b3e7640b987867ecb19.tar.bz2 scummvm-rg350-0ceeee8148524fc36c3a9b3e7640b987867ecb19.zip |
SCUMM: Add script number differences in SCUMM V0, for two work arounds in Maniac Mansion.
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/script_v2.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/engines/scumm/script_v2.cpp b/engines/scumm/script_v2.cpp index 7f02e899b4..edb046d571 100644 --- a/engines/scumm/script_v2.cpp +++ b/engines/scumm/script_v2.cpp @@ -1171,9 +1171,15 @@ void ScummEngine_v2::o2_startScript() { // imprisonment of the player), then any attempt to start script 87 // (which makes Ted go answer the door bell) is simply ignored. This // way, the door bell still chimes, but Ted ignores it. - if (_game.id == GID_MANIAC && script == 87) { - if (isScriptRunning(88) || isScriptRunning(89)) { - return; + if (_game.id == GID_MANIAC) { + if (_game.version >= 1 && script == 87) { + if (isScriptRunning(88) || isScriptRunning(89)) + return; + } + // Script numbers are different in V0 + if (_game.version == 0 && script == 82) { + if (isScriptRunning(83) || isScriptRunning(84)) + return; } } @@ -1189,7 +1195,10 @@ void ScummEngine_v2::o2_stopScript() { // 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)) + if (_game.version >= 1 && script == 116 && isScriptRunning(89)) + return; + // Script numbers are different in V0 + if (_game.version == 0 && script == 111 && isScriptRunning(84)) return; } |