diff options
author | Martin Kiewitz | 2010-06-08 22:00:59 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-06-08 22:00:59 +0000 |
commit | dc8b826f5ea77a0173c5ad64d6508f9ec7ed798a (patch) | |
tree | d9896b795377529c88401b2d979c9ded082f8eb1 /engines/sci/graphics | |
parent | eafc63e57266d690b177bf34fa593e37d8cf320f (diff) | |
download | scummvm-rg350-dc8b826f5ea77a0173c5ad64d6508f9ec7ed798a.tar.gz scummvm-rg350-dc8b826f5ea77a0173c5ad64d6508f9ec7ed798a.tar.bz2 scummvm-rg350-dc8b826f5ea77a0173c5ad64d6508f9ec7ed798a.zip |
SCI: set default palette after initializing music driver, fixes palette getting messed up when using mt32 emulation
svn-id: r49523
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r-- | engines/sci/graphics/palette.cpp | 20 | ||||
-rw-r--r-- | engines/sci/graphics/palette.h | 3 |
2 files changed, 13 insertions, 10 deletions
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp index 3c4cf7e964..f9d320122b 100644 --- a/engines/sci/graphics/palette.cpp +++ b/engines/sci/graphics/palette.cpp @@ -36,7 +36,7 @@ namespace Sci { -GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool autoSetPalette) +GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen) : _resMan(resMan), _screen(screen) { int16 color; @@ -57,19 +57,21 @@ GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool autoSetP _sysPalette.colors[255].b = 255; _sysPaletteChanged = false; - if (autoSetPalette) { - if (_resMan->getViewType() == kViewEga) - setEGA(); - else if (_resMan->isAmiga32color()) - setAmiga(); - else - kernelSetFromResource(999, true); - } } GfxPalette::~GfxPalette() { } +// meant to get called only once during init of engine +void GfxPalette::setDefault() { + if (_resMan->getViewType() == kViewEga) + setEGA(); + else if (_resMan->isAmiga32color()) + setAmiga(); + else + kernelSetFromResource(999, true); +} + #define SCI_PAL_FORMAT_CONSTANT 1 #define SCI_PAL_FORMAT_VARIABLE 0 diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h index 46fec48739..d84436d708 100644 --- a/engines/sci/graphics/palette.h +++ b/engines/sci/graphics/palette.h @@ -36,9 +36,10 @@ class Screen; */ class GfxPalette { public: - GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool autoSetPalette = true); + GfxPalette(ResourceManager *resMan, GfxScreen *screen); ~GfxPalette(); + void setDefault(); void createFromData(byte *data, Palette *paletteOut); bool setAmiga(); void modifyAmigaPalette(byte *data); |