aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Bouclet2018-05-28 15:20:09 +0200
committerBastien Bouclet2018-05-28 15:20:09 +0200
commit8d654285cbf0bf6423676244c89833557f811e38 (patch)
treed6492ea216d5c9af92a9c0e3887bcccd3bd3c836
parent35f4983ca122750fd4e3b5e2857b9d17dd73f932 (diff)
downloadscummvm-rg350-8d654285cbf0bf6423676244c89833557f811e38.tar.gz
scummvm-rg350-8d654285cbf0bf6423676244c89833557f811e38.tar.bz2
scummvm-rg350-8d654285cbf0bf6423676244c89833557f811e38.zip
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.
-rw-r--r--engines/mohawk/myst_graphics.cpp9
1 files changed, 9 insertions, 0 deletions
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<int>(surface->h, dest.height());