aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kgraphics.cpp
diff options
context:
space:
mode:
authorsluicebox2019-08-14 08:29:12 -0700
committersluicebox2019-08-14 08:29:12 -0700
commitaea7da44109140ed58c841d2d856fa24cd0617e9 (patch)
tree87d17b8b018b4c80912e1d3cc8932d72b6a0749b /engines/sci/engine/kgraphics.cpp
parentafd360703e612daa21624e57154cee920265dcda (diff)
downloadscummvm-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/engine/kgraphics.cpp')
-rw-r--r--engines/sci/engine/kgraphics.cpp9
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())