aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2009-08-11 01:24:56 +0000
committerJohannes Schickel2009-08-11 01:24:56 +0000
commitf49bfc58e4cee19bb8fdcceffa2dd56ef58cef5e (patch)
tree3a7cbf147dd5c12f90ef0b58a7b57bf5d88ab6e8 /engines/kyra
parent6e9ff8e381ceed150c498eaf01f1f58215c343b0 (diff)
downloadscummvm-rg350-f49bfc58e4cee19bb8fdcceffa2dd56ef58cef5e.tar.gz
scummvm-rg350-f49bfc58e4cee19bb8fdcceffa2dd56ef58cef5e.tar.bz2
scummvm-rg350-f49bfc58e4cee19bb8fdcceffa2dd56ef58cef5e.zip
Some changes to get the Kyrandia 1 Amiga credits to show up at least.
svn-id: r43247
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/sequences_lok.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index 3134d1f82d..177225be3b 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -1021,11 +1021,13 @@ void KyraEngine_LoK::seq_playEnding() {
if (_flags.platform == Common::kPlatformAmiga) {
_screen->loadBitmap("GEMCUT.CPS", 3, 3, &_screen->getPalette(0));
_screen->copyRegion(232, 136, 176, 56, 56, 56, 2, 2);
+ _screen->copyRegion(8, 8, 8, 8, 304, 128, 2, 0);
+ _screen->copyRegion(0, 0, 0, 0, 320, 200, 0, 2, Screen::CR_NO_P_CHECK);
} else {
_screen->loadBitmap("REUNION.CPS", 3, 3, &_screen->getPalette(0));
+ _screen->copyRegion(8, 8, 8, 8, 304, 128, 2, 0);
}
- _screen->copyRegion(8, 8, 8, 8, 304, 128, 2, 0);
_screen->_curPage = 0;
// XXX
assert(_homeString);
@@ -1058,8 +1060,10 @@ void KyraEngine_LoK::seq_playCredits() {
memset(strings, 0, sizeof(strings));
+ _screen->enableInterfacePalette(false);
+
_screen->hideMouse();
- if (!_flags.isTalkie) {
+ if (!_flags.isTalkie && _flags.platform != Common::kPlatformAmiga) {
_screen->loadFont(Screen::FID_CRED6_FNT, "CREDIT6.FNT");
_screen->loadFont(Screen::FID_CRED8_FNT, "CREDIT8.FNT");
} else
@@ -1079,7 +1083,8 @@ void KyraEngine_LoK::seq_playCredits() {
uint8 *buffer = 0;
uint32 size = 0;
- if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) {
+ if (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98
+ || _flags.platform == Common::kPlatformAmiga) {
int sizeTmp = 0;
const uint8 *bufferTmp = _staticres->loadRawData(k1CreditsStrings, sizeTmp);
buffer = new uint8[sizeTmp];
@@ -1117,12 +1122,12 @@ void KyraEngine_LoK::seq_playCredits() {
if (*currentString == 1) {
currentString++;
- if (!_flags.isTalkie)
+ if (!_flags.isTalkie && _flags.platform != Common::kPlatformAmiga)
_screen->setFont(Screen::FID_CRED6_FNT);
} else {
if (*currentString == 2)
currentString++;
- if (!_flags.isTalkie)
+ if (!_flags.isTalkie && _flags.platform != Common::kPlatformAmiga)
_screen->setFont(Screen::FID_CRED8_FNT);
}
strings[i].font = _screen->_currentFont;
@@ -1145,6 +1150,9 @@ void KyraEngine_LoK::seq_playCredits() {
_screen->getPalette(2).clear();
_screen->setScreenPalette(_screen->getPalette(2));
+ if (_flags.platform == Common::kPlatformAmiga)
+ _screen->setPaletteIndex(16, 63, 63, 63);
+
_screen->copyRegion(8, 32, 8, 32, 312, 128, 4, 0, Screen::CR_NO_P_CHECK);
_screen->fadePalette(_screen->getPalette(0), 0x5A);