diff options
Diffstat (limited to 'engines/kyra/scene.cpp')
-rw-r--r-- | engines/kyra/scene.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/kyra/scene.cpp b/engines/kyra/scene.cpp index 3ab9b6b09b..f3212d517a 100644 --- a/engines/kyra/scene.cpp +++ b/engines/kyra/scene.cpp @@ -448,7 +448,8 @@ void KyraEngine::startSceneScript(int brandonAlive) { char fileNameBuffer[32]; strcpy(fileNameBuffer, _roomFilenameTable[tableId]); strcat(fileNameBuffer, ".CPS"); - _screen->loadBitmap(fileNameBuffer, 3, 3, 0); + // FIXME: check this hack for amiga version + _screen->loadBitmap(fileNameBuffer, 3, 3, (_flags.platform == Common::kPlatformAmiga ? _screen->getPalette(1) : 0)); _sprites->loadSceneShapes(); _exitListPtr = 0; @@ -846,6 +847,13 @@ void KyraEngine::initSceneScreen(int brandonAlive) { memset(_screen->getPalette(0), 0, 768); } } + + // FIXME: hack to get the room palette working + if (_flags.platform == Common::kPlatformAmiga) { + memcpy(_screen->getPalette(0), _screen->getPalette(1), 32*3); + _screen->setScreenPalette(_screen->getPalette(0)); + } + // really call this here? _screen->updateScreen(); |