diff options
author | Filippos Karapetis | 2012-07-25 01:32:34 +0300 |
---|---|---|
committer | Filippos Karapetis | 2012-07-25 01:32:34 +0300 |
commit | 55e508b91f840cd4f6358d1a1ff192b16ab1338c (patch) | |
tree | 9ed979797bae1089f9b15af876a51ab773acc325 /engines/sci | |
parent | 797dbfe506d5273c0385997401aa32524995df33 (diff) | |
download | scummvm-rg350-55e508b91f840cd4f6358d1a1ff192b16ab1338c.tar.gz scummvm-rg350-55e508b91f840cd4f6358d1a1ff192b16ab1338c.tar.bz2 scummvm-rg350-55e508b91f840cd4f6358d1a1ff192b16ab1338c.zip |
SCI: Add a workaround for QFG4, screen 140 (character selection screen)
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kgraphics32.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp index 3d2c2af81b..d3db28226a 100644 --- a/engines/sci/engine/kgraphics32.cpp +++ b/engines/sci/engine/kgraphics32.cpp @@ -738,6 +738,12 @@ reg_t kRemapColors32(EngineState *s, int argc, reg_t *argv) { switch (operation) { case 0: { // turn remapping off + // WORKAROUND: Game scripts in QFG4 erroneously turn remapping off in room + // 140 (the character point allocation screen) and never turn it back on, + // even if it's clearly used in that screen. + if (g_sci->getGameId() == GID_QFG4 && s->currentRoomNumber() == 140) + return s->r_acc; + int16 base = (argc >= 2) ? argv[1].toSint16() : 0; if (base > 0) warning("kRemapColors(0) called with base %d", base); |