aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorMartin Kiewitz2010-01-24 21:11:26 +0000
committerMartin Kiewitz2010-01-24 21:11:26 +0000
commita1daf54425a6311f8c9837a95a63c7ba73604278 (patch)
tree6dfbe2d6c2a7a5dcd61eac6b468d9ab306edefbf /engines/sci
parent44827b340fdf5f6ba1e22db35bdbe40cd1225e87 (diff)
downloadscummvm-rg350-a1daf54425a6311f8c9837a95a63c7ba73604278.tar.gz
scummvm-rg350-a1daf54425a6311f8c9837a95a63c7ba73604278.tar.bz2
scummvm-rg350-a1daf54425a6311f8c9837a95a63c7ba73604278.zip
SCI: never set palette for amiga games (fixes kq5 palette corruption at the beginning)
svn-id: r47525
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/graphics/palette.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp
index 08e6b679bd..b7233b5412 100644
--- a/engines/sci/graphics/palette.cpp
+++ b/engines/sci/graphics/palette.cpp
@@ -151,7 +151,8 @@ bool SciPalette::setAmiga() {
_sysPalette.colors[curColor].b = (byte2 & 0x0F) * 0x11;
}
file.close();
- setOnScreen();
+ // Directly set the palette, because setOnScreen() wont do a thing for amiga
+ _screen->setPalette(&_sysPalette);
// Create EGA to amiga table
for (curColor = 1; curColor < 16; curColor++) {
@@ -294,6 +295,9 @@ void SciPalette::getSys(Palette *pal) {
void SciPalette::setOnScreen() {
// if (pal != &_sysPalette)
// memcpy(&_sysPalette,pal,sizeof(Palette));
+ // We dont change palette at all times for amiga
+ if (_resMan->getViewType() == kViewAmiga)
+ return;
_screen->setPalette(&_sysPalette);
}