From 536a7e407f97d7f5ed6db563424f1a7b576688b1 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 25 Mar 2012 16:40:49 +0300 Subject: SCI: Hook up the digital SFX and CD audio options The relevant code wasn't added in the newer commits - this was an oversight from my part --- engines/sci/engine/features.cpp | 3 +++ engines/sci/sound/soundcmd.cpp | 13 ++++--------- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'engines/sci') diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp index b3cfee873c..a284c319c0 100644 --- a/engines/sci/engine/features.cpp +++ b/engines/sci/engine/features.cpp @@ -26,6 +26,7 @@ #include "sci/engine/selector.h" #include "sci/engine/vm.h" +#include "common/config-manager.h" #include "common/file.h" namespace Sci { @@ -42,6 +43,8 @@ GameFeatures::GameFeatures(SegManager *segMan, Kernel *kernel) : _segMan(segMan) _sci2StringFunctionType = kSci2StringFunctionUninitialized; #endif _usesCdTrack = Common::File::exists("cdaudio.map"); + if (ConfMan.hasKey("use_cdaudio") && !ConfMan.getBool("use_cdaudio")) + _usesCdTrack = false; } reg_t GameFeatures::getDetectionAddr(const Common::String &objName, Selector slc, int methodNum) { diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index b8be898abc..8481f10171 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -32,14 +32,11 @@ namespace Sci { -//#define ENABLE_SFX_TYPE_SELECTION - SoundCommandParser::SoundCommandParser(ResourceManager *resMan, SegManager *segMan, Kernel *kernel, AudioPlayer *audio, SciVersion soundVersion) : _resMan(resMan), _segMan(segMan), _kernel(kernel), _audio(audio), _soundVersion(soundVersion) { -#ifdef ENABLE_SFX_TYPE_SELECTION // Check if the user wants synthesized or digital sound effects in SCI1.1 - // games based on the multi_midi config setting + // games based on the prefer_digitalsfx config setting // 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 @@ -48,11 +45,9 @@ SoundCommandParser::SoundCommandParser(ResourceManager *resMan, SegManager *segM // The GK1 demo (very late SCI1.1) does the same thing // TODO: Check the QFG4 demo - _useDigitalSFX = (getSciVersion() >= SCI_VERSION_2 || g_sci->getGameId() == GID_GK1 || ConfMan.getBool("multi_midi")); -#else - // Always prefer digital sound effects - _useDigitalSFX = true; -#endif + // If the prefer_digitalsfx key is missing, default to enable digital SFX + bool preferDigitalSfx = !ConfMan.hasKey("prefer_digitalsfx") || ConfMan.getBool("prefer_digitalsfx"); + _useDigitalSFX = (getSciVersion() >= SCI_VERSION_2 || g_sci->getGameId() == GID_GK1 || preferDigitalSfx); _music = new SciMusic(_soundVersion, _useDigitalSFX); _music->init(); -- cgit v1.2.3