diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index 5cd94aa2ae0..d9890d0c573 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -180,6 +180,10 @@ void QueenEngine::checkOptionSettings() { } } +void QueenEngine::syncSoundSettings() { + _sound->setVolume(ConfMan.getInt("music_volume")); +} + void QueenEngine::readOptionSettings() { _sound->setVolume(ConfMan.getInt("music_volume")); _sound->musicToggle(!ConfMan.getBool("music_mute")); diff --git a/engines/queen/queen.h b/engines/queen/queen.h index 29d568e7607..6652a08196f 100644 --- a/engines/queen/queen.h +++ b/engines/queen/queen.h @@ -97,6 +97,7 @@ public: void checkOptionSettings(); void readOptionSettings(); void writeOptionSettings(); + virtual void syncSoundSettings(); int talkSpeed() const { return _talkSpeed; } void talkSpeed(int speed) { _talkSpeed = speed; } diff --git a/engines/queen/sound.cpp b/engines/queen/sound.cpp index d70fe7209da..0801d72ca43 100644 --- a/engines/queen/sound.cpp +++ b/engines/queen/sound.cpp @@ -224,8 +224,7 @@ void PCSound::playSpeech(const char *base) { void PCSound::setVolume(int vol) { Sound::setVolume(vol); - // Set mixer music volume to maximum, since music volume is regulated by MusicPlayer's MIDI messages - _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, Audio::Mixer::kMaxMixerVolume); + _mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType, vol); _music->setVolume(vol); }