aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/saveload.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2011-08-26 05:51:08 +0200
committerJohannes Schickel2011-08-26 05:54:47 +0200
commit4ea4172cbad466738836f7be8ebdcad4eabd0bb9 (patch)
treed8c58fbaeb01f7c653ba27778ffd3acbe91742b0 /engines/scumm/saveload.cpp
parent479eeb7e47e8bb27551ba49f7d37c36b3b1b88ee (diff)
downloadscummvm-rg350-4ea4172cbad466738836f7be8ebdcad4eabd0bb9.tar.gz
scummvm-rg350-4ea4172cbad466738836f7be8ebdcad4eabd0bb9.tar.bz2
scummvm-rg350-4ea4172cbad466738836f7be8ebdcad4eabd0bb9.zip
SCUMM: Implement proper Indy4 Amiga palette handling.
This should fix incorrect text colors in some scenes.
Diffstat (limited to 'engines/scumm/saveload.cpp')
-rw-r--r--engines/scumm/saveload.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 870ec8cdf7..27fa7bc27b 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -1348,6 +1348,13 @@ void ScummEngine::saveOrLoad(Serializer *s) {
memset(_colorUsedByCycle, 0, sizeof(_colorUsedByCycle));
}
+ // We need to restore the internal state of the Amiga palette for Indy4
+ // Amiga.
+ // TODO: We should rather store the state in the savefile and only do this
+ // for old savegames.
+ if (_game.platform == Common::kPlatformAmiga && _game.id == GID_INDY4)
+ setAmigaPaletteFromPtr(_currentPalette);
+
//
// Save/load more global object state
//