From d204f97beb9dc3791d1a01959735bc3c4049318c Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 2 Mar 2010 00:18:00 +0000 Subject: Fix bug #2961530 - Zak/FM-Towns: Game hangs when using monkey wrench. svn-id: r48158 --- engines/scumm/sound.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index a87bc835ec..19be224356 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -349,8 +349,12 @@ void Sound::playSound(int soundID) { } size -= waveSize; - Audio::SeekableAudioStream *s = Audio::makeRawStream(sound, waveSize, rate, Audio::FLAG_UNSIGNED); - stream = new Audio::SubLoopingAudioStream(s, 0, Audio::Timestamp(0, loopStart, rate), Audio::Timestamp(0, loopEnd, rate)); + if (loopEnd > 0) { + Audio::SeekableAudioStream *s = Audio::makeRawStream(sound, waveSize, rate, Audio::FLAG_UNSIGNED); + stream = new Audio::SubLoopingAudioStream(s, 0, Audio::Timestamp(0, loopStart, rate), Audio::Timestamp(0, loopEnd, rate)); + } else { + stream = Audio::makeRawStream(sound, waveSize, rate, Audio::FLAG_UNSIGNED); + } _mixer->playInputStream(Audio::Mixer::kSFXSoundType, NULL, stream, soundID, 255, 0); } break; -- cgit v1.2.3