aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-20 11:29:56 +0000
committerMartin Kiewitz2010-07-20 11:29:56 +0000
commit3c97772d6e5aa05c7991d4114824fb0d7b5ff551 (patch)
tree8b8440800178d9c270ea7ace6d3ebc7c041f227c
parenta24de29358a94941190044aaadaf3d2003486888 (diff)
downloadscummvm-rg350-3c97772d6e5aa05c7991d4114824fb0d7b5ff551.tar.gz
scummvm-rg350-3c97772d6e5aa05c7991d4114824fb0d7b5ff551.tar.bz2
scummvm-rg350-3c97772d6e5aa05c7991d4114824fb0d7b5ff551.zip
SCI: added workaround for kq1 kDoSound(fade)
gets called with object 0:0 in several scenes, just ignore that call svn-id: r51059
-rw-r--r--engines/sci/engine/kernel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp
index 5f919fee62..79b9d506c7 100644
--- a/engines/sci/engine/kernel.cpp
+++ b/engines/sci/engine/kernel.cpp
@@ -237,6 +237,7 @@ static const SciWorkaroundEntry kDisposeScript_workarounds[] = {
// gameID, room,script,lvl, object-name, method-name, call, index, replace
static const SciWorkaroundEntry kDoSoundFade_workarounds[] = {
+ { GID_KQ1, -1, 989, 0, "gameSound", "fade", -1, 0, { 1, 0 } }, // gets called in several scenes (e.g. graham cracker) with 0:0
{ GID_KQ6, 105, 989, 0, "globalSound", "fade", -1, 0, { 0, 0 } }, // floppy: during intro, parameter 4 is an object
SCI_WORKAROUNDENTRY_TERMINATOR
};
@@ -340,7 +341,7 @@ static const SciKernelMapSubEntry kDoSound_subops[] = {
{ SIG_SOUNDSCI0, 7, MAP_CALL(DoSoundResumeAfterRestore), "", NULL },
{ SIG_SOUNDSCI0, 8, MAP_CALL(DoSoundMasterVolume), "(i)", NULL },
{ SIG_SOUNDSCI0, 9, MAP_CALL(DoSoundUpdate), "o", NULL },
- { SIG_SOUNDSCI0, 10, MAP_CALL(DoSoundFade), "o", NULL },
+ { SIG_SOUNDSCI0, 10, MAP_CALL(DoSoundFade), "o", kDoSoundFade_workarounds },
{ SIG_SOUNDSCI0, 11, MAP_CALL(DoSoundGetPolyphony), "", NULL },
{ SIG_SOUNDSCI0, 12, MAP_CALL(DoSoundStopAll), "", NULL },
{ SIG_SOUNDSCI1EARLY, 0, MAP_CALL(DoSoundMasterVolume), NULL, NULL },