aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Snover2017-04-02 11:31:56 -0500
committerColin Snover2017-04-23 13:07:25 -0500
commit09fea5f108f66083899860ae343d2ae25f8036f0 (patch)
treefbc84d35b91732c8edca1dc1a87c2d45397af8d6
parentb8f0224b62dbfbb4d1a22f0d54c069e116486334 (diff)
downloadscummvm-rg350-09fea5f108f66083899860ae343d2ae25f8036f0.tar.gz
scummvm-rg350-09fea5f108f66083899860ae343d2ae25f8036f0.tar.bz2
scummvm-rg350-09fea5f108f66083899860ae343d2ae25f8036f0.zip
SCI32: Fix bad draw rectangle size in Duck video player
This was causing uninitialised garbage data from the scale buffer to be drawn to the screen.
-rw-r--r--engines/sci/graphics/video32.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/sci/graphics/video32.cpp b/engines/sci/graphics/video32.cpp
index a4f55ae061..0a7cd7e6ef 100644
--- a/engines/sci/graphics/video32.cpp
+++ b/engines/sci/graphics/video32.cpp
@@ -972,9 +972,11 @@ void DuckPlayer::open(const GuiResourceId resourceId, const int displayMode, con
_pixelDouble = displayMode != 0;
const int16 scale = _pixelDouble ? 2 : 1;
+ // SSCI seems to incorrectly calculate the draw rect by scaling the origin
+ // in addition to the width/height for the BR point
_drawRect = Common::Rect(x, y,
- (x + _decoder->getWidth()) * scale,
- (y + _decoder->getHeight()) * scale);
+ x + _decoder->getWidth() * scale,
+ y + _decoder->getHeight() * scale);
g_sci->_gfxCursor32->hide();