From 07d918ace29043a051ecfa91419277030e8c7c42 Mon Sep 17 00:00:00 2001 From: Nicolas Bacca Date: Fri, 5 Mar 2004 08:53:31 +0000 Subject: Yearly CE BASS intro synch fix svn-id: r13199 --- sky/intro.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'sky') diff --git a/sky/intro.cpp b/sky/intro.cpp index 75b37c639c..a9628905f5 100644 --- a/sky/intro.cpp +++ b/sky/intro.cpp @@ -794,7 +794,11 @@ bool Intro::floppyScrollFlirt(void) { } _system->copy_rect(scrollPos, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT); _system->updateScreen(); +#ifndef _WIN32_WCE if (!escDelay(40)) +#else + if (!escDelay(15)) +#endif doContinue = false; } memcpy(_skyScreen->giveCurrent(), scrollPos, FRAME_SIZE); @@ -887,6 +891,10 @@ bool Intro::escDelay(uint32 msecs) { OSystem::Event event; do { +#ifdef _WIN32_WCE + uint32 startTimeLoop = _system->get_msecs(); + uint32 delta; +#endif while (_system->poll_event(&event)) { if (event.event_code == OSystem::EVENT_KEYDOWN) { if (event.kbd.keycode == 27) @@ -902,7 +910,15 @@ bool Intro::escDelay(uint32 msecs) { uint8 nDelay = (msecs > 50) ? (50) : ((uint8)msecs); #endif _system->delay_msecs(nDelay); +#ifdef _WIN32_WCE + delta = _system->get_msecs() - startTimeLoop; + if (delta > msecs) + break; + else + msecs -= delta; +#else msecs -= nDelay; +#endif } while (msecs > 0); return true; } -- cgit v1.2.3