From aea7da44109140ed58c841d2d856fa24cd0617e9 Mon Sep 17 00:00:00 2001 From: sluicebox Date: Wed, 14 Aug 2019 08:29:12 -0700 Subject: SCI: Fix Macintosh kDrawPic mirror flag handling Fixes the KQ6 Mac peppermint cave room --- engines/sci/engine/kgraphics.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'engines/sci') 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()) -- cgit v1.2.3