diff options
author | Filippos Karapetis | 2010-07-14 02:28:17 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-07-14 02:28:17 +0000 |
commit | ab36bdfd003d51d399e7e0c7fbf16390b6253f24 (patch) | |
tree | d1a2953c6b6419ae0c53a0bbe758c8efad7ab15a /engines/sci | |
parent | 1cb53050835e443bad589d035b9a5f91b600e338 (diff) | |
download | scummvm-rg350-ab36bdfd003d51d399e7e0c7fbf16390b6253f24.tar.gz scummvm-rg350-ab36bdfd003d51d399e7e0c7fbf16390b6253f24.tar.bz2 scummvm-rg350-ab36bdfd003d51d399e7e0c7fbf16390b6253f24.zip |
SCI: Fixed script bug (invalid call to kStrCpy) in Island of Dr. Brain, room 260 (Hominy Homonym puzzle)
svn-id: r50865
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kernel.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 1e97671613..18439bc7bc 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -271,6 +271,12 @@ static const SciWorkaroundEntry kUnLoad_workarounds[] = { SCI_WORKAROUNDENTRY_TERMINATOR }; +// gameID, scriptNr,lvl, object-name, method-name, call, index, replace +static const SciWorkaroundEntry kStrCpy_workarounds[] = { + { GID_ISLANDBRAIN, 45, 0, "aWord", "addOn", -1, 0, { 0, 0 } }, // Hominy Homonym puzzle, room 260 + SCI_WORKAROUNDENTRY_TERMINATOR +}; + struct SciKernelMapSubEntry { SciVersion fromVersion; SciVersion toVersion; @@ -613,7 +619,7 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_CALL(StrAt), SIG_EVERYWHERE, "ri(i)", NULL, NULL }, { MAP_CALL(StrCat), SIG_EVERYWHERE, "rr", NULL, NULL }, { MAP_CALL(StrCmp), SIG_EVERYWHERE, "rr(i)", NULL, NULL }, - { MAP_CALL(StrCpy), SIG_EVERYWHERE, "[r0]r(i)", NULL, NULL }, + { MAP_CALL(StrCpy), SIG_EVERYWHERE, "[r0]r(i)", NULL, kStrCpy_workarounds }, { MAP_CALL(StrEnd), SIG_EVERYWHERE, "r", NULL, NULL }, { MAP_CALL(StrLen), SIG_EVERYWHERE, "[r0]", NULL, NULL }, { MAP_CALL(StrSplit), SIG_EVERYWHERE, "rr[r0]", NULL, NULL }, |