aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorFilippos Karapetis2011-10-10 01:40:36 +0300
committerFilippos Karapetis2011-10-10 01:41:09 +0300
commitb17d424257bccfa355a3a43d4308f266c12f8698 (patch)
tree16d81f1d47964b432c12301e13397c370348cb41 /engines/sci
parenta293bbbbb4e349dd7504de26ded47c818cf9464b (diff)
downloadscummvm-rg350-b17d424257bccfa355a3a43d4308f266c12f8698.tar.gz
scummvm-rg350-b17d424257bccfa355a3a43d4308f266c12f8698.tar.bz2
scummvm-rg350-b17d424257bccfa355a3a43d4308f266c12f8698.zip
SCI: Fixed menu music in GK1 when multi MIDI is disabled
A regression from commit 9fd66de
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/sound/soundcmd.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index a91b103214..b4776b30f2 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -81,8 +81,14 @@ void SoundCommandParser::initSoundResource(MusicEntry *newSound) {
// on soundblaster. FIXME: check, why this is
if (checkAudioResource && _resMan->testResource(ResourceId(kResourceTypeAudio, newSound->resourceId))) {
- // Found a relevant audio resource, create an audio stream
- if (_bMultiMidi || !newSound->soundRes) {
+ // Found a relevant audio resource, create an audio stream if there is
+ // no associated sound resource, or if both resources exist and the
+ // user wants the digital version. In SCI2 and later games, this check
+ // doesn't apply - there was always only one version of each sound
+ // effect or digital music track (e.g. the menu music in GK1 - there is
+ // a sound effect with the same resource number, but it's totally
+ // unrelated to the menu music).
+ if (_bMultiMidi || !newSound->soundRes || getSciVersion() >= SCI_VERSION_2) {
int sampleLen;
newSound->pStreamAud = _audio->getAudioStream(newSound->resourceId, 65535, &sampleLen);
newSound->soundType = Audio::Mixer::kSpeechSoundType;