From f8ead8a776cbb7326092820e21442d87feedb648 Mon Sep 17 00:00:00 2001 From: Robert Göffringmann Date: Sun, 1 Jun 2003 22:53:44 +0000 Subject: remove useless screen updates, make non-seq intro parts escapable. svn-id: r8255 --- sky/intro.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'sky/intro.cpp') diff --git a/sky/intro.cpp b/sky/intro.cpp index 270e620127..77ff99db2e 100644 --- a/sky/intro.cpp +++ b/sky/intro.cpp @@ -191,6 +191,16 @@ void SkyState::initVirgin() { _skyScreen->showScreen(60110); } +void SkyState::escDelay(uint32 pDelay) { + + pDelay /= 50; + while (pDelay) { + delay(50); + if (_key_pressed == 27) pDelay = 0; + else pDelay--; + } +} + void SkyState::intro(void) { uint32 *commandPtr = (uint32 *)zeroCommands; @@ -201,13 +211,13 @@ void SkyState::intro(void) { _skyMusic->loadSection(0); _skySound->loadSection(0); - delay(3000); //keep virgin screen up for 3 seconds + escDelay(3000); //keep virgin screen up for 3 seconds CHECK_ESC if (!isCDVersion()) _skyMusic->startMusic(1); - delay(3000); //and another 3 seconds. + escDelay(3000); //and another 3 seconds. CHECK_ESC _skyScreen->fnFadeDown(0); //remove virgin screen @@ -224,7 +234,7 @@ void SkyState::intro(void) { _skyText->getText(77); - delay(8000); // keep revolution up for 8 seconds + escDelay(8000); // keep revolution up for 8 seconds CHECK_ESC _skyScreen->fnFadeDown(0); @@ -240,7 +250,7 @@ void SkyState::intro(void) { _skyDisk->prefetchFile(FN_1A); //keep gibbo up for 2 seconds - delay(2000); + escDelay(2000); CHECK_ESC _skyScreen->fnFadeDown(0); -- cgit v1.2.3