diff options
| -rw-r--r-- | engines/sci/sound/soundcmd.cpp | 10 | 
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; | 
