diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/kyra/kyra_lok.h | 1 | ||||
-rw-r--r-- | engines/kyra/sequences_lok.cpp | 16 |
2 files changed, 11 insertions, 6 deletions
diff --git a/engines/kyra/kyra_lok.h b/engines/kyra/kyra_lok.h index 5e32f3fd05..239ca26a11 100644 --- a/engines/kyra/kyra_lok.h +++ b/engines/kyra/kyra_lok.h @@ -157,6 +157,7 @@ protected: // -> intro void seq_intro(); + bool seq_introPublisherLogos(); bool seq_introLogos(); bool seq_introStory(); bool seq_introMalcolmTree(); diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp index 8bdd85fea4..c4bdc29f57 100644 --- a/engines/kyra/sequences_lok.cpp +++ b/engines/kyra/sequences_lok.cpp @@ -93,6 +93,7 @@ void KyraEngine_LoK::seq_intro() { _res->loadPakFile("INTRO.VRM"); static const IntroProc introProcTable[] = { + &KyraEngine_LoK::seq_introPublisherLogos, &KyraEngine_LoK::seq_introLogos, &KyraEngine_LoK::seq_introStory, &KyraEngine_LoK::seq_introMalcolmTree, @@ -132,16 +133,17 @@ void KyraEngine_LoK::seq_intro() { _res->unloadPakFile("INTRO.VRM"); } -bool KyraEngine_LoK::seq_introLogos() { +bool KyraEngine_LoK::seq_introPublisherLogos() { if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) { _screen->loadBitmap("LOGO.CPS", 3, 3, &_screen->getPalette(0)); _screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0); _screen->updateScreen(); _screen->fadeFromBlack(); delay(90 * _tickLength); - _screen->fadeToBlack(); - if (!_abortIntroFlag) + if (!_abortIntroFlag) { + _screen->fadeToBlack(); snd_playWanderScoreViaMap(_flags.platform == Common::kPlatformFMTowns ? 57 : 2, 0); + } } else if (_flags.platform == Common::kPlatformMacintosh && _res->exists("MP_GOLD.CPS")) { _screen->loadPalette("MP_GOLD.COL", _screen->getPalette(0)); _screen->loadBitmap("MP_GOLD.CPS", 3, 3, 0); @@ -149,12 +151,14 @@ bool KyraEngine_LoK::seq_introLogos() { _screen->updateScreen(); _screen->fadeFromBlack(); delay(120 * _tickLength); - _screen->fadeToBlack(); + if (!_abortIntroFlag) + _screen->fadeToBlack(); } - if (_abortIntroFlag || shouldQuit()) - return false; + return _abortIntroFlag; +} +bool KyraEngine_LoK::seq_introLogos() { _screen->clearPage(0); if (_flags.platform == Common::kPlatformAmiga) { |