aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-22 21:40:10 +0000
committerMartin Kiewitz2010-07-22 21:40:10 +0000
commitba47a427b2d8c511a2e9ebbddce28dce0c8d19d8 (patch)
tree9e13931172bbf357c70af533dc1ac7079a982531 /engines
parent198986b25b948986fda248367b114e3efbf9bd48 (diff)
downloadscummvm-rg350-ba47a427b2d8c511a2e9ebbddce28dce0c8d19d8.tar.gz
scummvm-rg350-ba47a427b2d8c511a2e9ebbddce28dce0c8d19d8.tar.bz2
scummvm-rg350-ba47a427b2d8c511a2e9ebbddce28dce0c8d19d8.zip
SCI: sci2+ has a different kSetCursor order
fixes gk1 mouse cursor issue thx to wjp svn-id: r51168
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kgraphics.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 63adcf9ed8..6ca6525aec 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -144,14 +144,19 @@ static reg_t kSetCursorSci11(EngineState *s, int argc, reg_t *argv) {
g_sci->_gfxCursor->kernelSetPos(pos);
break;
case 4: {
- int16 top = argv[0].toSint16();
- int16 left = argv[1].toSint16();
- int16 bottom = argv[2].toSint16();
- int16 right = argv[3].toSint16();
-
- // In SCI32, the right parameter seems to be divided by 2
- if (getSciVersion() >= SCI_VERSION_2)
- right *= 2;
+ int16 top, left, bottom, right;
+
+ if (getSciVersion() >= SCI_VERSION_2) {
+ top = argv[1].toSint16();
+ left = argv[0].toSint16();
+ bottom = argv[3].toSint16();
+ right = argv[2].toSint16();
+ } else {
+ top = argv[0].toSint16();
+ left = argv[1].toSint16();
+ bottom = argv[2].toSint16();
+ right = argv[3].toSint16();
+ }
if ((right >= left) && (bottom >= top)) {
Common::Rect rect = Common::Rect(left, top, right, bottom);