aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/graphics.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2010-11-17 18:22:22 +0000
committerMatthew Hoops2010-11-17 18:22:22 +0000
commit4e445b94679f330ef0653821842d13056ff159bb (patch)
tree83139421fba86981300657fbbd38fffae4039cbc /engines/mohawk/graphics.cpp
parente086ef00965a4ee77a241ea26bf50c6446030f43 (diff)
downloadscummvm-rg350-4e445b94679f330ef0653821842d13056ff159bb.tar.gz
scummvm-rg350-4e445b94679f330ef0653821842d13056ff159bb.tar.bz2
scummvm-rg350-4e445b94679f330ef0653821842d13056ff159bb.zip
MOHAWK: Apply patch #2988976: "MYST: Fix drawing partial subimages"
svn-id: r54297
Diffstat (limited to 'engines/mohawk/graphics.cpp')
-rw-r--r--engines/mohawk/graphics.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/mohawk/graphics.cpp b/engines/mohawk/graphics.cpp
index 4aca954155..e4f9a009fd 100644
--- a/engines/mohawk/graphics.cpp
+++ b/engines/mohawk/graphics.cpp
@@ -206,7 +206,11 @@ void MystGraphics::copyImageSectionToScreen(uint16 image, Common::Rect src, Comm
if (surface) {
uint16 width = MIN<int>(surface->w, dest.width());
uint16 height = MIN<int>(surface->h, dest.height());
- _vm->_system->copyRectToScreen((byte *)surface->getBasePtr(src.left, src.top), surface->pitch, dest.left, dest.top, width, height);
+
+ // Convert from bitmap coordinates to surface coordinates
+ uint16 top = surface->h - src.top - height;
+
+ _vm->_system->copyRectToScreen((byte *)surface->getBasePtr(src.left, top), surface->pitch, dest.left, dest.top, width, height);
surface->free();
delete surface;
}