mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-03 23:52:41 +00:00
SCI: changing signature of kUnLoad, adding workaround for sq1 ulence flats bug
svn-id: r50527
This commit is contained in:
parent
dcba035912
commit
cf5c60ed4f
@ -206,6 +206,12 @@ static const char *s_defaultKernelNames[] = {
|
||||
// i* -> optional multiple integers
|
||||
// .* -> any parameters afterwards (or none)
|
||||
|
||||
// gameID, scriptNr,lvl, object-name, method-name, call,index,replace
|
||||
static const SciWorkaroundEntry kUnLoad_workarounds[] = {
|
||||
{ GID_SQ1, 998, 0, "View", "delete", -1, 0, { 1, 0 } }, // exiting ulence flats bar - slotGuyBody::dispose calls view::delete resulting in parameter 1 to be a reference
|
||||
SCI_WORKAROUNDENTRY_TERMINATOR
|
||||
};
|
||||
|
||||
// gameID, scriptNr,lvl, object-name, method-name, call,index,replace
|
||||
static const SciWorkaroundEntry kDisposeScript_workarounds[] = {
|
||||
{ GID_QFG1, 64, 0, "rm64", "dispose", -1, 0, { 1, 0 } }, // parameter 0 is an object when leaving graveyard
|
||||
@ -246,11 +252,9 @@ struct SciKernelMapEntry {
|
||||
// name, version/platform, signature, sub-signatures, workarounds
|
||||
static SciKernelMapEntry s_kernelMap[] = {
|
||||
{ MAP_CALL(Load), SIG_EVERYWHERE, "iii*", NULL, NULL },
|
||||
{ MAP_CALL(UnLoad), SIG_EVERYWHERE, "i.*", NULL, NULL },
|
||||
// ^^ FIXME - Work around SQ1 bug, when exiting the Ulence flats bar
|
||||
{ MAP_CALL(UnLoad), SIG_EVERYWHERE, "ii*", NULL, kUnLoad_workarounds },
|
||||
{ MAP_CALL(ScriptID), SIG_EVERYWHERE, "Ioi*", NULL, NULL },
|
||||
{ MAP_CALL(DisposeScript), SIG_EVERYWHERE, "ii*", NULL, kDisposeScript_workarounds },
|
||||
// ^^ FIXME - Work around QfG1 bug
|
||||
{ MAP_CALL(Clone), SIG_EVERYWHERE, "o", NULL, NULL },
|
||||
{ MAP_CALL(DisposeClone), SIG_EVERYWHERE, "o", NULL, NULL },
|
||||
{ MAP_CALL(IsObject), SIG_EVERYWHERE, ".", NULL, NULL },
|
||||
|
Loading…
Reference in New Issue
Block a user