diff options
| -rw-r--r-- | engines/sci/engine/kernel_tables.h | 2 | ||||
| -rw-r--r-- | engines/sci/engine/workarounds.cpp | 6 | ||||
| -rw-r--r-- | engines/sci/engine/workarounds.h | 1 | 
3 files changed, 8 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 589a1f68a3..af8e2d8f70 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -225,7 +225,7 @@ static const SciKernelMapSubEntry kDoAudio_subops[] = {  	{ SIG_SCI32,           2, MAP_CALL(DoAudioPlay),               "(i)(i)(i)(i)(i)(i)(i)", NULL },  	{ SIG_SCI32,           3, MAP_CALL(DoAudioStop),               "(i)(i)(i)(i)(i)",      NULL },  	{ SIG_SCI32,           4, MAP_CALL(DoAudioPause),              "(i)(i)(i)(i)(i)",      NULL }, -	{ SIG_SCI32,           5, MAP_CALL(DoAudioResume),             "(i)(i)(i)(i)(i)",      NULL }, +	{ SIG_SCI32,           5, MAP_CALL(DoAudioResume),             "(i)(i)(i)(i)(i)",      kDoAudioResume_workarounds },  	{ SIG_SCI32,           6, MAP_CALL(DoAudioPosition),           "(i)(i)(i)(i)(i)",      NULL },  	{ SIG_SCI32,           7, MAP_CALL(DoAudioRate),               "(i)",                  NULL },  	{ SIG_SCI32,           8, MAP_CALL(DoAudioVolume),             "(i)(i)(i)(i)(i)(i)",   NULL }, diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index 659fa68384..a627033500 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -560,6 +560,12 @@ const SciWorkaroundEntry kDisposeScript_workarounds[] = {  };  //    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround +const SciWorkaroundEntry kDoAudioResume_workarounds[] = { +	{ GID_HOYLE5,         -1,    17,  0,                 NULL, "startAudio",                NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // when a character talks during a game +	SCI_WORKAROUNDENTRY_TERMINATOR +}; + +//    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround  const SciWorkaroundEntry kDoSoundPlay_workarounds[] = {  	{ GID_LSL6HIRES,    -1,  64989,   0,          NULL,          "play",                    NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // always passes an extra null argument  	{ GID_QFG4,         -1,  64989,   0,          NULL,          "play",                    NULL,     0, { WORKAROUND_STILLCALL, 0 } }, // always passes an extra null argument diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h index cb928faf09..960c01efdd 100644 --- a/engines/sci/engine/workarounds.h +++ b/engines/sci/engine/workarounds.h @@ -68,6 +68,7 @@ extern const SciWorkaroundEntry kDeviceInfo_workarounds[];  extern const SciWorkaroundEntry kDisplay_workarounds[];  extern const SciWorkaroundEntry kDirLoop_workarounds[];  extern const SciWorkaroundEntry kDisposeScript_workarounds[]; +extern const SciWorkaroundEntry kDoAudioResume_workarounds[];  extern const SciWorkaroundEntry kDoSoundPlay_workarounds[];  extern const SciWorkaroundEntry kDoSoundFade_workarounds[];  extern const SciWorkaroundEntry kFileIOOpen_workarounds[];  | 
