aboutsummaryrefslogtreecommitdiff
path: root/engines/sky
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sky')
-rw-r--r--engines/sky/logic.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/sky/logic.cpp b/engines/sky/logic.cpp
index 0242b2a99e..4f7f1fc774 100644
--- a/engines/sky/logic.cpp
+++ b/engines/sky/logic.cpp
@@ -1213,6 +1213,16 @@ uint16 Logic::mouseScript(uint32 scrNum, Compact *scriptComp) {
_compact = scriptComp;
uint16 retVal = script((uint16)(scrNum & 0xFFFF), (uint16)(scrNum >> 16));
_compact = tmpComp;
+
+ if (scrNum == MENU_SELECT || (scrNum >= LINC_MENU_SELECT && scrNum <= DOC_MENU_SELECT)) {
+ // HACK: See patch #1689516 for details. The short story:
+ // The user has clicked on an inventory item. We update the
+ // mouse cursor instead of waiting for the script to update it.
+ // In the original game the cursor is just updated when the mouse
+ // moves away the item, but it's unintuitive.
+ fnCrossMouse(0, 0, 0);
+ }
+
return retVal;
}