aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2012-06-20 13:36:29 +0300
committerFilippos Karapetis2012-06-20 13:36:29 +0300
commit5a2e65469f3650dc9785bf27b77d25d285ded4f1 (patch)
tree285dab9b2a6f744555ada2e270bafadbebc434c0 /engines
parentbd3366c2086e32a569eb15522e0c42dee90d50fb (diff)
downloadscummvm-rg350-5a2e65469f3650dc9785bf27b77d25d285ded4f1.tar.gz
scummvm-rg350-5a2e65469f3650dc9785bf27b77d25d285ded4f1.tar.bz2
scummvm-rg350-5a2e65469f3650dc9785bf27b77d25d285ded4f1.zip
SCI: Change kRemapColors(5) again. Fixes the colors in QFG4
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kgraphics.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 59dba994b5..0ef268f108 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -1260,9 +1260,16 @@ reg_t kRemapColors(EngineState *s, int argc, reg_t *argv) {
}
break;
case 5: { // set color intensity
- int16 color = argv[1].toSint16();
+ // TODO: This isn't right, it should be setting a mapping table instead.
+ // For PQ4, we can emulate this with kernelSetIntensity(). In QFG4, this
+ // won't do.
+ //int16 mapping = argv[1].toSint16();
uint16 intensity = argv[2].toUint16();
- g_sci->_gfxPalette->kernelSetIntensity(color, 255, intensity, true);
+ // HACK for PQ4
+ if (g_sci->getGameId() == GID_PQ4)
+ g_sci->_gfxPalette->kernelSetIntensity(0, 255, intensity, true);
+
+ kStub(s, argc, argv);
}
break;
default: