From 128edeebda490794d0ce78d3d6d84beab29c2246 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 4 Sep 2017 19:11:01 -0400 Subject: TITANIC: Implement setup code for sound slider positions --- engines/titanic/pet_control/pet_sound.cpp | 18 ++++++++++++++++++ engines/titanic/pet_control/pet_sound.h | 12 ++++++++++++ 2 files changed, 30 insertions(+) diff --git a/engines/titanic/pet_control/pet_sound.cpp b/engines/titanic/pet_control/pet_sound.cpp index a22b743782..e4fac34ee8 100644 --- a/engines/titanic/pet_control/pet_sound.cpp +++ b/engines/titanic/pet_control/pet_sound.cpp @@ -109,6 +109,24 @@ bool CPetSound::reset() { return false; } +void CPetSound::setSliders() { + CPetControl *pet = getPetControl(); + CGameManager *gameMan = pet ? pet->getGameManager() : nullptr; + + if (gameMan) { + CSoundManager &soundMan = gameMan->_sound._soundManager; + uint masterVol = soundMan.getModeVolume(VOL_NORMAL); + uint musicVol = soundMan.getMusicVolume(); + uint parrotVol = soundMan.getParrotVolume(); + uint speechVol = soundMan.getSpeechVolume(); + + _masterVolume.setSliderOffset(masterVol * 0.01); + _musicVolume.setSliderOffset(musicVol * 0.01); + _parrotVolume.setSliderOffset(parrotVol * 0.01); + _speechVolume.setSliderOffset(speechVol * 0.01); + } +} + void CPetSound::draw2(CScreenManager *screenManager) { _element.draw(screenManager); diff --git a/engines/titanic/pet_control/pet_sound.h b/engines/titanic/pet_control/pet_sound.h index 8e9795d00e..9365b31ee0 100644 --- a/engines/titanic/pet_control/pet_sound.h +++ b/engines/titanic/pet_control/pet_sound.h @@ -49,6 +49,11 @@ private: CPetSlider *_draggingSlider; SliderType _draggingSliderNum; private: + /** + * Sets the positions of the volume sliders + */ + void setSliders(); + /** * Called when a slider has changed */ @@ -96,6 +101,13 @@ public: */ virtual bool MouseButtonUpMsg(const Point &pt); + /** + * Highlight any currently highlighted element + */ + virtual void highlightCurrent(const Point &pt) { + setSliders(); + } + /** * Returns the tooltip text for when the glyph is selected */ -- cgit v1.2.3