aboutsummaryrefslogtreecommitdiff
path: root/sky
diff options
context:
space:
mode:
authorTorbjörn Andersson2004-02-16 16:51:44 +0000
committerTorbjörn Andersson2004-02-16 16:51:44 +0000
commit66f065d3d64d335b255deaef3b037c69f65d45c5 (patch)
treec03308e7655da68f698f6e77a75683fa905dceec /sky
parent9d3ed96738f984132123cba82ba5240fb0aa71f8 (diff)
downloadscummvm-rg350-66f065d3d64d335b255deaef3b037c69f65d45c5.tar.gz
scummvm-rg350-66f065d3d64d335b255deaef3b037c69f65d45c5.tar.bz2
scummvm-rg350-66f065d3d64d335b255deaef3b037c69f65d45c5.zip
Workaround for BASS bug #897775. As far as I can tell there is no proper
fix for this bug, but please prove me wrong. svn-id: r12916
Diffstat (limited to 'sky')
-rw-r--r--sky/sound.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/sky/sound.cpp b/sky/sound.cpp
index 35e97a11c3..da6c8ad50d 100644
--- a/sky/sound.cpp
+++ b/sky/sound.cpp
@@ -1231,8 +1231,18 @@ bool Sound::startSpeech(uint16 textNum) {
free(speechData);
+ // Workaround for BASS bug #897775 - some voice-overs are played at
+ // half speed in 0.0368 (the freeware CD version), in 0.0372 they sound
+ // just fine.
+
+ uint rate;
+ if (_skyDisk->determineGameVersion() == 368 && (textNum == 20905 || textNum == 20906))
+ rate = 22050;
+ else
+ rate = 11025;
+
_mixer->stopID(SOUND_SPEECH);
- _mixer->playRaw(&_ingameSpeech, playBuffer, speechSize, 11025, SoundMixer::FLAG_UNSIGNED | SoundMixer::FLAG_AUTOFREE, SOUND_SPEECH);
+ _mixer->playRaw(&_ingameSpeech, playBuffer, speechSize, rate, SoundMixer::FLAG_UNSIGNED | SoundMixer::FLAG_AUTOFREE, SOUND_SPEECH);
return true;
}