diff options
author | Willem Jan Palenstijn | 2013-04-06 19:05:12 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-04-06 20:31:34 +0200 |
commit | 18feefbe40c06143e27fe45fbe8c5e05455a0294 (patch) | |
tree | 869059eec13966621079bd87c103fc108b739106 /engines | |
parent | eb4832524841db53cf2ee638552283db5a7b0c96 (diff) | |
download | scummvm-rg350-18feefbe40c06143e27fe45fbe8c5e05455a0294.tar.gz scummvm-rg350-18feefbe40c06143e27fe45fbe8c5e05455a0294.tar.bz2 scummvm-rg350-18feefbe40c06143e27fe45fbe8c5e05455a0294.zip |
SCI: Notify scripts of completed fade when aborting it
This tweaks a fix/workaround (commit 96540686) for bugs #3266480 and #3041738.
Also add CHECKME to verify the accuracy of this workaround further.
This fixes the regressions #3291115, #3555404, #3596335 and #3610063.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/sound/music.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index a8a65d2aa4..913ba32cba 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -485,6 +485,8 @@ void SciMusic::soundPlay(MusicEntry *pSnd) { // Stop any in progress music fading, as that will reset the // volume of the sound channels that the faded song occupies.. // Fixes bug #3266480 and partially fixes bug #3041738. + // CHECKME: Is this the right thing to do? Are these + // overlapping channels not a deeper underlying problem? for (uint i = 0; i < playListCount; i++) { // Is another MIDI song being faded down? If yes, stop it // immediately instead @@ -495,6 +497,7 @@ void SciMusic::soundPlay(MusicEntry *pSnd) { _playList[i]->pMidiParser->stop(); freeChannels(_playList[i]); _playList[i]->fadeStep = 0; + _playList[i]->fadeCompleted = true; } } } |