aboutsummaryrefslogtreecommitdiff
path: root/scumm/sound.cpp
diff options
context:
space:
mode:
authorTravis Howell2005-04-09 07:25:41 +0000
committerTravis Howell2005-04-09 07:25:41 +0000
commit4f085516437369eccf22c96d84362f4d39c1448b (patch)
tree2c6c6495bb796d00b3505f16540587e10cac9e87 /scumm/sound.cpp
parent73d1d63f1502a94eb27fc3186b8e012e342de87d (diff)
downloadscummvm-rg350-4f085516437369eccf22c96d84362f4d39c1448b.tar.gz
scummvm-rg350-4f085516437369eccf22c96d84362f4d39c1448b.tar.bz2
scummvm-rg350-4f085516437369eccf22c96d84362f4d39c1448b.zip
Add comment to TODO
Check that string pointer exists, before reading data. Don't attempt to play speech in soccer2004, since it uses compression. svn-id: r17470
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r--scumm/sound.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index 2c945e2de8..60d183bf47 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -682,8 +682,14 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, SoundHandle *handl
if (_vm->_features & GF_HUMONGOUS) {
_sfxMode |= mode;
- // Skip the TALK (8) and HSHD (24) chunks
- _sfxFile->seek(offset + 32, SEEK_SET);
+ _sfxFile->seek(offset, SEEK_SET);
+ if (_sfxFile->readUint32LE() == TO_LE_32(MKID('WSOU'))) {
+ debug(1, "IMA ADPCM compression not supported");
+ return;
+ } else {
+ // Skip the TALK (8) and HSHD (24) chunks
+ _sfxFile->seek(28, SEEK_CUR);
+ }
if (_sfxFile->readUint32LE() == TO_LE_32(MKID('SBNG'))) {
// Skip the SBNG, so we end up at the SDAT chunk