aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2012-01-26 02:36:51 +0100
committerJohannes Schickel2012-01-26 02:36:51 +0100
commitd620dd90bd5db3a1d40b53be6d395e5f2bcc04b7 (patch)
tree2e955f96fb8e205b54a87e48d1dc72222ba2faa7
parent9d426cecc18bc49f1030cff117aedb1a756c7f21 (diff)
downloadscummvm-rg350-d620dd90bd5db3a1d40b53be6d395e5f2bcc04b7.tar.gz
scummvm-rg350-d620dd90bd5db3a1d40b53be6d395e5f2bcc04b7.tar.bz2
scummvm-rg350-d620dd90bd5db3a1d40b53be6d395e5f2bcc04b7.zip
AUDIO: Fix missing sounds in Simon 1 Amiga CD32.
It seems the VOC files used by Simon 1 Amiga CD32 use 128 as terminator block. Added this as a special case with a debug output when it's caught.
-rw-r--r--audio/decoders/voc.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/audio/decoders/voc.cpp b/audio/decoders/voc.cpp
index 2cd5b23d09..eb9c4e0c56 100644
--- a/audio/decoders/voc.cpp
+++ b/audio/decoders/voc.cpp
@@ -321,6 +321,11 @@ void VocStream::preProcess() {
// In case we hit a "Terminator" block we also break here.
if (_stream->eos() || block.code == 0)
break;
+ // We also allow 128 as terminator, since Simon 1 Amiga CD32 uses it.
+ if (block.code == 128) {
+ debug(3, "VocStream::preProcess: Caught 128 as terminator");
+ break;
+ }
block.length = _stream->readByte();
block.length |= _stream->readByte() << 8;