aboutsummaryrefslogtreecommitdiff
path: root/scumm/saveload.cpp
diff options
context:
space:
mode:
authorMax Horn2003-05-03 20:49:53 +0000
committerMax Horn2003-05-03 20:49:53 +0000
commit9466a5dcef440baaa17139b30bafe297b9313276 (patch)
treeb468f05b6b1970f3e79dc85264985789c850e58c /scumm/saveload.cpp
parentb3eb397ad23a7d111d7b56cae45051ad4fb1dc04 (diff)
downloadscummvm-rg350-9466a5dcef440baaa17139b30bafe297b9313276.tar.gz
scummvm-rg350-9466a5dcef440baaa17139b30bafe297b9313276.tar.bz2
scummvm-rg350-9466a5dcef440baaa17139b30bafe297b9313276.zip
Patch #730800: EGA LOOM: Hack to fix palette problem (also helps MonkeyEGA)
svn-id: r7290
Diffstat (limited to 'scumm/saveload.cpp')
-rw-r--r--scumm/saveload.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 9258480bc6..79bbafde8d 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -174,8 +174,15 @@ bool Scumm::loadState(int slot, bool compat, SaveFileManager *mgr) {
initScreens(0, sb, _realWidth, sh);
_completeScreenRedraw = true;
-
- if (!(_features & GF_16COLOR))
+
+ if (_features & GF_16COLOR) {
+ // HACK: There was a time when ScummVM didn't store the
+ // palette in _currentPalette for 16-color games. To avoid
+ // breaking savegame compatibility, always set up the default
+ // palette after loading a game.
+ setupEGAPalette();
+ setDirtyColors(0, 15);
+ } else
setDirtyColors(0, 255);
_lastCodePtr = NULL;