aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/features.h
diff options
context:
space:
mode:
authorColin Snover2017-08-25 23:22:02 -0500
committerColin Snover2017-08-26 18:09:46 -0500
commit74738489ecb19ee104189a378998372b4c6e0535 (patch)
tree4e05f0ab30842c39150301a96c638ca93b873488 /engines/sci/engine/features.h
parent72b033ca2d0afe2d713934b7d3985003ec733f4b (diff)
downloadscummvm-rg350-74738489ecb19ee104189a378998372b4c6e0535.tar.gz
scummvm-rg350-74738489ecb19ee104189a378998372b4c6e0535.tar.bz2
scummvm-rg350-74738489ecb19ee104189a378998372b4c6e0535.zip
SCI32: Fix SFX volume being misapplied to music & speech in some games
This was happening in games with game scripts that control the master volume themselves by applying the master volume to each channel sent to the kernel, instead of relying on the kernel to manage the master volume for them.
Diffstat (limited to 'engines/sci/engine/features.h')
-rw-r--r--engines/sci/engine/features.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/sci/engine/features.h b/engines/sci/engine/features.h
index 41a4b6014b..92cc45a162 100644
--- a/engines/sci/engine/features.h
+++ b/engines/sci/engine/features.h
@@ -110,6 +110,17 @@ public:
}
}
+ inline bool gameScriptsControlMasterVolume() const {
+ switch (g_sci->getGameId()) {
+ case GID_LSL7:
+ case GID_PHANTASMAGORIA2:
+ case GID_TORIN:
+ return true;
+ default:
+ return false;
+ }
+ }
+
inline bool hasSci3Audio() const {
return getSciVersion() == SCI_VERSION_3 || g_sci->getGameId() == GID_GK2;
}