From f9e2a74c4d477b938129f346fb4c8d5c46499cfc Mon Sep 17 00:00:00 2001 From: Broxzier Date: Sat, 11 Mar 2017 17:49:15 +0100 Subject: [PATCH 1/5] Replace hardcode value and better readibility in ride.c --- src/openrct2/windows/ride.c | 154 +++++++++++++++++++++++++++++------- 1 file changed, 124 insertions(+), 30 deletions(-) diff --git a/src/openrct2/windows/ride.c b/src/openrct2/windows/ride.c index 4bf9f11186..ba0a509a1b 100644 --- a/src/openrct2/windows/ride.c +++ b/src/openrct2/windows/ride.c @@ -381,48 +381,136 @@ static rct_widget *window_ride_page_widgets[] = { window_ride_customer_widgets }; -#define MAIN_RIDE_ENABLED_WIDGETS (1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_1) | (1ULL << WIDX_TAB_2) | (1ULL << WIDX_TAB_3) | (1ULL << WIDX_TAB_4) | \ - (1ULL << WIDX_TAB_5) | (1ULL << WIDX_TAB_6) | (1ULL << WIDX_TAB_7) | (1ULL << WIDX_TAB_8) | (1ULL << WIDX_TAB_9) | (1ULL << WIDX_TAB_10) +#define MAIN_RIDE_ENABLED_WIDGETS \ + (1ULL << WIDX_CLOSE) | \ + (1ULL << WIDX_TAB_1) | \ + (1ULL << WIDX_TAB_2) | \ + (1ULL << WIDX_TAB_3) | \ + (1ULL << WIDX_TAB_4) | \ + (1ULL << WIDX_TAB_5) | \ + (1ULL << WIDX_TAB_6) | \ + (1ULL << WIDX_TAB_7) | \ + (1ULL << WIDX_TAB_8) | \ + (1ULL << WIDX_TAB_9) | \ + (1ULL << WIDX_TAB_10) const uint64 window_ride_page_enabled_widgets[] = { - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_VIEW) | (1ULL << WIDX_VIEW_DROPDOWN) | (1ULL << WIDX_OPEN) | (1ULL << WIDX_CONSTRUCTION) | (1ULL << WIDX_RENAME) | - (1ULL << WIDX_LOCATE) | (1ULL << WIDX_DEMOLISH) | (1ULL << WIDX_CLOSE_LIGHT) | (1ULL << WIDX_TEST_LIGHT) | (1ULL << WIDX_OPEN_LIGHT) | (1ULL << WIDX_RIDE_TYPE) | - (1ULL << WIDX_RIDE_TYPE_INCREASE) | (1ULL << WIDX_RIDE_TYPE_DECREASE) | (1ULL << WIDX_RIDE_TYPE_APPLY), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_VEHICLE_TYPE) | (1ULL << WIDX_VEHICLE_TYPE_DROPDOWN) | (1ULL << WIDX_VEHICLE_TRAINS) | (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | - (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN) | (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_MODE_TWEAK_INCREASE) | (1ULL << WIDX_MODE_TWEAK_DECREASE) | (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | - (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | (1ULL << WIDX_LOAD_CHECKBOX) | (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | - (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | - (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE) | (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) | (1ULL << WIDX_MODE) | (1ULL << WIDX_MODE_DROPDOWN) | - (1ULL << WIDX_LOAD) | (1ULL << WIDX_LOAD_DROPDOWN) | (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE) | (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_INSPECTION_INTERVAL) | (1ULL << WIDX_INSPECTION_INTERVAL_DROPDOWN) | (1ULL << WIDX_LOCATE_MECHANIC) | + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_VIEW) | + (1ULL << WIDX_VIEW_DROPDOWN) | + (1ULL << WIDX_OPEN) | + (1ULL << WIDX_CONSTRUCTION) | + (1ULL << WIDX_RENAME) | + (1ULL << WIDX_LOCATE) | + (1ULL << WIDX_DEMOLISH) | + (1ULL << WIDX_CLOSE_LIGHT) | + (1ULL << WIDX_TEST_LIGHT) | + (1ULL << WIDX_OPEN_LIGHT) | + (1ULL << WIDX_RIDE_TYPE) | + (1ULL << WIDX_RIDE_TYPE_INCREASE) | + (1ULL << WIDX_RIDE_TYPE_DECREASE) | + (1ULL << WIDX_RIDE_TYPE_APPLY), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_VEHICLE_TYPE) | + (1ULL << WIDX_VEHICLE_TYPE_DROPDOWN) | + (1ULL << WIDX_VEHICLE_TRAINS) | + (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | + (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_MODE_TWEAK_INCREASE) | + (1ULL << WIDX_MODE_TWEAK_DECREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | + (1ULL << WIDX_LOAD_CHECKBOX) | + (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | + (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE) | + (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) | + (1ULL << WIDX_MODE) | + (1ULL << WIDX_MODE_DROPDOWN) | + (1ULL << WIDX_LOAD) | + (1ULL << WIDX_LOAD_DROPDOWN) | + (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE) | + (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_INSPECTION_INTERVAL) | + (1ULL << WIDX_INSPECTION_INTERVAL_DROPDOWN) | + (1ULL << WIDX_LOCATE_MECHANIC) | (1ULL << WIDX_FORCE_BREAKDOWN), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_TRACK_COLOUR_SCHEME_DROPDOWN) | (1ULL << WIDX_TRACK_MAIN_COLOUR) | (1ULL << WIDX_TRACK_ADDITIONAL_COLOUR) | - (1ULL << WIDX_TRACK_SUPPORT_COLOUR) | (1ULL << WIDX_MAZE_STYLE) | (1ULL << WIDX_MAZE_STYLE_DROPDOWN) | (1ULL << WIDX_PAINT_INDIVIDUAL_AREA) | - (1ULL << WIDX_ENTRANCE_STYLE) | (1ULL << WIDX_ENTRANCE_STYLE_DROPDOWN) | (1ULL << WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN) | (1ULL << WIDX_VEHICLE_COLOUR_INDEX) | - (1ULL << WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN) | (1ULL << WIDX_VEHICLE_MAIN_COLOUR) | (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_1) | (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_2), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_PLAY_MUSIC) | (1ULL << WIDX_MUSIC) | (1ULL << WIDX_MUSIC_DROPDOWN), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_SAVE_TRACK_DESIGN) | (1ULL << WIDX_SELECT_NEARBY_SCENERY) | (1ULL << WIDX_RESET_SELECTION) | (1ULL << WIDX_SAVE_DESIGN) | + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_TRACK_COLOUR_SCHEME_DROPDOWN) | + (1ULL << WIDX_TRACK_MAIN_COLOUR) | + (1ULL << WIDX_TRACK_ADDITIONAL_COLOUR) | + (1ULL << WIDX_TRACK_SUPPORT_COLOUR) | + (1ULL << WIDX_MAZE_STYLE) | + (1ULL << WIDX_MAZE_STYLE_DROPDOWN) | + (1ULL << WIDX_PAINT_INDIVIDUAL_AREA) | + (1ULL << WIDX_ENTRANCE_STYLE) | + (1ULL << WIDX_ENTRANCE_STYLE_DROPDOWN) | + (1ULL << WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN) | + (1ULL << WIDX_VEHICLE_COLOUR_INDEX) | + (1ULL << WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN) | + (1ULL << WIDX_VEHICLE_MAIN_COLOUR) | + (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_1) | + (1ULL << WIDX_VEHICLE_ADDITIONAL_COLOUR_2), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_PLAY_MUSIC) | + (1ULL << WIDX_MUSIC) | + (1ULL << WIDX_MUSIC_DROPDOWN), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_SAVE_TRACK_DESIGN) | + (1ULL << WIDX_SELECT_NEARBY_SCENERY) | + (1ULL << WIDX_RESET_SELECTION) | + (1ULL << WIDX_SAVE_DESIGN) | (1ULL << WIDX_CANCEL_DESIGN), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_GRAPH_VELOCITY) | (1ULL << WIDX_GRAPH_ALTITUDE) | (1ULL << WIDX_GRAPH_VERTICAL) | (1ULL << WIDX_GRAPH_LATERAL), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | (1ULL << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK) | - (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | (1ULL << WIDX_SECONDARY_PRICE_DECREASE) | (1ULL << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK), - MAIN_RIDE_ENABLED_WIDGETS | (1ULL << WIDX_SHOW_GUESTS_THOUGHTS) | (1ULL << WIDX_SHOW_GUESTS_ON_RIDE) | (1ULL << WIDX_SHOW_GUESTS_QUEUING) + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_GRAPH_VELOCITY) | + (1ULL << WIDX_GRAPH_ALTITUDE) | + (1ULL << WIDX_GRAPH_VERTICAL) | + (1ULL << WIDX_GRAPH_LATERAL), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | + (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | + (1ULL << WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK) | + (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | + (1ULL << WIDX_SECONDARY_PRICE_DECREASE) | + (1ULL << WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK), + MAIN_RIDE_ENABLED_WIDGETS | + (1ULL << WIDX_SHOW_GUESTS_THOUGHTS) | + (1ULL << WIDX_SHOW_GUESTS_ON_RIDE) | + (1ULL << WIDX_SHOW_GUESTS_QUEUING), }; const uint64 window_ride_page_hold_down_widgets[] = { 0, - (1ULL << WIDX_VEHICLE_TRAINS) | (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN) | - (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), - (1ULL << WIDX_MODE_TWEAK_INCREASE) | (1ULL << WIDX_MODE_TWEAK_DECREASE) | (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | - (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE) | - (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_INCREASE) | (1ULL << WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE), + (1ULL << WIDX_VEHICLE_TRAINS_INCREASE) | + (1ULL << WIDX_VEHICLE_TRAINS_DECREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE) | + (1ULL << WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE), + (1ULL << WIDX_MODE_TWEAK_INCREASE) | + (1ULL << WIDX_MODE_TWEAK_DECREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_INCREASE) | + (1ULL << WIDX_LIFT_HILL_SPEED_DECREASE) | + (1ULL << WIDX_MINIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MINIMUM_LENGTH_DECREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_INCREASE) | + (1ULL << WIDX_MAXIMUM_LENGTH_DECREASE), 0, 0, 0, 0, 0, - (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | (1ULL << WIDX_SECONDARY_PRICE_DECREASE), + (1ULL << WIDX_PRIMARY_PRICE_INCREASE) | + (1ULL << WIDX_PRIMARY_PRICE_DECREASE) | + (1ULL << WIDX_SECONDARY_PRICE_INCREASE) | + (1ULL << WIDX_SECONDARY_PRICE_DECREASE), 0 }; @@ -3308,7 +3396,13 @@ static void window_ride_operating_invalidate(rct_window *w) set_format_arg(2, uint32, ride->name_arguments); // Widget setup - w->pressed_widgets &= ~0x44700000; + w->pressed_widgets &= ~( + (1ULL << WIDX_LOAD_CHECKBOX) | + (1ULL << WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX) | + (1ULL << WIDX_MINIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_MAXIMUM_LENGTH_CHECKBOX) | + (1ULL << WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX) + ); // Lift hill speed if ((rideEntry->enabledTrackPiecesA & (1UL << TRACK_LIFT_HILL)) && track_type_is_invented(ride->type, TRACK_LIFT_HILL)) { From 4cd39babbbd4cda7801ca1d132079cfa625ac07b Mon Sep 17 00:00:00 2001 From: Broxzier Date: Sat, 11 Mar 2017 21:29:05 +0100 Subject: [PATCH 2/5] Replace hardcoded value in various windows --- .../windows/editor_scenario_options.c | 70 +++++++++++++++++-- src/openrct2/windows/maze_construction.c | 11 ++- src/openrct2/windows/ride_construction.c | 32 ++++++++- src/openrct2/windows/shortcut_key_change.c | 2 +- 4 files changed, 106 insertions(+), 9 deletions(-) diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 06009187f9..efd8f6fae3 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -308,16 +308,74 @@ static rct_window_event_list *window_editor_scenario_options_page_events[] = { #pragma region Enabled widgets +#define ALWAYS_ENABLED_WIDGETS \ + (1ULL << WIDX_CLOSE) |\ + (1ULL << WIDX_TAB_1) |\ + (1ULL << WIDX_TAB_2) |\ + (1ULL << WIDX_TAB_3) + static uint64 window_editor_scenario_options_page_enabled_widgets[] = { - 0x001DB6F4, - 0x001EDB74, - 0x007F7B74 + ALWAYS_ENABLED_WIDGETS | + (1ULL << WIDX_NO_MONEY) | + (1ULL << WIDX_INITIAL_CASH_INCREASE) | + (1ULL << WIDX_INITIAL_CASH_DECREASE) | + (1ULL << WIDX_INITIAL_LOAN_INCREASE) | + (1ULL << WIDX_INITIAL_LOAN_DECREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_INCREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_DECREASE) | + (1ULL << WIDX_INTEREST_RATE_INCREASE) | + (1ULL << WIDX_INTEREST_RATE_DECREASE) | + (1ULL << WIDX_FORBID_MARKETING), + ALWAYS_ENABLED_WIDGETS | + (1ULL << WIDX_CASH_PER_GUEST_INCREASE) | + (1ULL << WIDX_CASH_PER_GUEST_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_DECREASE) | + (1ULL << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES) | + (1ULL << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES), + ALWAYS_ENABLED_WIDGETS | + (1ULL << WIDX_LAND_COST_INCREASE) | + (1ULL << WIDX_LAND_COST_DECREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE) | + (1ULL << WIDX_PAY_FOR_PARK_OR_RIDES) | + (1ULL << WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN) | + (1ULL << WIDX_ENTRY_PRICE_INCREASE) | + (1ULL << WIDX_ENTRY_PRICE_DECREASE) | + (1ULL << WIDX_FORBID_TREE_REMOVAL) | + (1ULL << WIDX_FORBID_LANDSCAPE_CHANGES) | + (1ULL << WIDX_FORBID_HIGH_CONSTRUCTION) | + (1ULL << WIDX_HARD_PARK_RATING) | + (1ULL << WIDX_HARD_GUEST_GENERATION) }; static uint32 window_editor_scenario_options_page_hold_down_widgets[] = { - 0x000DB600, - 0x0006DB00, - 0x00031B00 + (1ULL << WIDX_INITIAL_CASH_INCREASE) | + (1ULL << WIDX_INITIAL_CASH_DECREASE) | + (1ULL << WIDX_INITIAL_LOAN_INCREASE) | + (1ULL << WIDX_INITIAL_LOAN_DECREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_INCREASE) | + (1ULL << WIDX_MAXIMUM_LOAN_DECREASE) | + (1ULL << WIDX_INTEREST_RATE_INCREASE) | + (1ULL << WIDX_INTEREST_RATE_DECREASE), + (1ULL << WIDX_CASH_PER_GUEST_INCREASE) | + (1ULL << WIDX_CASH_PER_GUEST_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HAPPINESS_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_HUNGER_DECREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_INCREASE) | + (1ULL << WIDX_GUEST_INITIAL_THIRST_DECREASE), + (1ULL << WIDX_LAND_COST_INCREASE) | + (1ULL << WIDX_LAND_COST_DECREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE) | + (1ULL << WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE) | + (1ULL << WIDX_ENTRY_PRICE_INCREASE) | + (1ULL << WIDX_ENTRY_PRICE_DECREASE) }; #pragma endregion diff --git a/src/openrct2/windows/maze_construction.c b/src/openrct2/windows/maze_construction.c index fc5f2e5d18..08b1d7b565 100644 --- a/src/openrct2/windows/maze_construction.c +++ b/src/openrct2/windows/maze_construction.c @@ -141,7 +141,16 @@ rct_window *window_maze_construction_open() { rct_window *w = window_create(0, 29, 166, 200, &window_maze_construction_events, WC_RIDE_CONSTRUCTION, WF_NO_AUTO_CLOSE); w->widgets = window_maze_construction_widgets; - w->enabled_widgets = 0x6F0001C4; + w->enabled_widgets = (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_MAZE_BUILD_MODE) | + (1ULL << WIDX_MAZE_MOVE_MODE) | + (1ULL << WIDX_MAZE_FILL_MODE) | + (1ULL << WIDX_MAZE_DIRECTION_NW) | + (1ULL << WIDX_MAZE_DIRECTION_NE) | + (1ULL << WIDX_MAZE_DIRECTION_SW) | + (1ULL << WIDX_MAZE_DIRECTION_SE) | + (1ULL << WIDX_MAZE_ENTRANCE) | + (1ULL << WIDX_MAZE_EXIT); window_init_scroll_widgets(w); colour_scheme_update(w); diff --git a/src/openrct2/windows/ride_construction.c b/src/openrct2/windows/ride_construction.c index 81bbb6609d..31e78e7fb2 100644 --- a/src/openrct2/windows/ride_construction.c +++ b/src/openrct2/windows/ride_construction.c @@ -553,7 +553,37 @@ rct_window *window_ride_construction_open() w = window_create(0, 29, 166, 394, &window_ride_construction_events, WC_RIDE_CONSTRUCTION, WF_NO_AUTO_CLOSE); w->widgets = window_ride_construction_widgets; - w->enabled_widgets = 0x67EFFFFFC4; + w->enabled_widgets = (1ULL << WIDX_CLOSE) | + (1ULL << WIDX_LEFT_CURVE_VERY_SMALL) | + (1ULL << WIDX_LEFT_CURVE_SMALL) | + (1ULL << WIDX_LEFT_CURVE) | + (1ULL << WIDX_STRAIGHT) | + (1ULL << WIDX_RIGHT_CURVE) | + (1ULL << WIDX_RIGHT_CURVE_SMALL) | + (1ULL << WIDX_RIGHT_CURVE_VERY_SMALL) | + (1ULL << WIDX_SPECIAL_TRACK_DROPDOWN) | + (1ULL << WIDX_SLOPE_DOWN_STEEP) | + (1ULL << WIDX_SLOPE_DOWN) | + (1ULL << WIDX_LEVEL) | + (1ULL << WIDX_SLOPE_UP) | + (1ULL << WIDX_SLOPE_UP_STEEP) | + (1ULL << WIDX_CHAIN_LIFT) | + (1ULL << WIDX_BANK_LEFT) | + (1ULL << WIDX_BANK_STRAIGHT) | + (1ULL << WIDX_BANK_RIGHT) | + (1ULL << WIDX_CONSTRUCT) | + (1ULL << WIDX_DEMOLISH) | + (1ULL << WIDX_LEFT_CURVE_LARGE) | + (1ULL << WIDX_PREVIOUS_SECTION) | + (1ULL << WIDX_NEXT_SECTION) | + (1ULL << WIDX_ENTRANCE) | + (1ULL << WIDX_EXIT) | + (1ULL << WIDX_RIGHT_CURVE_LARGE) | + (1ULL << WIDX_ROTATE) | + (1ULL << WIDX_U_TRACK) | + (1ULL << WIDX_O_TRACK) | + (1ULL << WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP) | + (1ULL << WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN); window_init_scroll_widgets(w); diff --git a/src/openrct2/windows/shortcut_key_change.c b/src/openrct2/windows/shortcut_key_change.c index 5a9f60f654..fcbbcfc478 100644 --- a/src/openrct2/windows/shortcut_key_change.c +++ b/src/openrct2/windows/shortcut_key_change.c @@ -84,7 +84,7 @@ void window_shortcut_change_open(sint32 selected_key){ rct_window* w = window_create_centred(WW, WH, &window_shortcut_change_events, WC_CHANGE_KEYBOARD_SHORTCUT, 0); w->widgets = window_shortcut_change_widgets; - w->enabled_widgets = (1 << 2); + w->enabled_widgets = (1ULL << WIDX_CLOSE); window_init_scroll_widgets(w); } From f688a2c9db9a9ea69813e8a39a9e1ab2066caa24 Mon Sep 17 00:00:00 2001 From: Broxzier Date: Sat, 11 Mar 2017 21:47:06 +0100 Subject: [PATCH 3/5] Add and use widget index for exit and option button --- src/openrct2/windows/title_exit.c | 13 ++++++++++--- src/openrct2/windows/title_options.c | 11 +++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/openrct2/windows/title_exit.c b/src/openrct2/windows/title_exit.c index f2d40c1346..8c1091d2d0 100644 --- a/src/openrct2/windows/title_exit.c +++ b/src/openrct2/windows/title_exit.c @@ -24,6 +24,10 @@ #include "../intro.h" #include "../rct2.h" +enum WINDOW_TITLE_EXIT_WIDGET_IDX { + WIDX_EXIT, +}; + static rct_widget window_title_exit_widgets[] = { { WWT_IMGBTN, 2, 0, 39, 0, 63, SPR_MENU_EXIT, STR_EXIT }, { WIDGETS_END }, @@ -80,7 +84,7 @@ void window_title_exit_open() WF_STICK_TO_BACK | WF_TRANSPARENT ); window->widgets = window_title_exit_widgets; - window->enabled_widgets |= 1; + window->enabled_widgets |= (1ULL << WIDX_EXIT); window_init_scroll_widgets(window); } @@ -93,9 +97,12 @@ static void window_title_exit_mouseup(rct_window *w, sint32 widgetIndex) if (gIntroState != INTRO_STATE_NONE) return; - if (widgetIndex == 0) + switch (widgetIndex) { + case WIDX_EXIT: rct2_quit(); -// game_do_command(0, 1, 0, 0, 5, 3, 0); + //game_do_command(0, 1, 0, 0, 5, 3, 0); + break; + }; } /** diff --git a/src/openrct2/windows/title_options.c b/src/openrct2/windows/title_options.c index 01a09fcf9c..acb9f215d0 100644 --- a/src/openrct2/windows/title_options.c +++ b/src/openrct2/windows/title_options.c @@ -23,6 +23,10 @@ #include "../interface/themes.h" #include "../rct2.h" +enum WINDOW_TITLE_OPTIONS_WIDGET_IDX { + WIDX_OPTIONS, +}; + static rct_widget window_title_options_widgets[] = { { WWT_DROPDOWN_BUTTON, 2, 0, 79, 0, 11, STR_OPTIONS, STR_OPTIONS_TIP }, { WIDGETS_END }, @@ -78,7 +82,7 @@ void window_title_options_open() WF_STICK_TO_BACK | WF_TRANSPARENT ); window->widgets = window_title_options_widgets; - window->enabled_widgets |= 1; + window->enabled_widgets |= (1ULL << WIDX_OPTIONS); window_init_scroll_widgets(window); } @@ -87,8 +91,11 @@ static void window_title_options_mouseup(rct_window *w, sint32 widgetIndex) if (gIntroState != INTRO_STATE_NONE) return; - if (widgetIndex == 0) + switch (widgetIndex) { + case WIDX_OPTIONS: window_options_open(); + break; + } } static void window_title_options_paint(rct_window *w, rct_drawpixelinfo *dpi) From c0962a56a86bfaffb2f69e5eb61ee8dbbb791339 Mon Sep 17 00:00:00 2001 From: Broxzier Date: Sat, 11 Mar 2017 21:56:11 +0100 Subject: [PATCH 4/5] Use widget index in new ride window --- src/openrct2/windows/new_ride.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openrct2/windows/new_ride.c b/src/openrct2/windows/new_ride.c index 796f965277..eb20ca5ed6 100644 --- a/src/openrct2/windows/new_ride.c +++ b/src/openrct2/windows/new_ride.c @@ -439,8 +439,8 @@ rct_window *window_new_ride_open() (1 << WIDX_TAB_5) | (1 << WIDX_TAB_6) | (1 << WIDX_TAB_7) | - (1 << 14) | - (1 << 15); + (1 << WIDX_LAST_DEVELOPMENT_BUTTON) | + (1 << WIDX_RESEARCH_FUNDING_BUTTON); window_new_ride_populate_list(); window_init_scroll_widgets(w); From 06c195dd3c36ca353f09336dcd89b11e0751d26c Mon Sep 17 00:00:00 2001 From: Broxzier Date: Sat, 11 Mar 2017 22:42:43 +0100 Subject: [PATCH 5/5] Fix error in setting pressed tab --- src/openrct2/windows/guest.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/openrct2/windows/guest.c b/src/openrct2/windows/guest.c index 83d7eeccb4..ef079c0010 100644 --- a/src/openrct2/windows/guest.c +++ b/src/openrct2/windows/guest.c @@ -1058,7 +1058,14 @@ void window_guest_overview_invalidate(rct_window *w) window_init_scroll_widgets(w); } - w->pressed_widgets &= ~(WIDX_TAB_1 | WIDX_TAB_2 |WIDX_TAB_3 |WIDX_TAB_4 |WIDX_TAB_5 |WIDX_TAB_6); + w->pressed_widgets &= ~( + (1ULL << WIDX_TAB_1) | + (1ULL << WIDX_TAB_2) | + (1ULL << WIDX_TAB_3) | + (1ULL << WIDX_TAB_4) | + (1ULL << WIDX_TAB_5) | + (1ULL << WIDX_TAB_6) + ); w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); rct_peep* peep = GET_PEEP(w->number);