aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sci.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-06-25 10:04:31 +0000
committerMartin Kiewitz2010-06-25 10:04:31 +0000
commitc6b0a5e8962297cfd808c708ff3e1022a875fd18 (patch)
tree263dd37a86da18c36c08484c8e66fed23da43052 /engines/sci/sci.cpp
parent550209d1e6468a575fa980144389eda64eddb730 (diff)
downloadscummvm-rg350-c6b0a5e8962297cfd808c708ff3e1022a875fd18.tar.gz
scummvm-rg350-c6b0a5e8962297cfd808c708ff3e1022a875fd18.tar.bz2
scummvm-rg350-c6b0a5e8962297cfd808c708ff3e1022a875fd18.zip
SCI: detect, if SCI1.1 game is merging or copying palette instead of using gameIds. Also prints method used, when using debug command "version"
svn-id: r50261
Diffstat (limited to 'engines/sci/sci.cpp')
-rw-r--r--engines/sci/sci.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index b8c541fc03..f2ea0e67af 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -224,7 +224,16 @@ Common::Error SciEngine::run() {
if (_resMan->isSci11Mac() && getSciVersion() == SCI_VERSION_1_1)
_gfxMacIconBar = new GfxMacIconBar();
- _gfxPalette = new GfxPalette(_resMan, _gfxScreen);
+ bool paletteMerging = true;
+ if (getSciVersion() >= SCI_VERSION_1_1) {
+ // there are some games that use inbetween SCI1.1 interpreter, so we have to detect if it's merging or copying
+ if (getSciVersion() == SCI_VERSION_1_1)
+ paletteMerging = _resMan->detectForPaletteMergingForSci11();
+ else
+ paletteMerging = false;
+ }
+
+ _gfxPalette = new GfxPalette(_resMan, _gfxScreen, paletteMerging);
_gfxCache = new GfxCache(_resMan, _gfxScreen, _gfxPalette);
_gfxCursor = new GfxCursor(_resMan, _gfxPalette, _gfxScreen);