diff options
author | Filippos Karapetis | 2011-10-19 23:44:34 +0300 |
---|---|---|
committer | Filippos Karapetis | 2011-10-19 23:52:51 +0300 |
commit | 935eaa175bb6df628f0118e70a59b895f65e92a1 (patch) | |
tree | 14f5b5ec5441418a1ba94b937bc3db2f24c88835 /engines/sci/graphics | |
parent | 9549583242f4efc445f134c63109f599319b1e26 (diff) | |
download | scummvm-rg350-935eaa175bb6df628f0118e70a59b895f65e92a1.tar.gz scummvm-rg350-935eaa175bb6df628f0118e70a59b895f65e92a1.tar.bz2 scummvm-rg350-935eaa175bb6df628f0118e70a59b895f65e92a1.zip |
SCI: Move the palette merging checking code inside the GfxPalette class
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r-- | engines/sci/graphics/palette.cpp | 11 | ||||
-rw-r--r-- | engines/sci/graphics/palette.h | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp index a96d40b948..b52af38675 100644 --- a/engines/sci/graphics/palette.cpp +++ b/engines/sci/graphics/palette.cpp @@ -37,7 +37,7 @@ namespace Sci { -GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool useMerging) +GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen) : _resMan(resMan), _screen(screen) { int16 color; @@ -65,7 +65,14 @@ GfxPalette::GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool useMergi // the real merging done in earlier games. If we use the copying over, we // will get issues because some views have marked all colors as being used // and those will overwrite the current palette in that case - _useMerging = useMerging; + if (getSciVersion() < SCI_VERSION_1_1) + _useMerging = true; + else if (getSciVersion() == SCI_VERSION_1_1) + // there are some games that use inbetween SCI1.1 interpreter, so we have + // to detect if the current game is merging or copying + _useMerging = _resMan->detectPaletteMergingSci11(); + else // SCI32 + _useMerging = false; palVaryInit(); diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h index 243420cc47..a9ea1c32de 100644 --- a/engines/sci/graphics/palette.h +++ b/engines/sci/graphics/palette.h @@ -36,7 +36,7 @@ class GfxScreen; */ class GfxPalette : public Common::Serializable { public: - GfxPalette(ResourceManager *resMan, GfxScreen *screen, bool useMerging); + GfxPalette(ResourceManager *resMan, GfxScreen *screen); ~GfxPalette(); bool isMerging(); |