diff options
author | Martin Kiewitz | 2013-12-04 20:42:50 +0100 |
---|---|---|
committer | Martin Kiewitz | 2013-12-04 20:42:50 +0100 |
commit | eaf6367bb26b95af7e27ebbbb090664a3ad04e65 (patch) | |
tree | f4acee388f2591f0cfa0848aa337f9cca5733c0d /engines/sci/sound/soundcmd.cpp | |
parent | 8bdffcb2fb7aefc96aa10fde1bebd372233cac9d (diff) | |
parent | 203f562d375ac5c7cc665c8feac4020f8de2a5ff (diff) | |
download | scummvm-rg350-eaf6367bb26b95af7e27ebbbb090664a3ad04e65.tar.gz scummvm-rg350-eaf6367bb26b95af7e27ebbbb090664a3ad04e65.tar.bz2 scummvm-rg350-eaf6367bb26b95af7e27ebbbb090664a3ad04e65.zip |
Merge branch 'master' of github.com:scummvm/scummvm
Diffstat (limited to 'engines/sci/sound/soundcmd.cpp')
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index e36c5705ab..aa2a309f4d 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -508,9 +508,19 @@ 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) + // SCI1middle LSL1 1.000.510 does not have the 0xFE; + // SCI1late CastleDrBrain demo 1.000.005 does have the 0xFE. + // * Other SCI1 games seem to rely on processStopSound to set the signal + // * Need to check SCI0 behaviour. + uint16 sig; + if (getSciVersion() >= 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 { |