aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agi/sound.cpp')
-rw-r--r--engines/agi/sound.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp
index da5a18330c..63d204f98e 100644
--- a/engines/agi/sound.cpp
+++ b/engines/agi/sound.cpp
@@ -157,6 +157,10 @@ bool IIgsWaveInfo::finalize(Common::SeekableReadStream &uint8Wave) {
for (uint i = 0; i < size; i++) {
if (uint8Wave.readByte() == 0) {
trueSize = i;
+ // A zero in the sample stream turns off looping
+ // (At least that's what MESS 0.117 and KEGS32 0.91 seem to do)
+ if (mode == OSC_MODE_LOOP)
+ mode = OSC_MODE_ONESHOT;
break;
}
}