diff options
author | Martin Kiewitz | 2010-07-10 18:31:11 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-07-10 18:31:11 +0000 |
commit | a92a8d3c54f1a90c480bddc12d7f48c826bcd684 (patch) | |
tree | 92180f4bff359ac774226915113ceab16830988c /engines/sci/engine | |
parent | 790e9b0351a043d2d5e4c048a081f5f6ab24c9a9 (diff) | |
download | scummvm-rg350-a92a8d3c54f1a90c480bddc12d7f48c826bcd684.tar.gz scummvm-rg350-a92a8d3c54f1a90c480bddc12d7f48c826bcd684.tar.bz2 scummvm-rg350-a92a8d3c54f1a90c480bddc12d7f48c826bcd684.zip |
SCI: adding workaround for script error when leaving ulence flats bar in sq1
svn-id: r50787
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/kernel.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 0fd21671a0..bb00f5903b 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -247,6 +247,12 @@ static const SciWorkaroundEntry kDisposeScript_workarounds[] = { SCI_WORKAROUNDENTRY_TERMINATOR }; +// gameID, scriptNr,lvl, object-name, method-name, call, index, replace +static const SciWorkaroundEntry kUnLoad_workarounds[] = { + { GID_SQ1, 303, 0, "slotGuy", "dispose", -1, 0, { 1, 0 } }, // parameter 1 is not passed, script error when leaving ulence flats bar + SCI_WORKAROUNDENTRY_TERMINATOR +}; + struct SciKernelMapSubEntry { SciVersion fromVersion; SciVersion toVersion; @@ -552,8 +558,7 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_CALL(TimesSin), SIG_EVERYWHERE, "ii", NULL, NULL }, { "SinMult", kTimesSin, SIG_EVERYWHERE, "ii", NULL, NULL }, { MAP_CALL(TimesTan), SIG_EVERYWHERE, "ii", NULL, NULL }, - { MAP_CALL(UnLoad), SIG_EVERYWHERE, "i[ri]", NULL, NULL }, - // ^^ - in SQ1 when leaving ulence flats bar, kUnLoad is called with just one argument (FIXME?) + { MAP_CALL(UnLoad), SIG_EVERYWHERE, "i[ri]", NULL, kUnLoad_workarounds }, { MAP_CALL(ValidPath), SIG_EVERYWHERE, "r", NULL, NULL }, { MAP_CALL(Wait), SIG_EVERYWHERE, "i", NULL, NULL }, |