aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorVladimir Menshakov2010-01-08 18:03:34 +0000
committerVladimir Menshakov2010-01-08 18:03:34 +0000
commitb847a2be3582354429facec2a7e0a7c3764b8826 (patch)
tree4443491999a1b9b7e78a1e6d61a563f32954def0 /engines
parent549da55565e170d2b92011a87d3f16da1b107785 (diff)
downloadscummvm-rg350-b847a2be3582354429facec2a7e0a7c3764b8826.tar.gz
scummvm-rg350-b847a2be3582354429facec2a7e0a7c3764b8826.tar.bz2
scummvm-rg350-b847a2be3582354429facec2a7e0a7c3764b8826.zip
added configurable timers/fast mode with ctrl-f hotkey
svn-id: r47167
Diffstat (limited to 'engines')
-rw-r--r--engines/teenagent/teenagent.cpp21
-rw-r--r--engines/teenagent/teenagent.h2
2 files changed, 14 insertions, 9 deletions
diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp
index 83eda69e57..e71812c99c 100644
--- a/engines/teenagent/teenagent.cpp
+++ b/engines/teenagent/teenagent.cpp
@@ -156,6 +156,9 @@ void TeenAgentEngine::examine(const Common::Point &point, Object *object) {
}
void TeenAgentEngine::init() {
+ _mark_delay = 80;
+ _game_delay = 110;
+
Resources * res = Resources::instance();
use_hotspots.resize(42);
byte *scene_hotspots = res->dseg.ptr(0xbb87);
@@ -448,11 +451,8 @@ Common::Error TeenAgentEngine::run() {
CursorMan.showMouse(true);
- ///\todo move game timers to the option dialog
- const uint32 kGameDelay = 110, kMarkDelay = 80;
-
- uint32 game_timer = kGameDelay;
- uint32 mark_timer = kMarkDelay;
+ uint32 game_timer = 0;
+ uint32 mark_timer = 0;
Common::Event event;
Common::Point mouse;
@@ -477,9 +477,12 @@ Common::Error TeenAgentEngine::run() {
if ((event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'd') ||
event.kbd.ascii == '~' || event.kbd.ascii == '#') {
console->attach();
- }
- if (event.kbd.flags == 0 && event.kbd.keycode == Common::KEYCODE_F5)
+ } else if (event.kbd.flags == 0 && event.kbd.keycode == Common::KEYCODE_F5) {
openMainMenuDialog();
+ } if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'f') {
+ _mark_delay = _mark_delay == 80? 40: 80;
+ debug(0, "mark_delay = %u", _mark_delay);
+ }
break;
case Common::EVENT_LBUTTONDOWN:
if (scene->getId() < 0)
@@ -519,13 +522,13 @@ Common::Error TeenAgentEngine::run() {
bool tick_game = game_timer <= delta;
if (tick_game)
- game_timer = kGameDelay - ((delta - game_timer) % kGameDelay);
+ game_timer = _game_delay - ((delta - game_timer) % _game_delay);
else
game_timer -= delta;
bool tick_mark = mark_timer <= delta;
if (tick_mark)
- mark_timer = kMarkDelay - ((delta - mark_timer) % kMarkDelay);
+ mark_timer = _mark_delay - ((delta - mark_timer) % _mark_delay);
else
mark_timer -= delta;
diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h
index 720be31192..5750194ea8 100644
--- a/engines/teenagent/teenagent.h
+++ b/engines/teenagent/teenagent.h
@@ -134,6 +134,8 @@ private:
Audio::SoundHandle _musicHandle, _soundHandle;
const ADGameDescription *_gameDescription;
+ uint _mark_delay, _game_delay;
+
Common::Array<Common::Array<UseHotspot> > use_hotspots;
};