aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorEugene Sandulenko2005-10-19 04:59:18 +0000
committerEugene Sandulenko2005-10-19 04:59:18 +0000
commit4306c9344cd00edff5b9a04152d68a1a7b0862aa (patch)
tree02978ce48b40c00efe4be9b5fc85e7a68edd4114 /scumm
parent13246d0dadd236fb36eeeb12228e53101cdabc43 (diff)
downloadscummvm-rg350-4306c9344cd00edff5b9a04152d68a1a7b0862aa.tar.gz
scummvm-rg350-4306c9344cd00edff5b9a04152d68a1a7b0862aa.tar.bz2
scummvm-rg350-4306c9344cd00edff5b9a04152d68a1a7b0862aa.zip
Improved IMA ADPCM decoder. It appeared that MS violated yet another standard
and nibbles order in samples appeared to be swapped. Had to untemplate whole thing over again because I have no idea how to speicalize one of two parameters in templates. Now voices are clean but have some ticks, looks like overload. ITE wasn't broken ;) svn-id: r19166
Diffstat (limited to 'scumm')
-rw-r--r--scumm/sound.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index 4cbea0ebce..dbbb0f11c9 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -316,7 +316,7 @@ void Sound::playSound(int soundID, int heOffset, int heChannel, int heFlags) {
}
if (type == 17) {
- AudioStream *voxStream = makeADPCMStream(stream, size, kADPCMIma);
+ AudioStream *voxStream = new ADPCMInputStream(&stream, size, kADPCMIma, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1);
sound = (char *)malloc(size * 2);
size = voxStream->readBuffer((int16*)sound, size * 2);