diff options
author | Nicolas Bacca | 2004-03-05 08:53:31 +0000 |
---|---|---|
committer | Nicolas Bacca | 2004-03-05 08:53:31 +0000 |
commit | 07d918ace29043a051ecfa91419277030e8c7c42 (patch) | |
tree | 16073988c0c595e2a6de20c8f0db77b03af1c09a | |
parent | de848a5d80a0669c9da2c915668cf4e9e5b945a3 (diff) | |
download | scummvm-rg350-07d918ace29043a051ecfa91419277030e8c7c42.tar.gz scummvm-rg350-07d918ace29043a051ecfa91419277030e8c7c42.tar.bz2 scummvm-rg350-07d918ace29043a051ecfa91419277030e8c7c42.zip |
Yearly CE BASS intro synch fix
svn-id: r13199
-rw-r--r-- | sky/intro.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
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; } |