diff options
author | sylvaintv | 2011-04-17 14:18:29 +0200 |
---|---|---|
committer | sylvaintv | 2011-04-17 14:18:29 +0200 |
commit | a383fe452f5b62a74fc92b8734425bd8ab793402 (patch) | |
tree | 4bb265229817881db6d5d25ff4aa1668f25b4907 | |
parent | f79b91548de6daf2c3bf9661e2a002b23744e99e (diff) | |
download | scummvm-rg350-a383fe452f5b62a74fc92b8734425bd8ab793402.tar.gz scummvm-rg350-a383fe452f5b62a74fc92b8734425bd8ab793402.tar.bz2 scummvm-rg350-a383fe452f5b62a74fc92b8734425bd8ab793402.zip |
TOON: Fix palette issues in alligators scene
Bug #3264989: "TOON: Palette problems"
-rw-r--r-- | engines/toon/toon.cpp | 6 | ||||
-rw-r--r-- | engines/toon/toon.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp index 2040668245..1bc53e0e20 100644 --- a/engines/toon/toon.cpp +++ b/engines/toon/toon.cpp @@ -843,6 +843,7 @@ ToonEngine::ToonEngine(OSystem *syst, const ADGameDescription *gameDescription) _backupPalette = NULL; _additionalPalette1 = NULL; _additionalPalette2 = NULL; + _additionalPalette2Present = false; _cutawayPalette = NULL; _universalPalette = NULL; _fluxPalette = NULL; @@ -1148,6 +1149,7 @@ void ToonEngine::loadScene(int32 SceneId, bool forGameLoad) { strcat(temp, ".NPP"); loadAdditionalPalette(temp, 0); + _additionalPalette2Present = false; strcpy(temp, state()->_locations[SceneId]._name); strcat(temp, ".NP2"); loadAdditionalPalette(temp, 1); @@ -1318,6 +1320,7 @@ void ToonEngine::loadAdditionalPalette(Common::String fileName, int32 mode) { case 1: memcpy(_additionalPalette2, palette, 69); fixPaletteEntries(_additionalPalette2, 23); + _additionalPalette2Present = true; break; case 2: memcpy(_cutawayPalette, palette, size); @@ -1786,7 +1789,8 @@ void ToonEngine::flipScreens() { if (_gameState->_inCloseUp) { _gameState->_currentScrollValue = TOON_SCREEN_WIDTH; setPaletteEntries(_cutawayPalette, 1, 128); - setPaletteEntries(_additionalPalette2, 232, 23); + if (_additionalPalette2Present) + setPaletteEntries(_additionalPalette2, 232, 23); } else { _gameState->_currentScrollValue = 0; _currentPicture->setupPalette(); diff --git a/engines/toon/toon.h b/engines/toon/toon.h index 3554900684..373437d658 100644 --- a/engines/toon/toon.h +++ b/engines/toon/toon.h @@ -352,6 +352,7 @@ protected: uint8 *_backupPalette; uint8 *_additionalPalette1; uint8 *_additionalPalette2; + bool _additionalPalette2Present; uint8 *_cutawayPalette; uint8 *_universalPalette; uint8 *_fluxPalette; |