aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/graphics/ports.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/sci/graphics/ports.cpp b/engines/sci/graphics/ports.cpp
index dddd9b1c86..8fb9769fc7 100644
--- a/engines/sci/graphics/ports.cpp
+++ b/engines/sci/graphics/ports.cpp
@@ -510,7 +510,8 @@ void GfxPorts::setOrigin(int16 left, int16 top) {
// This looks fishy, but it's exactly what sierra did. They removed last bit of left in their interpreter
// It seems sierra did it for EGA byte alignment (EGA uses 1 byte for 2 pixels) and left it in their interpreter even
// when going VGA.
- _curPort->left = left & 0x7FFE;
+ // Fan made games do not compensate for this - fixes bug #3041153.
+ _curPort->left = (g_sci->getGameId() != GID_FANMADE) ? left & 0x7FFE : left;
_curPort->top = top;
}