SCI32: Add workarounds for a bug in Torin, in an animation of Lycentia
This commit is contained in:
parent
796c40dc59
commit
380902eb07
3 changed files with 11 additions and 1 deletions
|
@ -717,7 +717,7 @@ static SciKernelMapEntry s_kernelMap[] = {
|
||||||
{ MAP_CALL(Portrait), SIG_EVERYWHERE, "i(.*)", NULL, NULL }, // subop
|
{ MAP_CALL(Portrait), SIG_EVERYWHERE, "i(.*)", NULL, NULL }, // subop
|
||||||
{ MAP_CALL(PrevNode), SIG_EVERYWHERE, "n", NULL, NULL },
|
{ MAP_CALL(PrevNode), SIG_EVERYWHERE, "n", NULL, NULL },
|
||||||
{ MAP_CALL(PriCoord), SIG_EVERYWHERE, "i", NULL, NULL },
|
{ MAP_CALL(PriCoord), SIG_EVERYWHERE, "i", NULL, NULL },
|
||||||
{ MAP_CALL(Random), SIG_EVERYWHERE, "i(i)(i)", NULL, NULL },
|
{ MAP_CALL(Random), SIG_EVERYWHERE, "i(i)(i)", NULL, kRandom_workarounds },
|
||||||
{ MAP_CALL(ReadNumber), SIG_EVERYWHERE, "r", NULL, kReadNumber_workarounds },
|
{ MAP_CALL(ReadNumber), SIG_EVERYWHERE, "r", NULL, kReadNumber_workarounds },
|
||||||
{ MAP_CALL(RemapColors), SIG_SCI11, SIGFOR_ALL, "i(i)(i)(i)(i)", NULL, NULL },
|
{ MAP_CALL(RemapColors), SIG_SCI11, SIGFOR_ALL, "i(i)(i)(i)(i)", NULL, NULL },
|
||||||
#ifdef ENABLE_SCI32
|
#ifdef ENABLE_SCI32
|
||||||
|
|
|
@ -88,6 +88,7 @@ const SciWorkaroundEntry arithmeticWorkarounds[] = {
|
||||||
{ GID_QFG2, 200, 200, 0, "astro", "messages", NULL, 0, { WORKAROUND_FAKE, 0 } }, // op_lsi: when getting asked for your name by the astrologer - bug #5152
|
{ GID_QFG2, 200, 200, 0, "astro", "messages", NULL, 0, { WORKAROUND_FAKE, 0 } }, // op_lsi: when getting asked for your name by the astrologer - bug #5152
|
||||||
{ GID_QFG3, 780, 999, 0, "", "export 6", NULL, 0, { WORKAROUND_FAKE, 0 } }, // op_add: trying to talk to yourself at the top of the giant tree - bug #6692
|
{ GID_QFG3, 780, 999, 0, "", "export 6", NULL, 0, { WORKAROUND_FAKE, 0 } }, // op_add: trying to talk to yourself at the top of the giant tree - bug #6692
|
||||||
{ GID_QFG4, 710,64941, 0, "RandCycle", "doit", NULL, 0, { WORKAROUND_FAKE, 1 } }, // op_gt: when the tentacle appears in the third room of the caves
|
{ GID_QFG4, 710,64941, 0, "RandCycle", "doit", NULL, 0, { WORKAROUND_FAKE, 1 } }, // op_gt: when the tentacle appears in the third room of the caves
|
||||||
|
{ GID_TORIN, 51400,64928, 0, "Blink", "init", NULL, 0, { WORKAROUND_FAKE, 1 } }, // op_div: when Lycentia knocks Torin out after he removes her collar
|
||||||
SCI_WORKAROUNDENTRY_TERMINATOR
|
SCI_WORKAROUNDENTRY_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -674,6 +675,14 @@ const SciWorkaroundEntry kPalVarySetPercent_workarounds[] = {
|
||||||
SCI_WORKAROUNDENTRY_TERMINATOR
|
SCI_WORKAROUNDENTRY_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// gameID, room,script,lvl, object-name, method-name, local-call-signature, index, workaround
|
||||||
|
const SciWorkaroundEntry kRandom_workarounds[] = {
|
||||||
|
{ GID_TORIN, 51400,64928, 0, "Blink", "init", NULL, 0, { WORKAROUND_STILLCALL, 0 } }, // when Lycentia knocks Torin out after he removes her collar
|
||||||
|
{ GID_TORIN, 51400,64928, 0, "Blink", "cycleDone", NULL, 0, { WORKAROUND_STILLCALL, 0 } }, // when Lycentia knocks Torin out after he removes her collar
|
||||||
|
SCI_WORKAROUNDENTRY_TERMINATOR
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// gameID, room,script,lvl, object-name, method-name, local-call-signature, index, workaround
|
// gameID, room,script,lvl, object-name, method-name, local-call-signature, index, workaround
|
||||||
const SciWorkaroundEntry kReadNumber_workarounds[] = {
|
const SciWorkaroundEntry kReadNumber_workarounds[] = {
|
||||||
{ GID_CNICK_LAURABOW,100, 101, 0, "dominoes.opt", "doit", NULL, 0, { WORKAROUND_STILLCALL, 0 } }, // When dominoes.opt is present, the game scripts call kReadNumber with an extra integer parameter - bug #6425
|
{ GID_CNICK_LAURABOW,100, 101, 0, "dominoes.opt", "doit", NULL, 0, { WORKAROUND_STILLCALL, 0 } }, // When dominoes.opt is present, the game scripts call kReadNumber with an extra integer parameter - bug #6425
|
||||||
|
|
|
@ -91,6 +91,7 @@ extern const SciWorkaroundEntry kMemory_workarounds[];
|
||||||
extern const SciWorkaroundEntry kMoveCursor_workarounds[];
|
extern const SciWorkaroundEntry kMoveCursor_workarounds[];
|
||||||
extern const SciWorkaroundEntry kNewWindow_workarounds[];
|
extern const SciWorkaroundEntry kNewWindow_workarounds[];
|
||||||
extern const SciWorkaroundEntry kPalVarySetPercent_workarounds[];
|
extern const SciWorkaroundEntry kPalVarySetPercent_workarounds[];
|
||||||
|
extern const SciWorkaroundEntry kRandom_workarounds[];
|
||||||
extern const SciWorkaroundEntry kReadNumber_workarounds[];
|
extern const SciWorkaroundEntry kReadNumber_workarounds[];
|
||||||
extern const SciWorkaroundEntry kPaletteUnsetFlag_workarounds[];
|
extern const SciWorkaroundEntry kPaletteUnsetFlag_workarounds[];
|
||||||
extern const SciWorkaroundEntry kSetCursor_workarounds[];
|
extern const SciWorkaroundEntry kSetCursor_workarounds[];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue