aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Kołodziejski2002-09-30 19:31:41 +0000
committerPaweł Kołodziejski2002-09-30 19:31:41 +0000
commit5d6498faef168d0b8eeafd1e0e945e220cc450cc (patch)
treeea7bc07cefb3129e69fc27125bafc0ef32ce4742
parenta9c1eb6075eaee8103dedaf39da3e716d2c598f8 (diff)
downloadscummvm-rg350-5d6498faef168d0b8eeafd1e0e945e220cc450cc.tar.gz
scummvm-rg350-5d6498faef168d0b8eeafd1e0e945e220cc450cc.tar.bz2
scummvm-rg350-5d6498faef168d0b8eeafd1e0e945e220cc450cc.zip
changed the dig music into stream sound
svn-id: r5054
-rw-r--r--scumm/sound.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index 634a77bb7d..cad6bcfa89 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -977,7 +977,13 @@ void Sound::bundleMusicHandler(Scumm * scumm) {
byte * buffer = NULL;
uint32 final_size = decode12BitsSample(ptr, &buffer, size);
- _scumm->_mixer->playRaw(NULL, buffer, final_size, rate, SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_16BITS | SoundMixer::FLAG_STEREO);
+ if (_scumm->_mixer->_channels[SoundMixer::NUM_CHANNELS - 1] == NULL) {
+ _scumm->_mixer->playStream(NULL, SoundMixer::NUM_CHANNELS - 1, buffer, final_size, rate,
+ SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_16BITS | SoundMixer::FLAG_STEREO);
+ } else {
+ _scumm->_mixer->append(SoundMixer::NUM_CHANNELS - 1, buffer, final_size, rate,
+ SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_16BITS | SoundMixer::FLAG_STEREO);
+ }
}
void Sound::playBundleSound(char *sound) {