aboutsummaryrefslogtreecommitdiff
path: root/simon
diff options
context:
space:
mode:
authorTravis Howell2003-12-18 09:36:17 +0000
committerTravis Howell2003-12-18 09:36:17 +0000
commit22c865791a7d753aa941f36b4121c6475cb11d7a (patch)
treed0fcd5db3388fff7ec254247ff0ea7a1de9dc8f4 /simon
parentd0da61f8aad834fa58f61fff0aa86c0f927f0707 (diff)
downloadscummvm-rg350-22c865791a7d753aa941f36b4121c6475cb11d7a.tar.gz
scummvm-rg350-22c865791a7d753aa941f36b4121c6475cb11d7a.tar.bz2
scummvm-rg350-22c865791a7d753aa941f36b4121c6475cb11d7a.zip
Remove slow motion option.
Add slow_down option for config file instead for now. svn-id: r11735
Diffstat (limited to 'simon')
-rw-r--r--simon/simon.cpp22
-rw-r--r--simon/simon.h2
2 files changed, 10 insertions, 14 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 2ba11d32c2..3e01ea345e 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -323,7 +323,7 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
_in_callback = 0;
_cepe_flag = 0;
_copy_partial_mode = 0;
- _slow_mode = 0;
+ _speed = 1;
_fast_mode = 0;
_dx_use_3_or_4_for_lock = 0;
@@ -543,6 +543,9 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
_language = Common::parseLanguage(ConfMan.get("language"));
_subtitles = ConfMan.getBool("subtitles");
+ if (ConfMan.hasKey("slow_down") && ConfMan.getInt("slow_down") >= 1)
+ _speed = ConfMan.getInt("slow_down");
+
_system->init_size(320, 200);
// FIXME Use auto dirty rects cleanup code to reduce CPU usage
@@ -4846,14 +4849,12 @@ void SimonEngine::delay(uint amount) {
uint32 cur = start;
uint this_delay, vga_period;
- if (_slow_mode)
- vga_period = 500;
- else if (_fast_mode)
+ if (_fast_mode)
vga_period = 10;
else if (_game & GF_SIMON2)
- vga_period = 45;
+ vga_period = 45 * _speed;
else
- vga_period = 50;
+ vga_period = 50 * _speed;
_rnd.getRandomNumber(2);
@@ -4894,10 +4895,8 @@ void SimonEngine::delay(uint amount) {
GUI::Dialog *_aboutDialog;
_aboutDialog = new GUI::AboutDialog();
_aboutDialog->runModal();
- } else if (event.kbd.keycode == 'f') {
+ } else if (event.kbd.keycode == 'f')
_fast_mode ^= 1;
- } else if (event.kbd.keycode == 's')
- _slow_mode ^= 1;
}
// Make sure backspace works right (this fixes a small issue on OS X)
if (event.kbd.keycode == 8)
@@ -4935,10 +4934,7 @@ void SimonEngine::delay(uint amount) {
break;
{
- if (_slow_mode)
- this_delay = 200;
- else
- this_delay = _fast_mode ? 1 : 20;
+ this_delay = _fast_mode ? 1 : 20 * _speed;
if (this_delay > amount)
this_delay = amount;
_system->delay_msecs(this_delay);
diff --git a/simon/simon.h b/simon/simon.h
index 172f043c49..e2c95f1829 100644
--- a/simon/simon.h
+++ b/simon/simon.h
@@ -186,7 +186,7 @@ protected:
bool _in_callback;
bool _cepe_flag;
byte _copy_partial_mode;
- bool _slow_mode;
+ uint _speed;
bool _fast_mode;
bool _dx_use_3_or_4_for_lock;