aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/view.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-10-26 20:19:17 +0000
committerMartin Kiewitz2010-10-26 20:19:17 +0000
commitd078a4d235117696d889a6f52a0b2c6a0569d6ea (patch)
tree40d4b1da9464fb8da4f5b975c0ca3f35ce552031 /engines/sci/graphics/view.cpp
parentd3523a604071eae4f78f879f9d42a81f29b9121f (diff)
downloadscummvm-rg350-d078a4d235117696d889a6f52a0b2c6a0569d6ea.tar.gz
scummvm-rg350-d078a4d235117696d889a6f52a0b2c6a0569d6ea.tar.bz2
scummvm-rg350-d078a4d235117696d889a6f52a0b2c6a0569d6ea.zip
SCI: fix gfx issues when giving out cards hoyle4
bit 2 actually triggers special drawing of cels in sierra sci svn-id: r53855
Diffstat (limited to 'engines/sci/graphics/view.cpp')
-rw-r--r--engines/sci/graphics/view.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp
index 20ebb9b937..36d48fe3c9 100644
--- a/engines/sci/graphics/view.cpp
+++ b/engines/sci/graphics/view.cpp
@@ -354,6 +354,16 @@ void GfxView::getCelRect(int16 loopNo, int16 celNo, int16 x, int16 y, int16 z, C
outRect.top = outRect.bottom - celInfo->height;
}
+void GfxView::getCelSpecialHoyle4Rect(int16 loopNo, int16 celNo, int16 x, int16 y, int16 z, Common::Rect &outRect) const {
+ const CelInfo *celInfo = getCelInfo(loopNo, celNo);
+ int16 adjustY = y - celInfo->height + celInfo->displaceY + 1;
+ int16 adjustX = x - ((celInfo->width - 1) >> 1) + celInfo->displaceX;
+ outRect.top += adjustY;
+ outRect.bottom += adjustY;
+ outRect.left += adjustX;
+ outRect.right += adjustX;
+}
+
void GfxView::getCelScaledRect(int16 loopNo, int16 celNo, int16 x, int16 y, int16 z, int16 scaleX, int16 scaleY, Common::Rect &outRect) const {
int16 scaledDisplaceX, scaledDisplaceY;
int16 scaledWidth, scaledHeight;