aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound
diff options
context:
space:
mode:
authorColin Snover2016-10-19 12:57:08 -0500
committerColin Snover2016-10-20 11:33:29 -0500
commit34bd1bcaa9246d6599819ff3ed1ab4c35812136d (patch)
tree9543804205b0bce0fdb4bfb4b0e1fbfe807ec79e /engines/sci/sound
parent55222ec06c030a03d288b7ad476c5dbf1444a48b (diff)
downloadscummvm-rg350-34bd1bcaa9246d6599819ff3ed1ab4c35812136d.tar.gz
scummvm-rg350-34bd1bcaa9246d6599819ff3ed1ab4c35812136d.tar.bz2
scummvm-rg350-34bd1bcaa9246d6599819ff3ed1ab4c35812136d.zip
SCI32: Split out detection of features that cross SSCI versions
Diffstat (limited to 'engines/sci/sound')
-rw-r--r--engines/sci/sound/audio32.cpp19
1 files changed, 2 insertions, 17 deletions
diff --git a/engines/sci/sound/audio32.cpp b/engines/sci/sound/audio32.cpp
index 659a5265d4..d5a7ae14b8 100644
--- a/engines/sci/sound/audio32.cpp
+++ b/engines/sci/sound/audio32.cpp
@@ -35,6 +35,7 @@
#include "common/textconsole.h" // for warning
#include "common/types.h" // for Flag::NO
#include "engine.h" // for Engine, g_engine
+#include "sci/engine/features.h" // for GameFeatures
#include "sci/engine/vm_types.h" // for reg_t, make_reg, NULL_REG
#include "sci/resource.h" // for ResourceId, ResourceType::kResour...
#include "sci/sci.h" // for SciEngine, g_sci, getSciVersion
@@ -135,23 +136,7 @@ Audio32::Audio32(ResourceManager *resMan) :
_channels.resize(8);
}
- _useModifiedAttenuation = false;
- if (getSciVersion() == SCI_VERSION_2_1_MIDDLE) {
- switch (g_sci->getGameId()) {
- case GID_MOTHERGOOSEHIRES:
- case GID_PQ4:
- case GID_QFG4:
- case GID_SQ6:
- _useModifiedAttenuation = true;
- default:
- break;
- }
- } else if (getSciVersion() == SCI_VERSION_2_1_EARLY && g_sci->getGameId() == GID_KQ7) {
- // KQ7 1.51 uses the non-standard attenuation, but 2.00b
- // does not, which is strange.
- _useModifiedAttenuation = true;
- }
-
+ _useModifiedAttenuation = g_sci->_features->usesModifiedAudioAttenuation();
_mixer->playStream(Audio::Mixer::kSFXSoundType, &_handle, this, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, true);
}