1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-23 06:44:38 +01:00

integrate variable: gPressedWidget

This commit is contained in:
IntelOrca
2016-01-05 21:46:38 +00:00
parent c181f18309
commit 586e5ef9cd
5 changed files with 34 additions and 46 deletions

View File

@@ -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;

View File

@@ -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;
}