diff options
author | Martin Kiewitz | 2010-10-26 20:19:17 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-10-26 20:19:17 +0000 |
commit | d078a4d235117696d889a6f52a0b2c6a0569d6ea (patch) | |
tree | 40d4b1da9464fb8da4f5b975c0ca3f35ce552031 /engines/sci/graphics/view.cpp | |
parent | d3523a604071eae4f78f879f9d42a81f29b9121f (diff) | |
download | scummvm-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.cpp | 10 |
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; |