SCI: Add 2 workarounds for script bugs in QFG4
This commit is contained in:
parent
f2464dc474
commit
182f342a01
2 changed files with 6 additions and 1 deletions
|
@ -156,7 +156,7 @@ static const SciKernelMapSubEntry kDoSound_subops[] = {
|
||||||
// signature for SCI21 should be "o"
|
// signature for SCI21 should be "o"
|
||||||
{ SIG_SOUNDSCI21, 9, MAP_CALL(DoSoundStop), NULL, NULL },
|
{ SIG_SOUNDSCI21, 9, MAP_CALL(DoSoundStop), NULL, NULL },
|
||||||
{ SIG_SOUNDSCI21, 10, MAP_CALL(DoSoundPause), NULL, NULL },
|
{ SIG_SOUNDSCI21, 10, MAP_CALL(DoSoundPause), NULL, NULL },
|
||||||
{ SIG_SOUNDSCI21, 11, MAP_CALL(DoSoundFade), NULL, NULL },
|
{ SIG_SOUNDSCI21, 11, MAP_CALL(DoSoundFade), NULL, kDoSoundFade_workarounds },
|
||||||
{ SIG_SOUNDSCI21, 12, MAP_CALL(DoSoundSetHold), NULL, NULL },
|
{ SIG_SOUNDSCI21, 12, MAP_CALL(DoSoundSetHold), NULL, NULL },
|
||||||
{ SIG_SOUNDSCI21, 13, MAP_CALL(DoSoundDummy), NULL, NULL },
|
{ SIG_SOUNDSCI21, 13, MAP_CALL(DoSoundDummy), NULL, NULL },
|
||||||
{ SIG_SOUNDSCI21, 14, MAP_CALL(DoSoundSetVolume), NULL, NULL },
|
{ SIG_SOUNDSCI21, 14, MAP_CALL(DoSoundSetVolume), NULL, NULL },
|
||||||
|
@ -202,7 +202,10 @@ static const SciKernelMapSubEntry kPalVary_subops[] = {
|
||||||
{ SIG_SCIALL, 4, MAP_CALL(PalVaryChangeTarget), "i", NULL },
|
{ SIG_SCIALL, 4, MAP_CALL(PalVaryChangeTarget), "i", NULL },
|
||||||
{ SIG_SCIALL, 5, MAP_CALL(PalVaryChangeTicks), "i", NULL },
|
{ SIG_SCIALL, 5, MAP_CALL(PalVaryChangeTicks), "i", NULL },
|
||||||
{ SIG_SCIALL, 6, MAP_CALL(PalVaryPauseResume), "i", NULL },
|
{ SIG_SCIALL, 6, MAP_CALL(PalVaryPauseResume), "i", NULL },
|
||||||
|
#ifdef ENABLE_SCI32
|
||||||
{ SIG_SCI32, 8, MAP_CALL(PalVaryUnknown), "i", NULL },
|
{ SIG_SCI32, 8, MAP_CALL(PalVaryUnknown), "i", NULL },
|
||||||
|
{ SIG_SCI32, 9, MAP_CALL(PalVaryUnknown2), "i", NULL },
|
||||||
|
#endif
|
||||||
SCI_SUBOPENTRY_TERMINATOR
|
SCI_SUBOPENTRY_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -151,6 +151,7 @@ const SciWorkaroundEntry uninitializedReadWorkarounds[] = {
|
||||||
{ GID_QFG4, -1, 15, -1, "charInitScreen", "dispatchEvent", -1, 5, { WORKAROUND_FAKE, 0 } }, // floppy version, when viewing the character screen
|
{ GID_QFG4, -1, 15, -1, "charInitScreen", "dispatchEvent", -1, 5, { WORKAROUND_FAKE, 0 } }, // floppy version, when viewing the character screen
|
||||||
{ GID_QFG4, -1, 64917, -1, "controlPlane", "setBitmap", -1, 3, { WORKAROUND_FAKE, 0 } }, // floppy version, when entering the game menu
|
{ GID_QFG4, -1, 64917, -1, "controlPlane", "setBitmap", -1, 3, { WORKAROUND_FAKE, 0 } }, // floppy version, when entering the game menu
|
||||||
{ GID_QFG4, -1, 64917, -1, "Plane", "setBitmap", -1, 3, { WORKAROUND_FAKE, 0 } }, // floppy version, happens sometimes in fight scenes
|
{ GID_QFG4, -1, 64917, -1, "Plane", "setBitmap", -1, 3, { WORKAROUND_FAKE, 0 } }, // floppy version, happens sometimes in fight scenes
|
||||||
|
{ GID_QFG4, 800, 64950, 0, "View", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // CD version, in the room with the spider pillar, when climbing on the pillar
|
||||||
{ GID_RAMA, 12, 64950, -1, "InterfaceFeature", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // Demo, right when it starts
|
{ GID_RAMA, 12, 64950, -1, "InterfaceFeature", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // Demo, right when it starts
|
||||||
{ GID_RAMA, 12, 64950, -1, "hiliteOptText", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // Demo, right when it starts
|
{ GID_RAMA, 12, 64950, -1, "hiliteOptText", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // Demo, right when it starts
|
||||||
{ GID_RAMA, 12, 64950, -1, "View", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // Demo, right when it starts
|
{ GID_RAMA, 12, 64950, -1, "View", "handleEvent", -1, 0, { WORKAROUND_FAKE, 0 } }, // Demo, right when it starts
|
||||||
|
@ -246,6 +247,7 @@ const SciWorkaroundEntry kDoSoundFade_workarounds[] = {
|
||||||
{ GID_KQ5, 213, 989, 0, "globalSound3", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // english floppy: when bandits leave the secret temple, parameter 4 is an object - bug #3037594
|
{ GID_KQ5, 213, 989, 0, "globalSound3", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // english floppy: when bandits leave the secret temple, parameter 4 is an object - bug #3037594
|
||||||
{ GID_KQ6, 105, 989, 0, "globalSound", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // floppy: during intro, parameter 4 is an object
|
{ GID_KQ6, 105, 989, 0, "globalSound", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // floppy: during intro, parameter 4 is an object
|
||||||
{ GID_KQ6, 460, 989, 0, "globalSound2", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // after pulling the black widow's web on the isle of wonder, parameter 4 is an object - bug #3034567
|
{ GID_KQ6, 460, 989, 0, "globalSound2", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // after pulling the black widow's web on the isle of wonder, parameter 4 is an object - bug #3034567
|
||||||
|
{ GID_QFG4, -1, 64989, 0, "longSong", "fade", -1, 0, { WORKAROUND_STILLCALL, 0 } }, // CD version: many places, parameter 4 is an object (longSong)
|
||||||
SCI_WORKAROUNDENTRY_TERMINATOR
|
SCI_WORKAROUNDENTRY_TERMINATOR
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue