aboutsummaryrefslogtreecommitdiff
path: root/engines/lab
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lab')
-rw-r--r--engines/lab/lab.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/lab/lab.cpp b/engines/lab/lab.cpp
index e942617a26..815053e71e 100644
--- a/engines/lab/lab.cpp
+++ b/engines/lab/lab.cpp
@@ -221,7 +221,12 @@ void LabEngine::drawStaticMessage(byte index) {
}
void LabEngine::changeVolume(int delta) {
- warning("STUB: changeVolume()");
+ int sfxPrev = _mixer->getVolumeForSoundType(Audio::Mixer::kSFXSoundType);
+ int musicPrev = _mixer->getVolumeForSoundType(Audio::Mixer::kMusicSoundType);
+ int sfxNew = (delta > 0) ? MIN<int>(sfxPrev + 10, Audio::Mixer::kMaxMixerVolume) : MAX<int>(sfxPrev - 10, 0);
+ int musicNew = (delta > 0) ? MIN<int>(musicPrev + 10, Audio::Mixer::kMaxMixerVolume) : MAX<int>(musicPrev - 10, 0);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, sfxNew);
+ _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, musicNew);
}
void LabEngine::waitTOF() {