aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/sound/music.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index ca5644d90b..987983a7f9 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -739,6 +739,14 @@ void SciMusic::soundToggle(MusicEntry *pSnd, bool pause) {
}
uint16 SciMusic::soundGetMasterVolume() {
+ if (ConfMan.getBool("mute")) {
+ // When a game is muted, the master volume is set to zero so that
+ // mute applies to external MIDI devices, but this should not be
+ // communicated to the game as it will cause the UI to be drawn with
+ // the wrong (zero) volume for music
+ return (ConfMan.getInt("music_volume") + 1) * MUSIC_MASTERVOLUME_MAX / Audio::Mixer::kMaxMixerVolume;
+ }
+
return _masterVolume;
}