diff options
author | Vladimir Menshakov | 2010-01-08 18:03:34 +0000 |
---|---|---|
committer | Vladimir Menshakov | 2010-01-08 18:03:34 +0000 |
commit | b847a2be3582354429facec2a7e0a7c3764b8826 (patch) | |
tree | 4443491999a1b9b7e78a1e6d61a563f32954def0 /engines/teenagent | |
parent | 549da55565e170d2b92011a87d3f16da1b107785 (diff) | |
download | scummvm-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/teenagent')
-rw-r--r-- | engines/teenagent/teenagent.cpp | 21 | ||||
-rw-r--r-- | engines/teenagent/teenagent.h | 2 |
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; }; |