From 3d462195925a6bda4faac8ff340c8f425a8766c3 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 30 Dec 2007 17:58:22 +0000 Subject: Patch #1689516: BASS: Update the cursor when right-clicking in inventory svn-id: r30085 --- engines/sky/logic.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'engines') 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; } -- cgit v1.2.3