Add compile-time checked constants for widget ids

This commit is contained in:
Marijn van der Werf 2017-05-02 02:01:29 +02:00 committed by Michael Steenbeek
parent 0debd879da
commit 3cf725745d
22 changed files with 100 additions and 35 deletions

View File

@ -168,7 +168,7 @@ static void shortcut_pause_game()
rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); rct_window *window = window_find_by_class(WC_TOP_TOOLBAR);
if (window != NULL) { if (window != NULL) {
window_invalidate(window); 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 // Rotate scenery
rct_window *w = window_find_by_class(WC_SCENERY); rct_window *w = window_find_by_class(WC_SCENERY);
if (w != NULL && !widget_is_disabled(w, 25) && w->widgets[25].type != WWT_EMPTY) { 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, 25); window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON);
return; return;
} }
// Rotate construction track piece // Rotate construction track piece
w = window_find_by_class(WC_RIDE_CONSTRUCTION); 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... // Check if building a maze...
if (w->widgets[32].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP) { if (w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP) {
window_event_mouse_up_call(w, 32); window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE);
return; return;
} }
} }
// Rotate track design preview // Rotate track design preview
w = window_find_by_class(WC_TRACK_DESIGN_LIST); w = window_find_by_class(WC_TRACK_DESIGN_LIST);
if (w != NULL && !widget_is_disabled(w, 5) && w->widgets[5].type != WWT_EMPTY) { 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, 5); window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE);
return; return;
} }
// Rotate track design placement // Rotate track design placement
w = window_find_by_class(WC_TRACK_DESIGN_PLACE); w = window_find_by_class(WC_TRACK_DESIGN_PLACE);
if (w != NULL && !widget_is_disabled(w, 3) && w->widgets[3].type != WWT_EMPTY) { 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, 3); window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE);
return; return;
} }
// Rotate park entrance // Rotate park entrance
w = window_find_by_class(WC_MAP); w = window_find_by_class(WC_MAP);
if (w != NULL && !widget_is_disabled(w, 20) && w->widgets[20].type != WWT_EMPTY) { 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, 20); window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90);
return; return;
} }
} }
@ -373,7 +373,7 @@ static void shortcut_adjust_land()
rct_window *window = window_find_by_class(WC_TOP_TOOLBAR); rct_window *window = window_find_by_class(WC_TOP_TOOLBAR);
if (window != NULL) { if (window != NULL) {
window_invalidate(window); 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); rct_window *window = window_find_by_class(WC_TOP_TOOLBAR);
if (window != NULL) { if (window != NULL) {
window_invalidate(window); 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); rct_window *window = window_find_by_class(WC_TOP_TOOLBAR);
if (window != NULL) { if (window != NULL) {
window_invalidate(window); 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); rct_window *window = window_find_by_class(WC_TOP_TOOLBAR);
if (window != NULL) { if (window != NULL) {
window_invalidate(window); window_invalidate(window);
window_event_mouse_up_call(window, 11); window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PATH);
} }
} }
} }

View File

