From 8d654285cbf0bf6423676244c89833557f811e38 Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Mon, 28 May 2018 15:20:09 +0200 Subject: MOHAWK: MYST: Fix drawing the Stoneship red page open door When the lights are on, the open door image would not draw at the correct position in Myst ME only. This is due to the open door image being too small. The original has a special case for that image. We reproduce that same hack. Fixes Trac#7143. --- engines/mohawk/myst_graphics.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/engines/mohawk/myst_graphics.cpp b/engines/mohawk/myst_graphics.cpp index 3f8d15cea5..6b43ea02bc 100644 --- a/engines/mohawk/myst_graphics.cpp +++ b/engines/mohawk/myst_graphics.cpp @@ -231,6 +231,15 @@ void MystGraphics::copyImageSectionToBackBuffer(uint16 image, Common::Rect src, MohawkSurface *mhkSurface = findImage(image); Graphics::Surface *surface = mhkSurface->getSurface(); + if (image == 2258 && _vm->getFeatures() & GF_ME) { + // In Myst ME, the image for the open red page brother door + // when the special lights are on does not have the correct width. + // We work around this issue by tweaking the destination rectangle + // so it renders at the correct position. + // The original executable does the same hack. + dest.left += 49; + } + // Make sure the image is bottom aligned in the dest rect dest.top = dest.bottom - MIN(surface->h, dest.height()); -- cgit v1.2.3