aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/duckman
diff options
context:
space:
mode:
authorEric Fry2018-06-19 22:33:09 +1000
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commitdc9dc0324e2e009092f6c042cd7351362f076c1d (patch)
tree87ad799cda9e5136d7f9122111fa5982437073a5 /engines/illusions/duckman
parent7e4a1c2bf11d18907d4a0a52a0f144eca6ee2bee (diff)
downloadscummvm-rg350-dc9dc0324e2e009092f6c042cd7351362f076c1d.tar.gz
scummvm-rg350-dc9dc0324e2e009092f6c042cd7351362f076c1d.tar.bz2
scummvm-rg350-dc9dc0324e2e009092f6c042cd7351362f076c1d.zip
ILLUSIONS: Wire up subtitle text duration config slider
Diffstat (limited to 'engines/illusions/duckman')
-rw-r--r--engines/illusions/duckman/illusions_duckman.cpp7
-rw-r--r--engines/illusions/duckman/menusystem_duckman.cpp16
2 files changed, 13 insertions, 10 deletions
diff --git a/engines/illusions/duckman/illusions_duckman.cpp b/engines/illusions/duckman/illusions_duckman.cpp
index a93ec274b5..6ce29de8c6 100644
--- a/engines/illusions/duckman/illusions_duckman.cpp
+++ b/engines/illusions/duckman/illusions_duckman.cpp
@@ -142,8 +142,11 @@ Common::Error IllusionsEngine_Duckman::run() {
_doScriptThreadInit = false;
_field8 = 1;
_fieldA = 0;
- _fieldE = 240;
-
+
+ ConfMan.registerDefault("talkspeed", 240);
+ _subtitleDuration = (uint16)ConfMan.getInt("talkspeed");
+ debug(0, "talkspeed: %d", _subtitleDuration);
+
_globalSceneId = 0x00010003;
_savedInventoryActorIndex = 0;
diff --git a/engines/illusions/duckman/menusystem_duckman.cpp b/engines/illusions/duckman/menusystem_duckman.cpp
index b5af102bb9..f7f93ce0ea 100644
--- a/engines/illusions/duckman/menusystem_duckman.cpp
+++ b/engines/illusions/duckman/menusystem_duckman.cpp
@@ -111,10 +111,10 @@ MenuItem *DuckmanMenuSystem::createOptionsSliderMenuItem(MenuActionUpdateSlider
int sliderValue = 0;
Common::String sliderText = "{~~~~~~~~~~~~~~~~}";
switch (type) {
- case SFX : sliderValue = _vm->_soundMan->getSfxVolume()/(255/15); break;
- case MUSIC : sliderValue = _vm->_soundMan->getMusicVolume()/(255/15); break;
- case VOICE : sliderValue = _vm->_soundMan->getSpeechVolume()/(255/15); break;
- case TEXT_DURATION : sliderValue = 128/(255/15); break; // TODO wire up text duration config
+ case SFX : sliderValue = _vm->_soundMan->getSfxVolume()/(256/15); break;
+ case MUSIC : sliderValue = _vm->_soundMan->getMusicVolume()/(256/15); break;
+ case VOICE : sliderValue = _vm->_soundMan->getSpeechVolume()/(256/15); break;
+ case TEXT_DURATION : sliderValue = _vm->getSubtitleDuration()/(256/15); break;
default: break;
}
@@ -381,10 +381,10 @@ void MenuActionUpdateSlider::setSliderValue(uint8 newValue) {
_menuSystem->redrawMenuText(menu);
switch(_type) {
- case SFX : _vm->_soundMan->setSfxVolume(newValue * (255/15)); break;
- case MUSIC : _vm->_soundMan->setMusicVolume(newValue * (255/15)); break;
- case VOICE : _vm->_soundMan->setSpeechVolume(newValue * (255/15)); break;
- case TEXT_DURATION : break; // TODO
+ case SFX : _vm->_soundMan->setSfxVolume(newValue * (256/15)); break;
+ case MUSIC : _vm->_soundMan->setMusicVolume(newValue * (256/15)); break;
+ case VOICE : _vm->_soundMan->setSpeechVolume(newValue * (256/15)); break;
+ case TEXT_DURATION : _vm->setSubtitleDuration(newValue * (256/15)); break;
default: break;
}
}