@ -259,15 +259,19 @@ static bool window_other_wheel_input(rct_window *w, sint32 widgetIndex, sint32 w
sint32 previewWidgetIndex; sint32 previewWidgetIndex;
switch (w->classification) { switch (w->classification) {
case WC_WATER: case WC_WATER:
previewWidgetIndex = WC_WATER__WIDX_PREVIEW;
break;
case WC_CLEAR_SCENERY: case WC_CLEAR_SCENERY:
previewWidgetIndex = WC_CLEAR_SCENERY__WIDX_PREVIEW;
break;
case WC_LAND_RIGHTS: case WC_LAND_RIGHTS:
previewWidgetIndex = 3; previewWidgetIndex = WC_LAND_RIGHTS__WIDX_PREVIEW;
break; break;
case WC_LAND: case WC_LAND:
previewWidgetIndex = 5; previewWidgetIndex = WC_LAND__WIDX_PREVIEW;
break; break;
case WC_MAP: case WC_MAP:
previewWidgetIndex = 13; previewWidgetIndex = WC_MAP__WIDX_LAND_TOOL;
break; break;
default: default:
return false; return false;

View File

@ -482,6 +482,32 @@ enum {
WC_CHAT = 223, 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 { enum PROMPT_MODE {
PM_SAVE_BEFORE_LOAD = 0, PM_SAVE_BEFORE_LOAD = 0,
PM_SAVE_BEFORE_QUIT, PM_SAVE_BEFORE_QUIT,

View File

@ -355,7 +355,7 @@ void news_item_open_subject(sint32 type, sint32 subject)
window = window_find_by_class(WC_TOP_TOOLBAR); window = window_find_by_class(WC_TOP_TOOLBAR);
if (window != NULL) { if (window != NULL) {
window_invalidate(window); 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); input_set_flag(INPUT_FLAG_6, true);
window_scenery_open(); window_scenery_open();
} }
@ -365,7 +365,7 @@ void news_item_open_subject(sint32 type, sint32 subject)
// Switch to new scenery tab // Switch to new scenery tab
window = window_find_by_class(WC_SCENERY); window = window_find_by_class(WC_SCENERY);
if (window != NULL) 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; break;
case NEWS_ITEM_PEEPS: case NEWS_ITEM_PEEPS:
window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_X, subject);; window_guest_list_open_with_filter(GLFT_GUESTS_THINKING_X, subject);;

View File

@ -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); rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index);
if (w != NULL) { if (w != NULL) {
window_event_invalidate_call(w); 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); w = window_find_by_number(WC_PEEP, peep->sprite_index);
if (w != NULL) { if (w != NULL) {
window_event_invalidate_call(w); 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); rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index);
if (w != NULL) { if (w != NULL) {
window_event_invalidate_call(w); 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 // 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); rct_window *w = window_find_by_number(WC_PEEP, peep->sprite_index);
if (w != NULL) { if (w != NULL) {
window_event_invalidate_call(w); window_event_invalidate_call(w);
widget_invalidate(w, 12); widget_invalidate(w, WC_PEEP__WIDX_ACTION_LBL);
} }
peep->var_F4 = 0; peep->var_F4 = 0;

View File

@ -1741,7 +1741,7 @@ static sint32 ride_modify_entrance_or_exit(rct_map_element *mapElement, sint32 x
gCurrentToolWidget.window_classification != WC_RIDE_CONSTRUCTION gCurrentToolWidget.window_classification != WC_RIDE_CONSTRUCTION
) { ) {
// Replace entrance / exit // 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; gRideEntranceExitPlaceType = entranceType;
gRideEntranceExitPlaceRideIndex = rideIndex; gRideEntranceExitPlaceRideIndex = rideIndex;
gRideEntranceExitPlaceStationIndex = bl; gRideEntranceExitPlaceStationIndex = bl;
@ -1756,7 +1756,7 @@ static sint32 ride_modify_entrance_or_exit(rct_map_element *mapElement, sint32 x
} else { } else {
// Remove entrance / exit // 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); 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; gRideEntranceExitPlaceType = entranceType;
} }
@ -1903,7 +1903,7 @@ sint32 sub_6CC3FB(sint32 rideIndex)
w = ride_create_or_find_construction_window(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); input_set_flag(INPUT_FLAG_6, true);
ride = get_ride(_currentRideIndex); ride = get_ride(_currentRideIndex);
@ -5111,7 +5111,7 @@ static void loc_6B51C0(sint32 rideIndex)
w = window_find_by_class(WC_RIDE_CONSTRUCTION); w = window_find_by_class(WC_RIDE_CONSTRUCTION);
if (w != NULL) if (w != NULL)
window_event_mouse_up_call(w, 29 + entranceOrExit); window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE + entranceOrExit);
} }
} }

View File

