aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJohannes Schickel2009-08-11 00:14:40 +0000
committerJohannes Schickel2009-08-11 00:14:40 +0000
commit714bf3398818658af133b03196987e761553ed0b (patch)
treefb6a505f55c04b0579bf823237bf430f9e824d29 /engines
parent89787d49ff0d3556a49df1bd6835d1b60068fe27 (diff)
downloadscummvm-rg350-714bf3398818658af133b03196987e761553ed0b.tar.gz
scummvm-rg350-714bf3398818658af133b03196987e761553ed0b.tar.bz2
scummvm-rg350-714bf3398818658af133b03196987e761553ed0b.zip
Disable Kyragem fading for Kyrandia 1 Amiga.
svn-id: r43240
Diffstat (limited to 'engines')
-rw-r--r--engines/kyra/sequences_lok.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index 6eda3c605a..9179ad2dd5 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -1663,6 +1663,14 @@ void KyraEngine_LoK::closeFinalWsa() {
}
void KyraEngine_LoK::updateKyragemFading() {
+ if (_flags.platform == Common::kPlatformAmiga) {
+ // The AMIGA version seems to have no fading for the Kyragem. The code does not
+ // alter the screen palette.
+ //
+ // TODO: Check this in the original.
+ return;
+ }
+
static const uint8 kyraGemPalette[0x28] = {
0x3F, 0x3B, 0x38, 0x34, 0x32, 0x2F, 0x2C, 0x29, 0x25, 0x22,
0x1F, 0x1C, 0x19, 0x16, 0x12, 0x0F, 0x0C, 0x0A, 0x06, 0x03,
@@ -1674,14 +1682,17 @@ void KyraEngine_LoK::updateKyragemFading() {
return;
_kyragemFadingState.timerCount = _system->getMillis() + 4 * _tickLength;
+
int palPos = 684;
for (int i = 0; i < 20; ++i) {
_screen->getPalette(0)[palPos++] = kyraGemPalette[i + _kyragemFadingState.rOffset];
_screen->getPalette(0)[palPos++] = kyraGemPalette[i + _kyragemFadingState.gOffset];
_screen->getPalette(0)[palPos++] = kyraGemPalette[i + _kyragemFadingState.bOffset];
}
+
_screen->setScreenPalette(_screen->getPalette(0));
_animator->_updateScreen = true;
+
switch (_kyragemFadingState.nextOperation) {
case 0:
--_kyragemFadingState.bOffset;