From 0ceeee8148524fc36c3a9b3e7640b987867ecb19 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 29 Jan 2012 17:07:38 +1100 Subject: SCUMM: Add script number differences in SCUMM V0, for two work arounds in Maniac Mansion. --- engines/scumm/script_v2.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'engines') 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; } -- cgit v1.2.3