From d27e32aa196afec2f2df20fea943a4b6978650b3 Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Sun, 23 May 2010 13:22:58 +0000 Subject: [PATCH] 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 --- engines/sci/sound/soundcmd.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 925f3b2e1a0..272337148ca 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)