aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2017-09-04 19:11:01 -0400
committerPaul Gilbert2017-09-04 19:11:01 -0400
commit128edeebda490794d0ce78d3d6d84beab29c2246 (patch)
treec7179a0cd3cb17ffff2aa87b8880ebf337df6555
parent110b4f09916d366574e5eb62114e68b68510a7a4 (diff)
downloadscummvm-rg350-128edeebda490794d0ce78d3d6d84beab29c2246.tar.gz
scummvm-rg350-128edeebda490794d0ce78d3d6d84beab29c2246.tar.bz2
scummvm-rg350-128edeebda490794d0ce78d3d6d84beab29c2246.zip
TITANIC: Implement setup code for sound slider positions
-rw-r--r--engines/titanic/pet_control/pet_sound.cpp18
-rw-r--r--engines/titanic/pet_control/pet_sound.h12
2 files changed, 30 insertions, 0 deletions
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
@@ -50,6 +50,11 @@ private:
SliderType _draggingSliderNum;
private:
/**
+ * Sets the positions of the volume sliders
+ */
+ void setSliders();
+
+ /**
* Called when a slider has changed
*/
void sliderChanged(double offset, SliderType sliderNum);
@@ -97,6 +102,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
*/
virtual void getTooltip(CTextControl *text);