diff options
author | Martin Kiewitz | 2010-07-22 21:40:10 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-07-22 21:40:10 +0000 |
commit | ba47a427b2d8c511a2e9ebbddce28dce0c8d19d8 (patch) | |
tree | 9e13931172bbf357c70af533dc1ac7079a982531 /engines | |
parent | 198986b25b948986fda248367b114e3efbf9bd48 (diff) | |
download | scummvm-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.cpp | 21 |
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); |