aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/he/intern_he.h2
-rw-r--r--engines/scumm/scumm.cpp1
-rw-r--r--engines/scumm/vars.cpp6
3 files changed, 9 insertions, 0 deletions
diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h
index 8b145e0515..5b59558dd7 100644
--- a/engines/scumm/he/intern_he.h
+++ b/engines/scumm/he/intern_he.h
@@ -341,6 +341,8 @@ protected:
byte VAR_NUM_IMAGES;
byte VAR_NUM_CHARSETS;
+ byte VAR_SOUND_ENABLED;
+
byte VAR_POLYGONS_ONLY;
byte VAR_MOUSE_STATE; // Used in checkExecVerbs();
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index a69ed40e3b..2359d4a04f 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -793,6 +793,7 @@ ScummEngine_v72he::ScummEngine_v72he(OSystem *syst, const DetectorResult &dr)
VAR_NUM_COSTUMES = 0xFF;
VAR_NUM_IMAGES = 0xFF;
VAR_NUM_CHARSETS = 0xFF;
+ VAR_SOUND_ENABLED = 0xFF;
VAR_POLYGONS_ONLY = 0xFF;
VAR_MOUSE_STATE = 0xFF;
VAR_PLATFORM = 0xFF;
diff --git a/engines/scumm/vars.cpp b/engines/scumm/vars.cpp
index 7e753199a9..cacfd0101b 100644
--- a/engines/scumm/vars.cpp
+++ b/engines/scumm/vars.cpp
@@ -296,6 +296,7 @@ void ScummEngine_v72he::setupScummVars() {
VAR_POLYGONS_ONLY = 76;
if (_game.heversion <= 74) {
+ VAR_SOUND_ENABLED = 54;
VAR_NUM_SOUND_CHANNELS = 56;
}
@@ -654,6 +655,11 @@ void ScummEngine_v72he::resetScummVars() {
VAR(VAR_NUM_CHARSETS) = _numCharsets - 1;
VAR(VAR_NUM_GLOBAL_OBJS) = _numGlobalObjects - 1;
+ if (_game.heversion <= 74) {
+ // Songs are disabled, if sound is disabled.
+ VAR(VAR_SOUND_ENABLED) = 1;
+ }
+
if (_game.heversion == 74) {
// Uses different values, compared to later HE80+ games.
if (_game.platform == Common::kPlatformMacintosh) {