mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-23 06:44:38 +01:00
integrate variable: gPressedWidget
This commit is contained in:
@@ -104,7 +104,7 @@ void viewport_init_all()
|
||||
// ?
|
||||
gInputFlags = 0;
|
||||
gInputState = INPUT_STATE_RESET;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_CURSOR_DOWN_WINDOWCLASS, rct_windowclass) = -1;
|
||||
gPressedWidget.window_classification = 255;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_PICKEDUP_PEEP_IMAGE, sint32) = -1;
|
||||
gTooltipNotShownTicks = -1;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_MAP_SELECTION_FLAGS, sint16) = 0;
|
||||
|
||||
@@ -978,19 +978,15 @@ int widget_is_disabled(rct_window *w, int widgetIndex)
|
||||
|
||||
int widget_is_pressed(rct_window *w, int widgetIndex)
|
||||
{
|
||||
int inputState = gInputState;
|
||||
|
||||
if (w->pressed_widgets & (1LL << widgetIndex))
|
||||
if (w->pressed_widgets & (1LL << widgetIndex)) {
|
||||
return 1;
|
||||
}
|
||||
if (gInputState == INPUT_STATE_WIDGET_PRESSED || gInputState == INPUT_STATE_DROPDOWN_ACTIVE) {
|
||||
if (!(gInputFlags & INPUT_FLAG_WIDGET_PRESSED)) return 0;
|
||||
if (gPressedWidget.window_classification != w->classification) return 0;
|
||||
if (gPressedWidget.window_number != w->number) return 0;
|
||||
if (gPressedWidget.widget_index != widgetIndex) return 0;
|
||||
return 1;
|
||||
if (inputState == INPUT_STATE_WIDGET_PRESSED || inputState == INPUT_STATE_DROPDOWN_ACTIVE) {
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_CURSOR_DOWN_WINDOWCLASS, rct_windowclass) != w->classification)
|
||||
return 0;
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_CURSOR_DOWN_WINDOWNUMBER, rct_windownumber) != w->number)
|
||||
return 0;
|
||||
if (!(gInputFlags & INPUT_FLAG_WIDGET_PRESSED))
|
||||
return 0;
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_CURSOR_DOWN_WIDGETINDEX, sint32) == widgetIndex)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user