aboutsummaryrefslogtreecommitdiff
path: root/sky/intro.cpp
diff options
context:
space:
mode:
authorRobert Göffringmann2003-06-01 22:53:44 +0000
committerRobert Göffringmann2003-06-01 22:53:44 +0000
commitf8ead8a776cbb7326092820e21442d87feedb648 (patch)
treecd8b3349b58497145d59d6630ebb2d1423976d66 /sky/intro.cpp
parent17e6779b65dc864e6e239ff3c1d2cec90674ba3d (diff)
downloadscummvm-rg350-f8ead8a776cbb7326092820e21442d87feedb648.tar.gz
scummvm-rg350-f8ead8a776cbb7326092820e21442d87feedb648.tar.bz2
scummvm-rg350-f8ead8a776cbb7326092820e21442d87feedb648.zip
remove useless screen updates, make non-seq intro parts escapable.
svn-id: r8255
Diffstat (limited to 'sky/intro.cpp')
-rw-r--r--sky/intro.cpp18
1 files changed, 14 insertions, 4 deletions
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);