diff options
author | Paweł Kołodziejski | 2009-09-26 09:31:05 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2009-09-26 09:31:05 +0000 |
commit | e46029e8c614c2f18419691baf1ff3b9fd40e95d (patch) | |
tree | 80116b58d0063e6766c9d2d449e95acfd5466c7b | |
parent | a5df07f56ae159b306e81d5920ae228be817e284 (diff) | |
download | scummvm-rg350-e46029e8c614c2f18419691baf1ff3b9fd40e95d.tar.gz scummvm-rg350-e46029e8c614c2f18419691baf1ff3b9fd40e95d.tar.bz2 scummvm-rg350-e46029e8c614c2f18419691baf1ff3b9fd40e95d.zip |
added option to allow control digital imuse tempo callback. it's related to volume fading, lip sync quality and platform resource costs.
svn-id: r44374
-rw-r--r-- | base/commandLine.cpp | 11 | ||||
-rw-r--r-- | engines/scumm/scumm.cpp | 5 |
2 files changed, 15 insertions, 1 deletions
diff --git a/base/commandLine.cpp b/base/commandLine.cpp index 086093ed9b..dd1d9b0911 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -122,6 +122,10 @@ static const char HELP_STRING[] = #ifdef ENABLE_SCUMM " --tempo=NUM Set music tempo (in percent, 50-200) for SCUMM games\n" " (default: 100)\n" +#ifdef ENABLE_SCUMM_7_8 + " --dimuse-tempo=NUM Set internal Digital iMuse tempo (10 - 100) per second\n" + " (default: 10)\n" +#endif #endif "\n" "The meaning of boolean long options can be inverted by prefixing them with\n" @@ -198,6 +202,9 @@ void registerDefaults() { #endif #ifdef ENABLE_SCUMM ConfMan.registerDefault("tempo", 0); +#ifdef ENABLE_SCUMM_7_8 + ConfMan.registerDefault("dimuse_tempo", 10); +#endif #endif #if defined(ENABLE_SKY) || defined(ENABLE_QUEEN) @@ -509,6 +516,10 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, const cha #ifdef ENABLE_SCUMM DO_LONG_OPTION_INT("tempo") END_OPTION +#ifdef ENABLE_SCUMM_7_8 + DO_LONG_OPTION_INT("dimuse-tempo") + END_OPTION +#endif #endif #if defined(ENABLE_SCUMM) || defined(ENABLE_GROOVIE) DO_LONG_OPTION_BOOL("demo-mode") diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 74fa7ab9a3..bced8a784d 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -1236,7 +1236,10 @@ void ScummEngine_v7::setupScumm() { else _smushFrameRate = (_game.id == GID_FT) ? 10 : 12; - _musicEngine = _imuseDigital = new IMuseDigital(this, _mixer, 10); + int dimuseTempo = CLIP(ConfMan.getInt("dimuse_tempo"), 10, 100); + ConfMan.setInt("dimuse_tempo", dimuseTempo); + ConfMan.flushToDisk(); + _musicEngine = _imuseDigital = new IMuseDigital(this, _mixer, dimuseTempo); ScummEngine::setupScumm(); |