diff options
author | Filippos Karapetis | 2012-06-20 13:36:29 +0300 |
---|---|---|
committer | Filippos Karapetis | 2012-06-20 13:36:29 +0300 |
commit | 5a2e65469f3650dc9785bf27b77d25d285ded4f1 (patch) | |
tree | 285dab9b2a6f744555ada2e270bafadbebc434c0 /engines/sci | |
parent | bd3366c2086e32a569eb15522e0c42dee90d50fb (diff) | |
download | scummvm-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/sci')
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 11 |
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: |