diff options
author | sluicebox | 2019-08-14 08:29:12 -0700 |
---|---|---|
committer | sluicebox | 2019-08-14 08:29:12 -0700 |
commit | aea7da44109140ed58c841d2d856fa24cd0617e9 (patch) | |
tree | 87d17b8b018b4c80912e1d3cc8932d72b6a0749b /engines/sci | |
parent | afd360703e612daa21624e57154cee920265dcda (diff) | |
download | scummvm-rg350-aea7da44109140ed58c841d2d856fa24cd0617e9.tar.gz scummvm-rg350-aea7da44109140ed58c841d2d856fa24cd0617e9.tar.bz2 scummvm-rg350-aea7da44109140ed58c841d2d856fa24cd0617e9.zip |
SCI: Fix Macintosh kDrawPic mirror flag handling
Fixes the KQ6 Mac peppermint cave room
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index a05031059c..7294bb1e44 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -563,8 +563,13 @@ reg_t kDrawPic(EngineState *s, int argc, reg_t *argv) { if (flags & K_DRAWPIC_FLAGS_ANIMATIONBLACKOUT) animationBlackoutFlag = true; animationNr = flags & 0xFF; - if (flags & K_DRAWPIC_FLAGS_MIRRORED) - mirroredFlag = true; + // Mac interpreters ignored the mirrored flag and didn't mirror pics. + // KQ6 PC room 390 drew pic 390 mirrored so Mac added pic 395, which + // is a mirror of 390, but the script continued to pass this flag. + if (g_sci->getPlatform() != Common::kPlatformMacintosh) { + if (flags & K_DRAWPIC_FLAGS_MIRRORED) + mirroredFlag = true; + } } if (argc >= 3) { if (!argv[2].isNull()) |