diff options
author | Travis Howell | 2005-04-09 07:25:41 +0000 |
---|---|---|
committer | Travis Howell | 2005-04-09 07:25:41 +0000 |
commit | 4f085516437369eccf22c96d84362f4d39c1448b (patch) | |
tree | 2c6c6495bb796d00b3505f16540587e10cac9e87 /scumm/sound.cpp | |
parent | 73d1d63f1502a94eb27fc3186b8e012e342de87d (diff) | |
download | scummvm-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.cpp | 10 |
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 |