aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-04-26 23:48:36 +0200
committerWillem Jan Palenstijn2011-05-01 13:41:06 +0200
commit0ff44497c77fd37c20918d22b628348fd0f3b5fe (patch)
treeb2500d1edc0d225b6afb6b2871037b08fbdf782f
parent204a9c2e51fa834f5f04776f3e53535d158c900c (diff)
downloadscummvm-rg350-0ff44497c77fd37c20918d22b628348fd0f3b5fe.tar.gz
scummvm-rg350-0ff44497c77fd37c20918d22b628348fd0f3b5fe.tar.bz2
scummvm-rg350-0ff44497c77fd37c20918d22b628348fd0f3b5fe.zip
SCI: Round left/right edges in bitsShow to even coords
This fixes the vertical black line glitch in the QfG3 start menu (#3293351)
-rw-r--r--engines/sci/graphics/paint16.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/sci/graphics/paint16.cpp b/engines/sci/graphics/paint16.cpp
index bb23fb882c..5172f7cdc0 100644
--- a/engines/sci/graphics/paint16.cpp
+++ b/engines/sci/graphics/paint16.cpp
@@ -297,6 +297,11 @@ void GfxPaint16::bitsShow(const Common::Rect &rect) {
return;
_ports->offsetRect(workerRect);
+
+ // We adjust the left/right coordinates to even coordinates
+ workerRect.left &= 0xFFFE; // round down
+ workerRect.right = (workerRect.right + 1) & 0xFFFE; // round up
+
_screen->copyRectToScreen(workerRect);
}