diff --git a/src/openrct2/interface/keyboard_shortcut.c b/src/openrct2/interface/keyboard_shortcut.c index bb348b2411..dc0e0f0399 100644 --- a/src/openrct2/interface/keyboard_shortcut.c +++ b/src/openrct2/interface/keyboard_shortcut.c @@ -168,7 +168,7 @@ static void shortcut_pause_game() rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); if (window != NULL) { window_invalidate(window); - window_event_mouse_up_call(window, 0); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PAUSE); } } } @@ -208,39 +208,39 @@ static void shortcut_rotate_construction_object() // Rotate scenery rct_window *w = window_find_by_class(WC_SCENERY); - if (w != NULL && !widget_is_disabled(w, 25) && w->widgets[25].type != WWT_EMPTY) { - window_event_mouse_up_call(w, 25); + if (w != NULL && !widget_is_disabled(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON) && w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON); return; } // Rotate construction track piece w = window_find_by_class(WC_RIDE_CONSTRUCTION); - if (w != NULL && !widget_is_disabled(w, 32) && w->widgets[32].type != WWT_EMPTY) { + if (w != NULL && !widget_is_disabled(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE) && w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WWT_EMPTY) { // Check if building a maze... - if (w->widgets[32].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP) { - window_event_mouse_up_call(w, 32); + if (w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP) { + window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE); return; } } // Rotate track design preview w = window_find_by_class(WC_TRACK_DESIGN_LIST); - if (w != NULL && !widget_is_disabled(w, 5) && w->widgets[5].type != WWT_EMPTY) { - window_event_mouse_up_call(w, 5); + if (w != NULL && !widget_is_disabled(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE); return; } // Rotate track design placement w = window_find_by_class(WC_TRACK_DESIGN_PLACE); - if (w != NULL && !widget_is_disabled(w, 3) && w->widgets[3].type != WWT_EMPTY) { - window_event_mouse_up_call(w, 3); + if (w != NULL && !widget_is_disabled(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE) && w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE); return; } // Rotate park entrance w = window_find_by_class(WC_MAP); - if (w != NULL && !widget_is_disabled(w, 20) && w->widgets[20].type != WWT_EMPTY) { - window_event_mouse_up_call(w, 20); + if (w != NULL && !widget_is_disabled(w, WC_MAP__WIDX_ROTATE_90) && w->widgets[WC_MAP__WIDX_ROTATE_90].type != WWT_EMPTY) { + window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90); return; } } @@ -373,7 +373,7 @@ static void shortcut_adjust_land() rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); if (window != NULL) { window_invalidate(window); - window_event_mouse_up_call(window, 8); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_LAND); } } } @@ -389,7 +389,7 @@ static void shortcut_adjust_water() rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); if (window != NULL) { window_invalidate(window); - window_event_mouse_up_call(window, 9); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_WATER); } } } @@ -405,7 +405,7 @@ static void shortcut_build_scenery() rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); if (window != NULL) { window_invalidate(window); - window_event_mouse_up_call(window, 10); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_SCENERY); } } } @@ -421,7 +421,7 @@ static void shortcut_build_paths() rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); if (window != NULL) { window_invalidate(window); - window_event_mouse_up_call(window, 11); + window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PATH); } } } diff --git a/src/openrct2/interface/window.c b/src/openrct2/interface/window.c index f43f4bc769..665567b908 100644 --- a/src/openrct2/interface/window.c +++ b/src/openrct2/interface/window.c @@ -259,15 +259,19 @@ static bool window_other_wheel_input(rct_window *w, sint32 widgetIndex, sint32 w sint32 previewWidgetIndex; switch (w->classification) { case WC_WATER: + previewWidgetIndex = WC_WATER__WIDX_PREVIEW; + break; case WC_CLEAR_SCENERY: + previewWidgetIndex = WC_CLEAR_SCENERY__WIDX_PREVIEW; + break; case WC_LAND_RIGHTS: - previewWidgetIndex = 3; + previewWidgetIndex = WC_LAND_RIGHTS__WIDX_PREVIEW; break; case WC_LAND: - previewWidgetIndex = 5; + previewWidgetIndex = WC_LAND__WIDX_PREVIEW; break; case WC_MAP: - previewWidgetIndex = 13; + previewWidgetIndex = WC_MAP__WIDX_LAND_TOOL; break; default: return false; diff --git a/src/openrct2/interface/window.h b/src/openrct2/interface/window.h index c46a38abad..97c26b33d1 100644 --- a/src/openrct2/interface/window.h +++ b/src/openrct2/interface/window.h @@ -482,6 +482,32 @@ enum { WC_CHAT = 223, }; +#define validate_global_widx(wc, widx) \ + static_assert(widx == wc ## __ ## widx, "Global WIDX of " #widx " doesn't match actual value.") + +#define WC_TOP_TOOLBAR__WIDX_PAUSE 0 +#define WC_TOP_TOOLBAR__WIDX_LAND 8 +#define WC_TOP_TOOLBAR__WIDX_WATER 9 +#define WC_TOP_TOOLBAR__WIDX_SCENERY 10 +#define WC_TOP_TOOLBAR__WIDX_PATH 11 +#define WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT 23 +#define WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE 29 +#define WC_RIDE_CONSTRUCTION__WIDX_EXIT 30 +#define WC_RIDE_CONSTRUCTION__WIDX_ROTATE 32 +#define WC_SCENERY__WIDX_SCENERY_TAB_1 4 +#define WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON 25 +#define WC_LAND__WIDX_PREVIEW 5 +#define WC_WATER__WIDX_PREVIEW 3 +#define WC_PEEP__WIDX_PATROL 11 +#define WC_PEEP__WIDX_ACTION_LBL 12 +#define WC_TRACK_DESIGN_LIST__WIDX_ROTATE 5 +#define WC_TRACK_DESIGN_PLACE__WIDX_ROTATE 3 +#define WC_MAP__WIDX_LAND_TOOL 13 +#define WC_MAP__WIDX_ROTATE_90 20 +#define WC_EDITOR_OBJECT_SELECTION__WIDX_TAB_1 4 +#define WC_CLEAR_SCENERY__WIDX_PREVIEW 3 +#define WC_LAND_RIGHTS__WIDX_PREVIEW 3 + enum PROMPT_MODE { PM_SAVE_BEFORE_LOAD = 0, PM_SAVE_BEFORE_QUIT, diff --git a/src/openrct2/management/news_item.c b/src/openrct2/management/news_item.c index e9d5584b8b..54ed251976 100644 --- a/src/openrct2/management/news_item.c +++ b/src/openrct2/management/news_item.c @@ -355,7 +355,7 @@ void news_item_open_subject(sint32 type, sint32 subject) window = window_find_by_class(WC_TOP_TOOLBAR); if (window != NULL) { window_invalidate(window); - if (!tool_set(window, 9, 0)) { + if (!tool_set(window, WC_TOP_TOOLBAR__WIDX_WATER, 0)) { input_set_flag(INPUT_FLAG_6, true); window_scenery_open(); } @@ -365,7 +365,7 @@ void news_item_open_subject(sint32 type, sint32 subject) // Switch to new scenery tab window = window_find_by_class(WC_SCENERY); if (window != NULL) - window_event_mouse_down_call(window, 4 + subject); + window_event_mouse_down_call(window, WC_SCENERY__WIDX_SCENERY_TAB_1 + subject); break; case NEWS_ITEM_PEEPS: window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_X, subject);; diff --git a/src/openrct2/peep/peep.c b/src/openrct2/peep/peep.c index 1793d7270a..a8916fafaf 100644 --- a/src/openrct2/peep/peep.c +++ b/src/openrct2/peep/peep.c @@ -10852,7 +10852,7 @@ static void peep_on_exit_ride(rct_peep *peep, sint32 rideIndex) rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); if (w != NULL) { window_event_invalidate_call(w); - widget_invalidate(w, 12); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); } } @@ -11623,7 +11623,7 @@ static void peep_reset_ride_heading(rct_peep *peep) w = window_find_by_number(WC_PEEP, peep->sprite_index); if (w != NULL) { window_event_invalidate_call(w); - widget_invalidate(w, 12); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); } } @@ -12084,7 +12084,7 @@ static void peep_pick_ride_to_go_on(rct_peep *peep) rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); if (w != NULL) { window_event_invalidate_call(w); - widget_invalidate(w, 12); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); } // Make peep look at their map if they have one @@ -12190,7 +12190,7 @@ static void peep_head_for_nearest_ride_type(rct_peep *peep, sint32 rideType) rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index); if (w != NULL) { window_event_invalidate_call(w); - widget_invalidate(w, 12); + widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL); } peep->var_F4 = 0; diff --git a/src/openrct2/ride/ride.c b/src/openrct2/ride/ride.c index 37b6e3f4c0..1161d56146 100644 --- a/src/openrct2/ride/ride.c +++ b/src/openrct2/ride/ride.c @@ -1741,7 +1741,7 @@ static sint32 ride_modify_entrance_or_exit(rct_map_element *mapElement, sint32 x gCurrentToolWidget.window_classification != WC_RIDE_CONSTRUCTION ) { // Replace entrance / exit - tool_set(constructionWindow, entranceType == 0 ? 29 : 30, 12); + tool_set(constructionWindow, entranceType == 0 ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT, 12); gRideEntranceExitPlaceType = entranceType; gRideEntranceExitPlaceRideIndex = rideIndex; gRideEntranceExitPlaceStationIndex = bl; @@ -1756,7 +1756,7 @@ static sint32 ride_modify_entrance_or_exit(rct_map_element *mapElement, sint32 x } else { // Remove entrance / exit game_do_command(x, (GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED | GAME_COMMAND_FLAG_APPLY), y, rideIndex, GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, bl, 0); - gCurrentToolWidget.widget_index = entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? 29 : 30; + gCurrentToolWidget.widget_index = entranceType == ENTRANCE_TYPE_RIDE_ENTRANCE ? WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE : WC_RIDE_CONSTRUCTION__WIDX_EXIT; gRideEntranceExitPlaceType = entranceType; } @@ -1903,7 +1903,7 @@ sint32 sub_6CC3FB(sint32 rideIndex) w = ride_create_or_find_construction_window(rideIndex); - tool_set(w, 23, 12); + tool_set(w, WC_RIDE_CONSTRUCTION__WIDX_CONSTRUCT, 12); input_set_flag(INPUT_FLAG_6, true); ride = get_ride(_currentRideIndex); @@ -5111,7 +5111,7 @@ static void loc_6B51C0(sint32 rideIndex) w = window_find_by_class(WC_RIDE_CONSTRUCTION); if (w != NULL) - window_event_mouse_up_call(w, 29 + entranceOrExit); + window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE + entranceOrExit); } } diff --git a/src/openrct2/windows/clear_scenery.c b/src/openrct2/windows/clear_scenery.c index cf7c218e51..7a3275320c 100644 --- a/src/openrct2/windows/clear_scenery.c +++ b/src/openrct2/windows/clear_scenery.c @@ -39,6 +39,8 @@ enum WINDOW_CLEAR_SCENERY_WIDGET_IDX { WIDX_FOOTPATH }; +validate_global_widx(WC_CLEAR_SCENERY, WIDX_PREVIEW); + rct_widget window_clear_scenery_widgets[] = { { WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background { WWT_CAPTION, 0, 1, 96, 1, 14, STR_CLEAR_SCENERY, STR_WINDOW_TITLE_TIP }, // title bar diff --git a/src/openrct2/windows/editor_bottom_toolbar.c b/src/openrct2/windows/editor_bottom_toolbar.c index d484d7b531..30621b31d9 100644 --- a/src/openrct2/windows/editor_bottom_toolbar.c +++ b/src/openrct2/windows/editor_bottom_toolbar.c @@ -238,7 +238,7 @@ static bool window_editor_bottom_toolbar_check_object_selection() w = window_find_by_class(WC_EDITOR_OBJECT_SELECTION); if (w != NULL) { // Click tab with missing object - window_event_mouse_up_call(w, 4 + missingObjectType); + window_event_mouse_up_call(w, WC_EDITOR_OBJECT_SELECTION__WIDX_TAB_1 + missingObjectType); } return false; } diff --git a/src/openrct2/windows/editor_object_selection.c b/src/openrct2/windows/editor_object_selection.c index 78722a3d24..5f588699f7 100644 --- a/src/openrct2/windows/editor_object_selection.c +++ b/src/openrct2/windows/editor_object_selection.c @@ -143,6 +143,8 @@ enum WINDOW_STAFF_LIST_WIDGET_IDX { WIDX_LIST_SORT_RIDE, }; +validate_global_widx(WC_EDITOR_OBJECT_SELECTION, WIDX_TAB_1); + static rct_widget window_editor_object_selection_widgets[] = { { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, { WWT_CAPTION, 0, 1, 598, 1, 14, STR_OBJECT_SELECTION, STR_WINDOW_TITLE_TIP }, diff --git a/src/openrct2/windows/guest.c b/src/openrct2/windows/guest.c index ef079c0010..edd885202a 100644 --- a/src/openrct2/windows/guest.c +++ b/src/openrct2/windows/guest.c @@ -69,6 +69,8 @@ enum WINDOW_GUEST_WIDGET_IDX { WIDX_RIDE_SCROLL = 10 }; +validate_global_widx(WC_PEEP, WIDX_ACTION_LBL); + rct_widget window_guest_overview_widgets[] = { {WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE}, // Panel / Background {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, // Title diff --git a/src/openrct2/windows/land.c b/src/openrct2/windows/land.c index 4907310415..50b5d8aed2 100644 --- a/src/openrct2/windows/land.c +++ b/src/openrct2/windows/land.c @@ -40,6 +40,8 @@ enum WINDOW_LAND_WIDGET_IDX { WIDX_WALL, }; +validate_global_widx(WC_LAND, WIDX_PREVIEW); + static rct_widget window_land_widgets[] = { { WWT_FRAME, 0, 0, 97, 0, 159, 0xFFFFFFFF, STR_NONE }, // panel / background { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND, STR_WINDOW_TITLE_TIP }, // title bar diff --git a/src/openrct2/windows/land_rights.c b/src/openrct2/windows/land_rights.c index 7b71582e61..8d6e09fc96 100644 --- a/src/openrct2/windows/land_rights.c +++ b/src/openrct2/windows/land_rights.c @@ -39,6 +39,8 @@ enum WINDOW_WATER_WIDGET_IDX { WIDX_BUY_CONSTRUCTION_RIGHTS }; +validate_global_widx(WC_LAND_RIGHTS, WIDX_PREVIEW); + static rct_widget window_land_rights_widgets[] = { { WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND_RIGHTS, STR_WINDOW_TITLE_TIP }, // title bar diff --git a/src/openrct2/windows/map.c b/src/openrct2/windows/map.c index ee3690f3d4..3c49a44634 100644 --- a/src/openrct2/windows/map.c +++ b/src/openrct2/windows/map.c @@ -68,6 +68,9 @@ enum WINDOW_MAP_WIDGET_IDX { WIDX_MAP_GENERATOR = 21 }; +validate_global_widx(WC_MAP, WIDX_LAND_TOOL); +validate_global_widx(WC_MAP, WIDX_ROTATE_90); + static rct_widget window_map_widgets[] = { { WWT_FRAME, 0, 0, 244, 0, 258, STR_NONE, STR_NONE }, { WWT_CAPTION, 0, 1, 243, 1, 14, STR_MAP_LABEL, STR_WINDOW_TITLE_TIP }, diff --git a/src/openrct2/windows/ride.c b/src/openrct2/windows/ride.c index 67fee1782d..e2386c555a 100644 --- a/src/openrct2/windows/ride.c +++ b/src/openrct2/windows/ride.c @@ -4966,7 +4966,7 @@ static void setup_scenery_selection(rct_window* w) cancel_scenery_selection(); } - while (tool_set(w, 0, 12)); + while (tool_set(w, WIDX_BACKGROUND, 12)); gTrackDesignSaveRideIndex = (uint8)w->number; diff --git a/src/openrct2/windows/ride_construction.c b/src/openrct2/windows/ride_construction.c index f316aa0e7d..4e2b996e62 100644 --- a/src/openrct2/windows/ride_construction.c +++ b/src/openrct2/windows/ride_construction.c @@ -87,6 +87,11 @@ enum { WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN, }; +validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_CONSTRUCT); +validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_ENTRANCE); +validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_EXIT); +validate_global_widx(WC_RIDE_CONSTRUCTION, WIDX_ROTATE); + static rct_widget window_ride_construction_widgets[] = { { WWT_FRAME, 0, 0, 165, 0, 393, 0xFFFFFFFF, STR_NONE }, { WWT_CAPTION, 0, 1, 164, 1, 14, STR_RIDE_CONSTRUCTION_WINDOW_TITLE, STR_WINDOW_TITLE_TIP }, @@ -3924,7 +3929,7 @@ void ride_construction_tooldown_construct(sint32 screenX, sint32 screenY) audio_play_sound_panned(SOUND_ERROR, gCursorState.x, x, y, z); w = window_find_by_class(WC_RIDE_CONSTRUCTION); if (w != NULL){ - tool_set(w, 23, 12); + tool_set(w, WIDX_CONSTRUCT, 12); input_set_flag(INPUT_FLAG_6, true); _trackPlaceCtrlState = false; _trackPlaceShiftState = false; diff --git a/src/openrct2/windows/scenery.c b/src/openrct2/windows/scenery.c index 9519434552..d2f181e34e 100644 --- a/src/openrct2/windows/scenery.c +++ b/src/openrct2/windows/scenery.c @@ -143,6 +143,9 @@ enum WINDOW_SCENERY_LIST_WIDGET_IDX { WIDX_SCENERY_BUILD_CLUSTER_BUTTON, // 80000000 }; +validate_global_widx(WC_SCENERY, WIDX_SCENERY_TAB_1); +validate_global_widx(WC_SCENERY, WIDX_SCENERY_ROTATE_OBJECTS_BUTTON); + static rct_widget window_scenery_widgets[] = { { WWT_FRAME, 0, 0, 633, 0, 141, 0xFFFFFFFF, STR_NONE }, // 1 0x009DE298 { WWT_CAPTION, 0, 1, 632, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // 2 0x009DE2A8 diff --git a/src/openrct2/windows/staff.c b/src/openrct2/windows/staff.c index fe431b2a64..59ca77ae68 100644 --- a/src/openrct2/windows/staff.c +++ b/src/openrct2/windows/staff.c @@ -65,6 +65,8 @@ enum WINDOW_STAFF_WIDGET_IDX { WIDX_COSTUME_BTN, }; +validate_global_widx(WC_PEEP, WIDX_PATROL); + rct_widget window_staff_overview_widgets[] = { { WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title diff --git a/src/openrct2/windows/staff_list.c b/src/openrct2/windows/staff_list.c index 9120d2a416..1b3ec92221 100644 --- a/src/openrct2/windows/staff_list.c +++ b/src/openrct2/windows/staff_list.c @@ -383,7 +383,7 @@ static void window_staff_list_tooldown(rct_window *w, sint32 widgetIndex, sint32 if (closestPeep != NULL) { tool_cancel(); rct_window *staffWindow = window_staff_open(closestPeep); - window_event_dropdown_call(staffWindow, 11, 0); + window_event_dropdown_call(staffWindow, WC_PEEP__WIDX_PATROL, 0); } else { set_format_arg(0, rct_string_id, StaffNamingConvention[selectedPeepType].plural); window_error_open(STR_NO_THING_IN_PARK_YET, STR_NONE); diff --git a/src/openrct2/windows/top_toolbar.c b/src/openrct2/windows/top_toolbar.c index aef74bcf2c..ccab1a2f91 100644 --- a/src/openrct2/windows/top_toolbar.c +++ b/src/openrct2/windows/top_toolbar.c @@ -71,6 +71,12 @@ enum { WIDX_SEPARATOR, }; +validate_global_widx(WC_TOP_TOOLBAR, WIDX_PAUSE); +validate_global_widx(WC_TOP_TOOLBAR, WIDX_LAND); +validate_global_widx(WC_TOP_TOOLBAR, WIDX_WATER); +validate_global_widx(WC_TOP_TOOLBAR, WIDX_SCENERY); +validate_global_widx(WC_TOP_TOOLBAR, WIDX_PATH); + typedef enum { DDIDX_NEW_GAME = 0, DDIDX_LOAD_GAME = 1, diff --git a/src/openrct2/windows/track_list.c b/src/openrct2/windows/track_list.c index 7f86bcf992..6b855e5962 100644 --- a/src/openrct2/windows/track_list.c +++ b/src/openrct2/windows/track_list.c @@ -41,6 +41,8 @@ enum { WIDX_BACK, }; +validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE); + static rct_widget window_track_list_widgets[] = { { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, { WWT_CAPTION, 0, 1, 598, 1, 14, STR_SELECT_DESIGN, STR_WINDOW_TITLE_TIP }, diff --git a/src/openrct2/windows/track_place.c b/src/openrct2/windows/track_place.c index 0a904914cc..92eeef2e3c 100644 --- a/src/openrct2/windows/track_place.c +++ b/src/openrct2/windows/track_place.c @@ -48,6 +48,8 @@ enum { WIDX_PRICE }; +validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE); + static rct_widget window_track_place_widgets[] = { { WWT_FRAME, 0, 0, 199, 0, 123, 0xFFFFFFFF, STR_NONE }, { WWT_CAPTION, 0, 1, 198, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, @@ -166,7 +168,7 @@ void window_track_place_open(const track_design_file_ref *tdFileRef) | 1 << WIDX_MIRROR | 1 << WIDX_SELECT_DIFFERENT_DESIGN; window_init_scroll_widgets(w); - tool_set(w, 6, 12); + tool_set(w, WIDX_PRICE, 12); input_set_flag(INPUT_FLAG_6, true); window_push_others_right(w); show_gridlines(); @@ -337,7 +339,7 @@ static void window_track_place_tooldown(rct_window* w, sint32 widgetIndex, sint3 } else { sub_6CC3FB(rideIndex); w = window_find_by_class(WC_RIDE_CONSTRUCTION); - window_event_mouse_up_call(w, 29); + window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE); } return; } diff --git a/src/openrct2/windows/water.c b/src/openrct2/windows/water.c index 80a0608d20..69f569f232 100644 --- a/src/openrct2/windows/water.c +++ b/src/openrct2/windows/water.c @@ -35,6 +35,8 @@ enum WINDOW_WATER_WIDGET_IDX { WIDX_INCREMENT }; +validate_global_widx(WC_WATER, WIDX_PREVIEW); + static rct_widget window_water_widgets[] = { { WWT_FRAME, 0, 0, 75, 0, 76, 0xFFFFFFFF, STR_NONE }, // panel / background { WWT_CAPTION, 0, 1, 74, 1, 14, STR_WATER, STR_WINDOW_TITLE_TIP }, // title bar