mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-22 01:39:57 +00:00
SCI32: Fix GK2 broken messages
This commit is contained in:
parent
ff855fe99c
commit
6ab1d6ac7b
@ -3388,11 +3388,35 @@ static const uint16 gk2BenchmarkPatch[] = {
|
||||
PATCH_END
|
||||
};
|
||||
|
||||
// Clicking an inventory item on the Wager paintings in rooms 8616 and 8617
|
||||
// causes a missing message error. The paintings only have responses for the
|
||||
// "Do" verb but painting:doVerb passes the incoming verb to gk2Messager:say
|
||||
// without any filtering. We fix this by always playing the "Do" message.
|
||||
//
|
||||
// Applies to: All versions
|
||||
// Responsible methods: painting:doVerb in scripts 8616 and 8617
|
||||
static const uint16 gk2WagerPaintingMessageSignature[] = {
|
||||
SIG_MAGICDWORD,
|
||||
0x38, SIG_SELECTOR16(say), // pushi say
|
||||
0x38, SIG_UINT16(0x0006), // pushi 0006
|
||||
0x67, SIG_ADDTOOFFSET(+1), // pTos noun
|
||||
0x8f, 0x01, // lsp 01 [ verb ]
|
||||
SIG_END,
|
||||
};
|
||||
|
||||
static const uint16 gk2WagerPaintingMessagePatch[] = {
|
||||
PATCH_ADDTOOFFSET(+8),
|
||||
0x39, 0x3e, // pushi 3e [ "Do" verb ]
|
||||
PATCH_END
|
||||
};
|
||||
|
||||
// script, description, signature patch
|
||||
static const SciScriptPatcherEntry gk2Signatures[] = {
|
||||
{ true, 0, "disable volume reset on startup", 1, gk2VolumeResetSignature, gk2VolumeResetPatch },
|
||||
{ true, 0, "disable video benchmarking", 1, gk2BenchmarkSignature, gk2BenchmarkPatch },
|
||||
{ true, 23, "fix inventory scroll start direction", 1, gk2InvScrollSignature, gk2InvScrollPatch },
|
||||
{ true, 8616, "fix wagner painting message", 2, gk2WagerPaintingMessageSignature, gk2WagerPaintingMessagePatch },
|
||||
{ true, 8617, "fix wagner painting message", 2, gk2WagerPaintingMessageSignature, gk2WagerPaintingMessagePatch },
|
||||
{ true, 64990, "increase number of save games (1/2)", 1, sci2NumSavesSignature1, sci2NumSavesPatch1 },
|
||||
{ true, 64990, "increase number of save games (2/2)", 1, sci2NumSavesSignature2, sci2NumSavesPatch2 },
|
||||
{ true, 64990, "disable change directory button", 1, sci2ChangeDirSignature, sci2ChangeDirPatch },
|
||||
|
@ -1246,6 +1246,8 @@ static const SciMessageWorkaroundEntry messageWorkarounds[] = {
|
||||
// audio36 for the the other has the wrong tuple, which we fix in the audio36 workarounds.
|
||||
{ GID_GK1, SCI_MEDIA_ALL, K_LANG_NONE, -1, 420, 2, 32, 3, 1, { MSG_WORKAROUND_REMAP, 420, 2, 32, 0, 1, 0, 0, 0, NULL } },
|
||||
{ GID_GK1, SCI_MEDIA_ALL, K_LANG_NONE, -1, 420, 2, 32, 0, 1, { MSG_WORKAROUND_REMAP, 420, 2, 32, 2, 1, 0, 0, 0, NULL } },
|
||||
// Clicking any item other than the dagger on theater vent in room 11853
|
||||
{ GID_GK2, SCI_MEDIA_ALL, K_LANG_NONE, -1, 1185, 4, 0, 0, 1, { MSG_WORKAROUND_REMAP, 1185, 4, 62, 0, 1, 0, 0, 0, NULL } },
|
||||
// Asking Yvette about Tut in act 2 party in floppy version - bug #10723
|
||||
// The last two sequences in this five part message reveal a murder that hasn't occurred yet.
|
||||
// We skip these as to not spoil the plot, but only in the act 2 rooms, as the message is used
|
||||
@ -1321,6 +1323,8 @@ static const SciMessageWorkaroundEntry audio36Workarounds[] = {
|
||||
// game media language room mod n v c s workaround-type mod n v c s tlk idx len text
|
||||
// Clicking money on Lorelei when dancing - bug #10819 (see message workarounds above)
|
||||
{ GID_GK1, SCI_MEDIA_CD, K_LANG_NONE, -1, 420, 2, 32, 0, 1, { MSG_WORKAROUND_REMAP, 420, 2, 32, 3, 1, 0, 0, 0, NULL } },
|
||||
// Clicking Von Glower's letter on Gabriel in room 1120
|
||||
{ GID_GK2, SCI_MEDIA_ALL, K_LANG_ENGLISH, -1, 1120, 5, 96, 0, 1, { MSG_WORKAROUND_REMAP, 1120, 5, 2, 0, 1, 0, 0, 0, NULL } },
|
||||
// Clicking Look on floor grate in room 510 - bug #10848
|
||||
{ GID_QFG4, SCI_MEDIA_CD, K_LANG_NONE, -1, 510, 23, 1, 0, 1, { MSG_WORKAROUND_REMAP, 510, 199, 1, 0, 1, 0, 0, 0, NULL } },
|
||||
// Clicking flowers on Rusalka - bug #10849 (see message workarounds above)
|
||||
|
Loading…
Reference in New Issue
Block a user