From 16fab2d480bfc586098778fef95ee0d1af66d8fd Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 21 Aug 2018 03:34:40 +0300 Subject: SCI32: Ignore invalid kernel call when toggling the music in Hoyle 5 --- engines/sci/sound/soundcmd.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 54fdcf5f8f..7012746c80 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -634,6 +634,12 @@ reg_t SoundCommandParser::kDoSoundSendMidi(EngineState *s, int argc, reg_t *argv uint16 controller = (argc == 5) ? argv[3].toUint16() : argv[2].toUint16(); uint16 param = (argc == 5) ? argv[4].toUint16() : argv[3].toUint16(); + // This call is made in Hoyle 5 when toggling the music from the main menu. + // Ignore it for this game, since it doesn't use MIDI audio, and this call + // looks to be a leftover in Sound::mute (script 64989). + if (g_sci->getGameId() == GID_HOYLE5) + return s->r_acc; + if (argc == 4 && controller == 0xFF) { midiCmd = 0xE0; // 0xE0: pitch wheel uint16 pitch = CLIP(argv[3].toSint16() + 0x2000, 0x0000, 0x3FFF); -- cgit v1.2.3