diff options
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r-- | scumm/scumm.cpp | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index c0e7ad4d79..19c242af37 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -1323,14 +1323,31 @@ void ScummEngine::scummInit() { } else if (_features & GF_16COLOR) { for (i = 0; i < 16; i++) _shadowPalette[i] = i; - if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST) || _renderMode == Common::kRenderAmiga) + + switch (_renderMode) { + case Common::kRenderEGA: + setupEGAPalette(); + break; + + case Common::kRenderAmiga: setupAmigaPalette(); - else if (_renderMode == Common::kRenderHercA || _renderMode == Common::kRenderHercG) - setupHercPalette(); - else if (_renderMode == Common::kRenderCGA) + break; + + case Common::kRenderCGA: setupCGAPalette(); - else - setupEGAPalette(); + break; + + case Common::kRenderHercA: + case Common::kRenderHercG: + setupHercPalette(); + break; + + default: + if ((_features & GF_AMIGA) || (_features & GF_ATARI_ST)) + setupAmigaPalette(); + else + setupEGAPalette(); + } } if (_version > 3 && _version < 8) |