aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins/sound.cpp')
-rw-r--r--engines/hopkins/sound.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp
index 819877bc20..e23c7e525f 100644
--- a/engines/hopkins/sound.cpp
+++ b/engines/hopkins/sound.cpp
@@ -717,9 +717,16 @@ void SoundManager::syncSoundSettings() {
SOUNDVOL = MIN(255, ConfMan.getInt("sfx_volume")) * 16 / 255;
VOICEVOL = MIN(255, ConfMan.getInt("speech_volume")) * 16 / 255;
- //
+ // Update any active sounds
for (int idx = 0; idx < SWAV_COUNT; ++idx) {
if (Swav[idx]._active) {
+ int volume = (idx == 20) ? (VOICEVOL * 255 / 16) : (SOUNDVOL * 255 / 16);
+ _vm->_mixer->setChannelVolume(Swav[idx]._soundHandle, volume);
+ }
+ }
+ for (int idx = 0; idx < MWAV_COUNT; ++idx) {
+ if (Mwav[idx]._active) {
+ _vm->_mixer->setChannelVolume(Mwav[idx]._soundHandle, MUSICVOL * 255 / 16);
}
}
}