aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-05-23 13:22:58 +0000
committerMartin Kiewitz2010-05-23 13:22:58 +0000
commitd27e32aa196afec2f2df20fea943a4b6978650b3 (patch)
tree18f236c912c8d05d30a3fbc692b4cdc8ecac6d82
parentaa4ae667a99219ef66bad260e29b468c7f6afa7e (diff)
downloadscummvm-rg350-d27e32aa196afec2f2df20fea943a4b6978650b3.tar.gz
scummvm-rg350-d27e32aa196afec2f2df20fea943a4b6978650b3.tar.bz2
scummvm-rg350-d27e32aa196afec2f2df20fea943a4b6978650b3.zip
SCI: fix regression of r49156 - if multiple songs are stored for resume-play, use the last one - fixes iceman wrong music played after going through door in room 14 - still not sure about this, added fixme
svn-id: r49157
-rw-r--r--engines/sci/sound/soundcmd.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index 925f3b2e1a..272337148c 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -1058,8 +1058,11 @@ void SoundCommandParser::updateSci0Cues() {
for (MusicList::iterator i = _music->getPlayListStart(); i != end; ++i) {
// Is the sound stopped, and the sound object updated too? If yes, skip
// this sound, as SCI0 only allows one active song
- if (((*i)->isQueued) && (!pWaitingForPlay)) {
+ if ((*i)->isQueued) {
pWaitingForPlay = (*i);
+ // FIXME (?) - in iceman 2 songs are queued when playing the door sound - if we use the first song for resuming
+ // then it's the wrong one. Both songs have same priority. Maybe the new sound function in sci0
+ // is somehow responsible
continue;
}
if ((*i)->signal == 0 && (*i)->status != kSoundPlaying)