From d7972603e71f4d9cca0b998e72a47f2e1b07c095 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Sun, 22 Sep 2019 00:11:51 +0100 Subject: [PATCH] HDB: Fix Game Breaking Bug in Right Mouse Button Handling The right mouse button (which is the "Use" button for throwing gems etc.) function sets the Button B flag in the _buttons flag field, but never cleared it. This resulted in blocking of setting of movement waypoints with the left button and thus locked up the player character. You could avoid this by using the "Return" key which is also mapped to use, but this would only be possible on desktop ports or with a virtual keyboard. This commit fixes the mouse handling code to clear the flag and thus avoids future bug reports. --- engines/hdb/input.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engines/hdb/input.cpp b/engines/hdb/input.cpp index 093f525ec44..09aa5d95992 100644 --- a/engines/hdb/input.cpp +++ b/engines/hdb/input.cpp @@ -494,6 +494,9 @@ void Input::updateMouseButtons(int l, int m, int r) { uint16 buttons = getButtons() | kButtonB; setButtons(buttons); + } else if (!_mouseRButton) { + uint16 buttons = getButtons() & ~kButtonB; + setButtons(buttons); } }