From 9ad4ad1abc75e6393617ea9c5ca8fdfc2c8de6c4 Mon Sep 17 00:00:00 2001 From: md5 Date: Thu, 24 Feb 2011 02:17:28 +0200 Subject: SCI: Fixed two bugs related to music fading - bug #3037594: "KQ5: Music not fading when brigands leave temple" - bug #3044844: "LONGBOW: Intro skips each first verse of song" --- engines/sci/sound/soundcmd.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 45a3e09453..0017fe0c0b 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -445,9 +445,13 @@ void SoundCommandParser::processUpdateCues(reg_t obj) { if (musicSlot->fadeCompleted) { musicSlot->fadeCompleted = false; - // We need signal for sci0 at least in iceman as well (room 14, fireworks) - writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET); if (_soundVersion <= SCI_VERSION_0_LATE) { + // We need signal for sci0 at least in iceman as well (room 14, fireworks) + // Note: We should not set the signal here when fading is done in later + // games. This fixes the dialog boxes disappearing too quickly in the + // intro of Longbow (bug #3044844). It also fixes the music not fading out + // when the bandits leave the temple in KQ5 (bug #3037594). + writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET); processStopSound(obj, false); } else { if (musicSlot->stopAfterFading) -- cgit v1.2.3