aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/sound.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2018-12-14 20:37:22 -0800
committerPaul Gilbert2018-12-14 20:37:22 -0800
commit1d12eb4c11d2ae89c4b06d86d6af98b5ef02f8fe (patch)
tree7f4313d57b241cf141f0d6388a590d87012637b7 /engines/glk/sound.cpp
parent3546f77995f2a0f066e4cb618264621665b4ec4a (diff)
downloadscummvm-rg350-1d12eb4c11d2ae89c4b06d86d6af98b5ef02f8fe.tar.gz
scummvm-rg350-1d12eb4c11d2ae89c4b06d86d6af98b5ef02f8fe.tar.bz2
scummvm-rg350-1d12eb4c11d2ae89c4b06d86d6af98b5ef02f8fe.zip
GLK: FROTZ: Fix sound looping
Diffstat (limited to 'engines/glk/sound.cpp')
-rw-r--r--engines/glk/sound.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/glk/sound.cpp b/engines/glk/sound.cpp
index 1012c2040f..7a93b772f9 100644
--- a/engines/glk/sound.cpp
+++ b/engines/glk/sound.cpp
@@ -100,7 +100,9 @@ uint SoundChannel::play(uint soundNum, uint repeats, uint notify) {
if (f.exists(nameSnd) && f.open(nameSnd)) {
if (f.readUint16BE() != (f.size() - 2))
error("Invalid sound filesize");
- repeats = f.readByte();
+ byte headerRepeats = f.readByte();
+ if (headerRepeats > 0)
+ repeats = headerRepeats;
f.skip(1);
uint freq = f.readUint16BE();
f.skip(2);