Skip to content

Commit

Permalink
SCI: Fix SCI1late fade complete signal
Browse files Browse the repository at this point in the history
This fixes duplicate music playing in LauraBow2CD (#6462)
  • Loading branch information
wjp committed Nov 23, 2013
1 parent 6795fdf commit 35617bf
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions engines/sci/sound/soundcmd.cpp
Expand Up @@ -508,9 +508,17 @@ void SoundCommandParser::processUpdateCues(reg_t obj) {
// fireworks).
// It is also needed in other games, e.g. LSL6 when talking to the
// receptionist (bug #3192166).
// CHECKME: At least kq5cd/win and kq6 set signal to 0xFE here, but
// kq5cd/dos does not set signal at all. Needs more investigation.
writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET);
// TODO: More thorougly check the different SCI version:
// * SCI1late sets signal to 0xFE here. (With signal 0xFF
// duplicate music plays in LauraBow2CD - bug #6462)
// * Other SCI1 games seem to rely on processStopSound to set the signal
// * Need to check SCI0 behaviour.
uint16 sig;
if (_soundVersion >= SCI_VERSION_1_LATE)
sig = 0xFFFE;
else
sig = SIGNAL_OFFSET;
writeSelectorValue(_segMan, obj, SELECTOR(signal), sig);
if (_soundVersion <= SCI_VERSION_0_LATE) {
processStopSound(obj, false);
} else {
Expand Down

0 comments on commit 35617bf

Please sign in to comment.