Before, gadgets were checked for clicks before global animations, which
caused clickable global animations to not be clicked if a gadget at the
same position was successfully clicked (because mouse events are forced
to be off-screen afterwards).
Now, clickable global animations are checked for mouse clicks before
gadgets, and they either consume the mouse click (so a gadget at the
same position will not receive the mouse click anymore), or they are
set to "passthrough_clicks" style (so a gadget at the same position
will still receive the mouse click).
strEqual(setup.touch.control_type, TOUCH_CONTROL_FOLLOW_FINGER));
#endif
strEqual(setup.touch.control_type, TOUCH_CONTROL_FOLLOW_FINGER));
#endif
- if (handle_gadgets && HandleGadgets(mx, my, button))
+ if (HandleGlobalAnimClicks(mx, my, button))
{
/* do not handle this button event anymore */
{
/* do not handle this button event anymore */
- mx = my = -32; /* force mouse event to be outside screen tiles */
+ return; /* force mouse event not to be handled at all */
- if (HandleGlobalAnimClicks(mx, my, button))
+ if (handle_gadgets && HandleGadgets(mx, my, button))
{
/* do not handle this button event anymore */
{
/* do not handle this button event anymore */
- return; /* force mouse event not to be handled at all */
+ mx = my = -32; /* force mouse event to be outside screen tiles */
}
if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing)
}
if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing)