Allow EGA option in Amiga/Atari ST games.

Restore correct palette after reloading saved game.

svn-id: r17020
This commit is contained in:
Travis Howell 2005-03-07 00:53:30 +00:00
parent 07aa92063a
commit bf9bdd6c2e
2 changed files with 47 additions and 10 deletions

View File

@ -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);

View File

@ -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)
setupAmigaPalette();
else if (_renderMode == Common::kRenderHercA || _renderMode == Common::kRenderHercG)
setupHercPalette();
else if (_renderMode == Common::kRenderCGA)
setupCGAPalette();
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();
}
}
if (_version > 3 && _version < 8)