From 102764da6e86e261bce755c10b5289c2c9c5343a Mon Sep 17 00:00:00 2001 From: Vincent Hamm Date: Sat, 27 Oct 2007 16:10:50 +0000 Subject: [PATCH] Add fast forward mode svn-id: r29265 --- engines/cruise/cruise_main.cpp | 36 +++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp index 1a89b5671e2..202504a2970 100644 --- a/engines/cruise/cruise_main.cpp +++ b/engines/cruise/cruise_main.cpp @@ -1178,7 +1178,9 @@ int processInput(void) { int oldMouseX; int oldMouseY; -void manageEvents(int count) { +bool bFastMode = false; + +void manageEvents() { Common::Event event; Common::EventManager * eventMan = g_system->getEventManager(); @@ -1195,7 +1197,8 @@ void manageEvents(int count) { case Common::EVENT_QUIT: g_system->quit(); break; - /* case Common::EVENT_KEYDOWN: + case Common::EVENT_KEYDOWN: + /* * switch (event.kbd.keycode) { * case '\n': * case '\r': @@ -1261,6 +1264,18 @@ void manageEvents(int count) { * break; * } * break; */ + if (event.kbd.flags == Common::KBD_CTRL) + { + if (event.kbd.keycode == Common::KEYCODE_d) + { + // enable debugging stuff ? + } + else if (event.kbd.keycode == Common::KEYCODE_f) + { + bFastMode = !bFastMode; + } + } + default: break; } @@ -1273,18 +1288,11 @@ void manageEvents(int count) { * mouseRight = 0; * } */ - int i; + g_system->updateScreen(); - for (i = 0; i < count; i++) { - //FIXME(?): Maybe there's a better way to "fix" this? - // - //Since not all backends/ports can update the screen - //100 times per second, only update the screen every - //other frame (1000 / 2 * 10 i.e. 50 times per second max.) - if (i % 2) - g_system->updateScreen(); - g_system->delayMillis(10); - manageEvents(0); + if(!bFastMode) + { + g_system->delayMillis(40); } } @@ -1427,7 +1435,7 @@ void mainLoop(void) { * Osystem_Delay(t_left-SLEEP_GRAN); * while (Osystem_GetTicks()