diff options
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index bea91d7bf3..55d0de8261 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -150,14 +150,17 @@ static reg_t kSetCursorSci11(EngineState *s, int argc, reg_t *argv) { if (getSciVersion() >= SCI_VERSION_2) { top = argv[1].toSint16(); left = argv[0].toSint16(); - bottom = argv[3].toSint16() + 1; // bottom/right needs to get included in our movezone - right = argv[2].toSint16() + 1; + bottom = argv[3].toSint16(); + right = argv[2].toSint16(); } else { top = argv[0].toSint16(); left = argv[1].toSint16(); - bottom = argv[2].toSint16(); // TODO: check if sci16 behaved the same as sci32 + bottom = argv[2].toSint16(); right = argv[3].toSint16(); } + // bottom/right needs to be included into our movezone, because we compare it like any regular Common::Rect + bottom++; + right++; if ((right >= left) && (bottom >= top)) { Common::Rect rect = Common::Rect(left, top, right, bottom); |