aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorFilippos Karapetis2011-10-10 12:20:52 +0300
committerFilippos Karapetis2011-10-10 12:20:52 +0300
commit4e1face8901ab1f997242a9c927836005be37ba5 (patch)
tree57c542c3ac62807c759d6c37a772690ff8b7a280 /engines/sci
parent32b4ef8199b00edc3e048355e47e0b165b3206de (diff)
downloadscummvm-rg350-4e1face8901ab1f997242a9c927836005be37ba5.tar.gz
scummvm-rg350-4e1face8901ab1f997242a9c927836005be37ba5.tar.bz2
scummvm-rg350-4e1face8901ab1f997242a9c927836005be37ba5.zip
SCI: Mixed Adlib/MIDI mode for audio resources should always be enabled in SCI32
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/sound/soundcmd.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index b4776b30f2..e7d294dc11 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -37,7 +37,15 @@ SoundCommandParser::SoundCommandParser(ResourceManager *resMan, SegManager *segM
_music = new SciMusic(_soundVersion);
_music->init();
+ // Check if the user wants synthesized or digital sound effects in SCI1.1
+ // or later games
_bMultiMidi = ConfMan.getBool("multi_midi");
+ // In SCI2 and later games, this check should always be true - 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 (getSciVersion() >= SCI_VERSION_2)
+ _bMultiMidi = true;
}
SoundCommandParser::~SoundCommandParser() {
@@ -83,12 +91,8 @@ void SoundCommandParser::initSoundResource(MusicEntry *newSound) {
if (checkAudioResource && _resMan->testResource(ResourceId(kResourceTypeAudio, newSound->resourceId))) {
// 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) {
+ // user wants the digital version.
+ if (_bMultiMidi || !newSound->soundRes) {
int sampleLen;
newSound->pStreamAud = _audio->getAudioStream(newSound->resourceId, 65535, &sampleLen);
newSound->soundType = Audio::Mixer::kSpeechSoundType;