@ -39,6 +39,8 @@ enum WINDOW_CLEAR_SCENERY_WIDGET_IDX {
WIDX_FOOTPATH WIDX_FOOTPATH
}; };
validate_global_widx(WC_CLEAR_SCENERY, WIDX_PREVIEW);
rct_widget window_clear_scenery_widgets[] = { rct_widget window_clear_scenery_widgets[] = {
{ WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background { 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 { WWT_CAPTION, 0, 1, 96, 1, 14, STR_CLEAR_SCENERY, STR_WINDOW_TITLE_TIP }, // title bar

View File

@ -238,7 +238,7 @@ static bool window_editor_bottom_toolbar_check_object_selection()
w = window_find_by_class(WC_EDITOR_OBJECT_SELECTION); w = window_find_by_class(WC_EDITOR_OBJECT_SELECTION);
if (w != NULL) { if (w != NULL) {
// Click tab with missing object // 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; return false;
} }

View File

@ -143,6 +143,8 @@ enum WINDOW_STAFF_LIST_WIDGET_IDX {
WIDX_LIST_SORT_RIDE, WIDX_LIST_SORT_RIDE,
}; };
validate_global_widx(WC_EDITOR_OBJECT_SELECTION, WIDX_TAB_1);
static rct_widget window_editor_object_selection_widgets[] = { static rct_widget window_editor_object_selection_widgets[] = {
{ WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 598, 1, 14, STR_OBJECT_SELECTION, STR_WINDOW_TITLE_TIP }, { WWT_CAPTION, 0, 1, 598, 1, 14, STR_OBJECT_SELECTION, STR_WINDOW_TITLE_TIP },

View File

@ -69,6 +69,8 @@ enum WINDOW_GUEST_WIDGET_IDX {
WIDX_RIDE_SCROLL = 10 WIDX_RIDE_SCROLL = 10
}; };
validate_global_widx(WC_PEEP, WIDX_ACTION_LBL);
rct_widget window_guest_overview_widgets[] = { rct_widget window_guest_overview_widgets[] = {
{WWT_FRAME, 0, 0, 191, 0, 156, 0xFFFFFFFF, STR_NONE}, // Panel / Background {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 {WWT_CAPTION, 0, 1, 190, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP}, // Title

View File

@ -40,6 +40,8 @@ enum WINDOW_LAND_WIDGET_IDX {
WIDX_WALL, WIDX_WALL,
}; };
validate_global_widx(WC_LAND, WIDX_PREVIEW);
static rct_widget window_land_widgets[] = { static rct_widget window_land_widgets[] = {
{ WWT_FRAME, 0, 0, 97, 0, 159, 0xFFFFFFFF, STR_NONE }, // panel / background { 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 { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND, STR_WINDOW_TITLE_TIP }, // title bar

View File

@ -39,6 +39,8 @@ enum WINDOW_WATER_WIDGET_IDX {
WIDX_BUY_CONSTRUCTION_RIGHTS WIDX_BUY_CONSTRUCTION_RIGHTS
}; };
validate_global_widx(WC_LAND_RIGHTS, WIDX_PREVIEW);
static rct_widget window_land_rights_widgets[] = { static rct_widget window_land_rights_widgets[] = {
{ WWT_FRAME, 0, 0, 97, 0, 93, 0xFFFFFFFF, STR_NONE }, // panel / background { 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 { WWT_CAPTION, 0, 1, 96, 1, 14, STR_LAND_RIGHTS, STR_WINDOW_TITLE_TIP }, // title bar

View File

@ -68,6 +68,9 @@ enum WINDOW_MAP_WIDGET_IDX {
WIDX_MAP_GENERATOR = 21 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[] = { static rct_widget window_map_widgets[] = {
{ WWT_FRAME, 0, 0, 244, 0, 258, STR_NONE, STR_NONE }, { 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 }, { WWT_CAPTION, 0, 1, 243, 1, 14, STR_MAP_LABEL, STR_WINDOW_TITLE_TIP },

View File

@ -4966,7 +4966,7 @@ static void setup_scenery_selection(rct_window* w)
cancel_scenery_selection(); cancel_scenery_selection();
} }
while (tool_set(w, 0, 12)); while (tool_set(w, WIDX_BACKGROUND, 12));
gTrackDesignSaveRideIndex = (uint8)w->number; gTrackDesignSaveRideIndex = (uint8)w->number;

View File

@ -87,6 +87,11 @@ enum {
WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN, 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[] = { static rct_widget window_ride_construction_widgets[] = {
{ WWT_FRAME, 0, 0, 165, 0, 393, 0xFFFFFFFF, STR_NONE }, { 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 }, { 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); audio_play_sound_panned(SOUND_ERROR, gCursorState.x, x, y, z);
w = window_find_by_class(WC_RIDE_CONSTRUCTION); w = window_find_by_class(WC_RIDE_CONSTRUCTION);
if (w != NULL){ if (w != NULL){
tool_set(w, 23, 12); tool_set(w, WIDX_CONSTRUCT, 12);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
_trackPlaceCtrlState = false; _trackPlaceCtrlState = false;
_trackPlaceShiftState = false; _trackPlaceShiftState = false;

View File

@ -143,6 +143,9 @@ enum WINDOW_SCENERY_LIST_WIDGET_IDX {
WIDX_SCENERY_BUILD_CLUSTER_BUTTON, // 80000000 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[] = { static rct_widget window_scenery_widgets[] = {
{ WWT_FRAME, 0, 0, 633, 0, 141, 0xFFFFFFFF, STR_NONE }, // 1 0x009DE298 { 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 { WWT_CAPTION, 0, 1, 632, 1, 14, 0xFFFFFFFF, STR_WINDOW_TITLE_TIP }, // 2 0x009DE2A8

View File

@ -65,6 +65,8 @@ enum WINDOW_STAFF_WIDGET_IDX {
WIDX_COSTUME_BTN, WIDX_COSTUME_BTN,
}; };
validate_global_widx(WC_PEEP, WIDX_PATROL);
rct_widget window_staff_overview_widgets[] = { rct_widget window_staff_overview_widgets[] = {
{ WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, // Panel / Background { 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 { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_STRINGID, STR_WINDOW_TITLE_TIP }, // Title

View File

@ -383,7 +383,7 @@ static void window_staff_list_tooldown(rct_window *w, sint32 widgetIndex, sint32
if (closestPeep != NULL) { if (closestPeep != NULL) {
tool_cancel(); tool_cancel();
rct_window *staffWindow = window_staff_open(closestPeep); 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 { } else {
set_format_arg(0, rct_string_id, StaffNamingConvention[selectedPeepType].plural); set_format_arg(0, rct_string_id, StaffNamingConvention[selectedPeepType].plural);
window_error_open(STR_NO_THING_IN_PARK_YET, STR_NONE); window_error_open(STR_NO_THING_IN_PARK_YET, STR_NONE);

View File

@ -71,6 +71,12 @@ enum {
WIDX_SEPARATOR, 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 { typedef enum {
DDIDX_NEW_GAME = 0, DDIDX_NEW_GAME = 0,
DDIDX_LOAD_GAME = 1, DDIDX_LOAD_GAME = 1,

View File

@ -41,6 +41,8 @@ enum {
WIDX_BACK, WIDX_BACK,
}; };
validate_global_widx(WC_TRACK_DESIGN_LIST, WIDX_ROTATE);
static rct_widget window_track_list_widgets[] = { static rct_widget window_track_list_widgets[] = {
{ WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE }, { WWT_FRAME, 0, 0, 599, 0, 399, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 598, 1, 14, STR_SELECT_DESIGN, STR_WINDOW_TITLE_TIP }, { WWT_CAPTION, 0, 1, 598, 1, 14, STR_SELECT_DESIGN, STR_WINDOW_TITLE_TIP },

View File

@ -48,6 +48,8 @@ enum {
WIDX_PRICE WIDX_PRICE
}; };
validate_global_widx(WC_TRACK_DESIGN_PLACE, WIDX_ROTATE);
static rct_widget window_track_place_widgets[] = { static rct_widget window_track_place_widgets[] = {
{ WWT_FRAME, 0, 0, 199, 0, 123, 0xFFFFFFFF, STR_NONE }, { WWT_FRAME, 0, 0, 199, 0, 123, 0xFFFFFFFF, STR_NONE },
{ WWT_CAPTION, 0, 1, 198, 1, 14, STR_STRING, STR_WINDOW_TITLE_TIP }, { 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_MIRROR
| 1 << WIDX_SELECT_DIFFERENT_DESIGN; | 1 << WIDX_SELECT_DIFFERENT_DESIGN;
window_init_scroll_widgets(w); window_init_scroll_widgets(w);
tool_set(w, 6, 12); tool_set(w, WIDX_PRICE, 12);
input_set_flag(INPUT_FLAG_6, true); input_set_flag(INPUT_FLAG_6, true);
window_push_others_right(w); window_push_others_right(w);
show_gridlines(); show_gridlines();
@ -337,7 +339,7 @@ static void window_track_place_tooldown(rct_window* w, sint32 widgetIndex, sint3
} else { } else {
sub_6CC3FB(rideIndex); sub_6CC3FB(rideIndex);
w = window_find_by_class(WC_RIDE_CONSTRUCTION); 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; return;
} }

View File

@ -35,6 +35,8 @@ enum WINDOW_WATER_WIDGET_IDX {
WIDX_INCREMENT WIDX_INCREMENT
}; };
validate_global_widx(WC_WATER, WIDX_PREVIEW);
static rct_widget window_water_widgets[] = { static rct_widget window_water_widgets[] = {
{ WWT_FRAME, 0, 0, 75, 0, 76, 0xFFFFFFFF, STR_NONE }, // panel / background { 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 { WWT_CAPTION, 0, 1, 74, 1, 14, STR_WATER, STR_WINDOW_TITLE_TIP }, // title bar