Skip to content

Commit

Permalink
SCI: Changed the fix for the intro of Longbow (bug #3044844) into a h…
Browse files Browse the repository at this point in the history
…ack for that scene. Fixes the freeze in LSL6 (bug #3192166). Fading in KQ5 is unaffected by this.
  • Loading branch information
bluegr committed Feb 25, 2011
1 parent 63cc9de commit 8024f40
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions engines/sci/sound/soundcmd.cpp
Expand Up @@ -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)
Expand Down

0 comments on commit 8024f40

Please sign in to comment.