diff options
| -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(); | 
