From 09fea5f108f66083899860ae343d2ae25f8036f0 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Sun, 2 Apr 2017 11:31:56 -0500 Subject: 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. --- engines/sci/graphics/video32.cpp | 6 ++++-- 1 file 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(); -- cgit v1.2.3