diff options
Diffstat (limited to 'scumm/saveload.cpp')
-rw-r--r-- | scumm/saveload.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index 6c0d698114..3445a453d2 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -252,10 +252,30 @@ bool ScummEngine::loadState(int slot, bool compat) { else setupV1ZakPalette(); } else if (_features & GF_16COLOR) { - if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST)) - setupAmigaPalette(); - else + switch (_renderMode) { + case Common::kRenderEGA: setupEGAPalette(); + break; + + case Common::kRenderAmiga: + setupAmigaPalette(); + break; + + case Common::kRenderCGA: + setupCGAPalette(); + break; + + case Common::kRenderHercA: + case Common::kRenderHercG: + setupHercPalette(); + break; + + default: + if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST)) + setupAmigaPalette(); + else + setupEGAPalette(); + } } else setDirtyColors(0, 255); |