aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-08 22:00:59 +0000
committerMartin Kiewitz2010-06-08 22:00:59 +0000
commitdc8b826f5ea77a0173c5ad64d6508f9ec7ed798a (patch)
treed9896b795377529c88401b2d979c9ded082f8eb1 /engines/sci/graphics
parenteafc63e57266d690b177bf34fa593e37d8cf320f (diff)
downloadscummvm-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.cpp20
-rw-r--r--engines/sci/graphics/palette.h3
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);