aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2014-04-18 21:18:04 +0300
committerEugene Sandulenko2014-04-18 21:18:04 +0300
commit23f15c754faa7f719db6849ed6a754e06e019366 (patch)
tree3864321635e2ea8cc6c050e3113d69077eb4cd91
parente6c6eac9affaca53ac7f28d9a96d0a29d3826ed4 (diff)
downloadscummvm-rg350-23f15c754faa7f719db6849ed6a754e06e019366.tar.gz
scummvm-rg350-23f15c754faa7f719db6849ed6a754e06e019366.tar.bz2
scummvm-rg350-23f15c754faa7f719db6849ed6a754e06e019366.zip
FULLPIPE: Implement ModalMainMenu::setSliderPos()
-rw-r--r--engines/fullpipe/fullpipe.cpp1
-rw-r--r--engines/fullpipe/fullpipe.h1
-rw-r--r--engines/fullpipe/modal.cpp26
-rw-r--r--engines/fullpipe/sound.cpp2
4 files changed, 29 insertions, 1 deletions
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index c6cc270b67..246510e227 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -71,6 +71,7 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc)
_flgSoundList = true;
_sfxVolume = 0;
+ _musicVolume = 0;
_inputController = 0;
_inputDisabled = false;
diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h
index 5c3eeaebfb..5718b16ab3 100644
--- a/engines/fullpipe/fullpipe.h
+++ b/engines/fullpipe/fullpipe.h
@@ -164,6 +164,7 @@ public:
void setMusicVolume(int vol);
int _sfxVolume;
+ int _musicVolume;
GlobalMessageQueueList *_globalMessageQueueList;
MessageHandler *_messageHandlers;
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 85cb06544d..e138df2be7 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -1144,7 +1144,31 @@ void ModalMainMenu::enableDebugMenuButton() {
}
void ModalMainMenu::setSliderPos() {
- warning("STUB: ModalMainMenu::setSliderPos()");
+ int x = 173 * (g_fp->_sfxVolume + 3000) / 3000 + 65;
+ PictureObject *obj = _areas[_menuSliderIdx]->picObjD;
+
+ if (x >= 65) {
+ if (x > 238)
+ x = 238;
+ } else {
+ x = 65;
+ }
+
+ obj->setOXY(x, obj->_oy);
+ _areas[_menuSliderIdx]->picObjL->setOXY(x, obj->_oy);
+
+ x = 173 * g_fp->_musicVolume / 255 + 65;
+ obj = _areas[_musicSliderIdx]->picObjD;
+
+ if (x >= 65) {
+ if (x > 238)
+ x = 238;
+ } else {
+ x = 65;
+ }
+
+ obj->setOXY(x, obj->_oy);
+ _areas[_musicSliderIdx]->picObjL->setOXY(x, obj->_oy);
}
ModalHelp::ModalHelp() {
diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp
index b9ee473eb4..4270b13b38 100644
--- a/engines/fullpipe/sound.cpp
+++ b/engines/fullpipe/sound.cpp
@@ -204,6 +204,8 @@ void FullpipeEngine::updateSoundVolume() {
}
void FullpipeEngine::setMusicVolume(int vol) {
+ _musicVolume = vol;
+
debug(3, "STUB FullpipeEngine::setMusicVolume()");
}