diff options
author | Johannes Schickel | 2009-08-14 17:49:30 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-08-14 17:49:30 +0000 |
commit | 17f7c13ba314803d7ee8eba03ac0d24ac24a4d54 (patch) | |
tree | 3ec2ec0c75e0cb38bd4d7552d24ef3c85b5eb13e /engines/kyra/sequences_lok.cpp | |
parent | edaa4a042237477fa38ddb2957c3a41888730633 (diff) | |
download | scummvm-rg350-17f7c13ba314803d7ee8eba03ac0d24ac24a4d54.tar.gz scummvm-rg350-17f7c13ba314803d7ee8eba03ac0d24ac24a4d54.tar.bz2 scummvm-rg350-17f7c13ba314803d7ee8eba03ac0d24ac24a4d54.zip |
Little fix for lopping credits in Kyrandia 1 Amiga.
svn-id: r43383
Diffstat (limited to 'engines/kyra/sequences_lok.cpp')
-rw-r--r-- | engines/kyra/sequences_lok.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp index b123ef7523..2de68f25ac 100644 --- a/engines/kyra/sequences_lok.cpp +++ b/engines/kyra/sequences_lok.cpp @@ -1135,8 +1135,15 @@ void KyraEngine_LoK::seq_playEnding() { _screen->showMouse(); if (_flags.platform == Common::kPlatformAmiga) { - while (!shouldQuit()) + _screen->setCurPage(2); + + _screen->getPalette(2).clear(); + _screen->setScreenPalette(_screen->getPalette(2)); + + while (!shouldQuit()) { seq_playCreditsAmiga(); + delayUntil(_system->getMillis() + 300 * _tickLength); + } } else { seq_playCredits(); } @@ -1311,13 +1318,10 @@ void KyraEngine_LoK::seq_playCreditsAmiga() { _screen->loadBitmap("CHALET.CPS", 4, 2, &_screen->getPalette(0)); _screen->copyPage(2, 0); - _screen->setCurPage(2); - - _screen->getPalette(2).clear(); - _screen->setScreenPalette(_screen->getPalette(2)); _screen->getPalette(0).fill(16, 1, 63); _screen->fadePalette(_screen->getPalette(0), 0x5A); + _screen->updateScreen(); const char *theEnd = "THE END"; @@ -1397,7 +1401,7 @@ void KyraEngine_LoK::seq_playCreditsAmiga() { _screen->printText(stringBuffer, x + 8, 0, 31, 0); - for (int i = 0; i < fontHeight; ++i) { + for (int i = 0; i < fontHeight && !shouldQuit(); ++i) { _screen->copyRegion(0, 141, 0, 140, 320, 59, 0, 0, Screen::CR_NO_P_CHECK); _screen->copyRegion(0, i, 0, 198, 320, 3, 2, 0, Screen::CR_NO_P_CHECK); _screen->updateScreen(); |