diff options
author | Bastien Bouclet | 2018-05-28 15:20:09 +0200 |
---|---|---|
committer | Bastien Bouclet | 2018-05-28 15:20:09 +0200 |
commit | 8d654285cbf0bf6423676244c89833557f811e38 (patch) | |
tree | d6492ea216d5c9af92a9c0e3887bcccd3bd3c836 /engines | |
parent | 35f4983ca122750fd4e3b5e2857b9d17dd73f932 (diff) | |
download | scummvm-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.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mohawk/myst_graphics.cpp | 9 |
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()); |