diff options
author | md5 | 2011-02-25 21:45:39 +0200 |
---|---|---|
committer | md5 | 2011-02-25 21:45:39 +0200 |
commit | 8024f406387a748718496e9592ffccb3a6a51d26 (patch) | |
tree | 5addeb4614e453fbe60d28b1354a8f7993efe288 /engines | |
parent | 63cc9de1df7326bf92da3df7d2e38f86a43be506 (diff) | |
download | scummvm-rg350-8024f406387a748718496e9592ffccb3a6a51d26.tar.gz scummvm-rg350-8024f406387a748718496e9592ffccb3a6a51d26.tar.bz2 scummvm-rg350-8024f406387a748718496e9592ffccb3a6a51d26.zip |
SCI: Changed the fix for the intro of Longbow (bug #3044844) into a hack for that scene. Fixes the freeze in LSL6 (bug #3192166). Fading in KQ5 is unaffected by this.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 0017fe0c0b..1e6d0aef87 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -445,13 +445,17 @@ void SoundCommandParser::processUpdateCues(reg_t obj) { if (musicSlot->fadeCompleted) { musicSlot->fadeCompleted = false; - 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). + // We need signal for sci0 at least in iceman as well (room 14, + // fireworks). + // It is also needed in other games, e.g. LSL6 when talking to the + // receptionist (bug #3192166). + if (g_sci->getGameId() == GID_LONGBOW && g_sci->getEngineState()->currentRoomNumber() == 95) { + // HACK: Don't set a signal here in the intro of Longbow, as that makes some dialog + // boxes disappear too soon (bug #3044844). + } else { writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET); + } + if (_soundVersion <= SCI_VERSION_0_LATE) { processStopSound(obj, false); } else { if (musicSlot->stopAfterFading) |