diff options
-rw-r--r-- | engines/sci/sfx/soundcmd.cpp | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/engines/sci/sfx/soundcmd.cpp b/engines/sci/sfx/soundcmd.cpp index abe7e7bb39..918b744c4e 100644 --- a/engines/sci/sfx/soundcmd.cpp +++ b/engines/sci/sfx/soundcmd.cpp @@ -565,29 +565,15 @@ void SoundCommandParser::cmdResumeHandle(reg_t obj, int16 value) { changeHandleStatus(obj, SOUND_STATUS_PLAYING); #else MusicEntry *musicSlot = NULL; - MusicList::iterator slotLoop = NULL; - if (!obj.segment) { - slotLoop = _music->enumPlayList(NULL); - musicSlot = *slotLoop; - } else { - musicSlot = _music->getSlot(obj); - if (!musicSlot) { - warning("cmdResumeHandle: Slot not found"); - return; - } + musicSlot = _music->getSlot(obj); + if (!musicSlot) { + warning("cmdResumeHandle: Slot not found"); + return; } - do { - PUT_SEL32V(_segMan, musicSlot->soundObj, state, kSoundPlaying); - _music->soundResume(musicSlot); - - if (slotLoop) { - slotLoop = _music->enumPlayList(slotLoop); - if (slotLoop) - musicSlot = *slotLoop; - } - } while (slotLoop); + PUT_SEL32V(_segMan, musicSlot->soundObj, state, kSoundPlaying); + _music->soundResume(musicSlot); #endif } |