aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/sound/wave_file.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/sound/wave_file.cpp')
-rw-r--r--engines/titanic/sound/wave_file.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/titanic/sound/wave_file.cpp b/engines/titanic/sound/wave_file.cpp
index 8a4755ac97..c1aab42a7f 100644
--- a/engines/titanic/sound/wave_file.cpp
+++ b/engines/titanic/sound/wave_file.cpp
@@ -204,10 +204,15 @@ void CWaveFile::unlock(const int16 *ptr) {
// No implementation needed in ScummVM
}
-Audio::SoundHandle CWaveFile::play(byte volume) {
- Audio::SeekableAudioStream *stream = createAudioStream();
+Audio::SoundHandle CWaveFile::play(int numLoops, byte volume) {
+ Audio::SeekableAudioStream *audioStream = createAudioStream();
Audio::SoundHandle handle;
+ Audio::AudioStream *stream = audioStream;
+ if (numLoops != 0)
+ stream = new Audio::LoopingAudioStream(audioStream,
+ (numLoops == -1) ? 0 : numLoops);
+
_mixer->playStream(_soundType, &handle, stream, -1,
volume, 0, DisposeAfterUse::NO);
return handle;