From cab367aa240450cadc89fda1ed50ead98755469b Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Wed, 15 Feb 2017 21:41:03 +0000 Subject: [PATCH 1/2] Label known flags --- src/openrct2/ride/ride.c | 2 +- src/openrct2/ride/ride_data.c | 2 +- src/openrct2/ride/vehicle_paint.c | 12 ++++++------ src/openrct2/ride/water/submarine_ride.c | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/openrct2/ride/ride.c b/src/openrct2/ride/ride.c index c4d59cb397..cc62c01396 100644 --- a/src/openrct2/ride/ride.c +++ b/src/openrct2/ride/ride.c @@ -6621,7 +6621,7 @@ void game_command_set_ride_price(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 * *ebx = 0; // for cost check - changing ride price does not cost anything gCommandExpenditureType = RCT_EXPENDITURE_TYPE_PARK_RIDE_TICKETS; - if (flags & 0x1) { + if (flags & GAME_COMMAND_FLAG_APPLY) { uint32 shop_item; if (ride->overall_view != (uint16)-1) { diff --git a/src/openrct2/ride/ride_data.c b/src/openrct2/ride/ride_data.c index e2657d9fa7..680e18bdfd 100644 --- a/src/openrct2/ride/ride_data.c +++ b/src/openrct2/ride/ride_data.c @@ -1585,7 +1585,7 @@ const rct_ride_entry_vehicle CableLiftVehicle = { .car_friction = 0, .tab_height = 0, .num_seats = 0, - .sprite_flags = 0x7, + .sprite_flags = VEHICLE_SPRITE_FLAG_FLAT | VEHICLE_SPRITE_FLAG_GENTLE_SLOPES | VEHICLE_SPRITE_FLAG_STEEP_SLOPES, .sprite_width = 0, .sprite_height_negative = 0, .sprite_height_positive = 0, diff --git a/src/openrct2/ride/vehicle_paint.c b/src/openrct2/ride/vehicle_paint.c index 0948e44c72..5432ff20fd 100644 --- a/src/openrct2/ride/vehicle_paint.c +++ b/src/openrct2/ride/vehicle_paint.c @@ -895,10 +895,10 @@ static void vehicle_sprite_paint(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, s sint32 baseImage_id = ebx; vehicle_boundbox bb = VehicleBoundboxes[vehicleEntry->draw_order][ecx]; - if (vehicleEntry->flags_a & 0x4000) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { baseImage_id += (vehicle->var_BA / 8) & 31; } - if (vehicleEntry->flags_b & 0x80) { + if (vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_A_7) { baseImage_id += vehicle->var_C5; } uint32 rotation = get_current_rotation(); @@ -913,7 +913,7 @@ static void vehicle_sprite_paint(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, s for (sint32 i = 0; i < 8; i++){ if (vehicle->num_peeps > (i * 2) && vehicleEntry->no_seating_rows > i) { image_id = baseImage_id | (vehicle->peep_tshirt_colours[i * 2] << 19) | (vehicle->peep_tshirt_colours[(i * 2) + 1] << 24) | 0xA0000000; - if (i == 0 && vehicleEntry->flags_b & 0x100) { + if (i == 0 && vehicleEntry->flags_b & VEHICLE_ENTRY_FLAG_A_8) { image_id += (vehicleEntry->no_vehicle_images * vehicle->var_C5); } sub_98199C(image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z, rotation); @@ -934,7 +934,7 @@ static void vehicle_sprite_paint_6D520E(rct_vehicle *vehicle, sint32 ebx, sint32 static void vehicle_sprite_paint_6D51EB(rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { sint32 ecx = ebx / 2; - if (vehicleEntry->flags_a & 0x800) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) { ebx = ebx / 2; } if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_15) { @@ -1343,7 +1343,7 @@ static void vehicle_sprite_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 static void vehicle_sprite_2_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { - if (vehicleEntry->flags_a & 0x4000) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { sint32 ecx = (imageDirection / 2) + 16; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); @@ -1563,7 +1563,7 @@ static void vehicle_sprite_5(rct_vehicle *vehicle, sint32 imageDirection, sint32 static void vehicle_sprite_6_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { - if (vehicleEntry->flags_a & 0x4000) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_14) { sint32 ecx = ((imageDirection / 2) ^ 8) + 16; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_20; vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); diff --git a/src/openrct2/ride/water/submarine_ride.c b/src/openrct2/ride/water/submarine_ride.c index 7fe98af986..b5973241e1 100644 --- a/src/openrct2/ride/water/submarine_ride.c +++ b/src/openrct2/ride/water/submarine_ride.c @@ -32,17 +32,17 @@ void vehicle_visual_submarine(sint32 x, sint32 imageDirection, sint32 y, sint32 sint32 baseImage_id = imageDirection; sint32 image_id; if (vehicle->restraints_position >= 64) { - if ((vehicleEntry->sprite_flags & 0x2000) && !(imageDirection & 3)) { + if ((vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION) && !(imageDirection & 3)) { baseImage_id /= 8; baseImage_id += ((vehicle->restraints_position - 64) / 64) * 4; baseImage_id *= vehicleEntry->var_16; baseImage_id += vehicleEntry->var_1C; } } else { - if (vehicleEntry->flags_a & 0x800) { + if (vehicleEntry->flags_a & VEHICLE_ENTRY_FLAG_A_11) { baseImage_id /= 2; } - if (vehicleEntry->sprite_flags & 0x8000) { + if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_15) { baseImage_id /= 8; } baseImage_id *= vehicleEntry->var_16; From 260a6200b9d6ff26c1ab3e4fa22837e392b6f12d Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Thu, 16 Feb 2017 18:35:59 +0000 Subject: [PATCH 2/2] Fix dropdown custom height code. Use flags for filters. Note dropdown custom height code is not used in any function at present. --- src/openrct2/windows/banner.c | 1 + src/openrct2/windows/cheats.c | 1 + src/openrct2/windows/custom_currency.c | 1 + src/openrct2/windows/dropdown.c | 9 +++++---- src/openrct2/windows/dropdown.h | 3 ++- src/openrct2/windows/editor_object_selection.c | 9 +++++---- src/openrct2/windows/editor_objective_options.c | 3 +++ src/openrct2/windows/editor_scenario_options.c | 1 + src/openrct2/windows/finances.c | 1 + src/openrct2/windows/guest_list.c | 2 ++ src/openrct2/windows/multiplayer.c | 1 + src/openrct2/windows/new_campaign.c | 2 ++ src/openrct2/windows/options.c | 3 +++ src/openrct2/windows/player.c | 1 + src/openrct2/windows/research.c | 1 + src/openrct2/windows/ride.c | 11 +++++++++++ src/openrct2/windows/ride_construction.c | 1 + src/openrct2/windows/ride_list.c | 1 + src/openrct2/windows/staff.c | 2 +- src/openrct2/windows/themes.c | 1 + src/openrct2/windows/tile_inspector.c | 1 + src/openrct2/windows/title_command_editor.c | 3 +++ src/openrct2/windows/title_editor.c | 1 + 23 files changed, 50 insertions(+), 10 deletions(-) diff --git a/src/openrct2/windows/banner.c b/src/openrct2/windows/banner.c index d70c07a256..ac1c58894b 100644 --- a/src/openrct2/windows/banner.c +++ b/src/openrct2/windows/banner.c @@ -247,6 +247,7 @@ static void window_banner_mousedown(sint32 widgetIndex, rct_window*w, rct_widget widget->top + w->y, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 13, widget->right - widget->left - 3); diff --git a/src/openrct2/windows/cheats.c b/src/openrct2/windows/cheats.c index 31a912bf7a..babb434b65 100644 --- a/src/openrct2/windows/cheats.c +++ b/src/openrct2/windows/cheats.c @@ -538,6 +538,7 @@ static void window_cheats_misc_mousedown(int widgetIndex, rct_window *w, rct_wid w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 6, dropdownWidget->right - dropdownWidget->left - 3 diff --git a/src/openrct2/windows/custom_currency.c b/src/openrct2/windows/custom_currency.c index 3a2b7251ef..e5085076cf 100644 --- a/src/openrct2/windows/custom_currency.c +++ b/src/openrct2/windows/custom_currency.c @@ -163,6 +163,7 @@ static void custom_currency_window_mousedown(sint32 widgetIndex, rct_window *w, w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 2, widget->right - widget->left - 3 diff --git a/src/openrct2/windows/dropdown.c b/src/openrct2/windows/dropdown.c index dd75d2357e..dbb38208d9 100644 --- a/src/openrct2/windows/dropdown.c +++ b/src/openrct2/windows/dropdown.c @@ -140,7 +140,7 @@ void window_dropdown_show_text(sint32 x, sint32 y, sint32 extray, uint8 colour, max_string_width = max(string_width, max_string_width); } - window_dropdown_show_text_custom_width(x, y, extray, colour, flags, num_items, max_string_width + 3); + window_dropdown_show_text_custom_width(x, y, extray, colour, 0, flags, num_items, max_string_width + 3); } /** @@ -153,8 +153,9 @@ void window_dropdown_show_text(sint32 x, sint32 y, sint32 extray, uint8 colour, * @param flags (bh) * @param num_items (bx) * @param colour (al) + * @param custom_height (ah) requires flag set as well */ -void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 flags, size_t num_items, sint32 width) +void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 custom_height, uint8 flags, size_t num_items, sint32 width) { rct_window* w; @@ -166,8 +167,8 @@ void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, u _dropdown_num_columns = 1; _dropdown_item_width = width; _dropdown_item_height = 10; - if (flags & 0x40) - _dropdown_item_height = flags & 0x3F; + if (flags & DROPDOWN_FLAG_CUSTOM_HEIGHT) + _dropdown_item_height = custom_height; // Set the widgets gDropdownNumItems = (sint32)num_items; diff --git a/src/openrct2/windows/dropdown.h b/src/openrct2/windows/dropdown.h index 5a7701bdb4..222d77ae45 100644 --- a/src/openrct2/windows/dropdown.h +++ b/src/openrct2/windows/dropdown.h @@ -24,6 +24,7 @@ enum { + DROPDOWN_FLAG_CUSTOM_HEIGHT = (1 << 6), DROPDOWN_FLAG_STAY_OPEN = (1 << 7) }; @@ -45,7 +46,7 @@ void dropdown_set_checked(sint32 index, bool value); void dropdown_set_disabled(sint32 index, bool value); void window_dropdown_show_text(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 flags, size_t num_items); -void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 flags, size_t num_items, sint32 width); +void window_dropdown_show_text_custom_width(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 custom_height, uint8 flags, size_t num_items, sint32 width); void window_dropdown_show_image(sint32 x, sint32 y, sint32 extray, uint8 colour, uint8 flags, sint32 numItems, sint32 itemWidth, sint32 itemHeight, sint32 numColumns); void window_dropdown_close(); sint32 dropdown_index_from_point(sint32 x, sint32 y, rct_window* w); diff --git a/src/openrct2/windows/editor_object_selection.c b/src/openrct2/windows/editor_object_selection.c index 09b9eccc2d..932fdd8dd1 100644 --- a/src/openrct2/windows/editor_object_selection.c +++ b/src/openrct2/windows/editor_object_selection.c @@ -58,7 +58,8 @@ enum { FILTER_SELECTED = (1 << 12), FILTER_NONSELECTED = (1 << 13), - FILTER_ALL = 0x7EF, + FILTER_RIDES = FILTER_RIDE_TRANSPORT | FILTER_RIDE_GENTLE | FILTER_RIDE_COASTER | FILTER_RIDE_THRILL | FILTER_RIDE_WATER | FILTER_RIDE_STALL, + FILTER_ALL = FILTER_RIDES | FILTER_RCT2 | FILTER_WW | FILTER_TT | FILTER_CUSTOM | FILTER_SELECTED | FILTER_NONSELECTED, } FILTER_FLAGS; uint32 _filter_flags; @@ -808,7 +809,7 @@ static void window_editor_object_selection_mouseup(rct_window *w, sint32 widgetI window_editor_object_set_page(w, widgetIndex - WIDX_TAB_1); break; case WIDX_FILTER_RIDE_TAB_ALL: - _filter_flags |= 0x7E0; + _filter_flags |= FILTER_RIDES; gConfigInterface.object_selection_filter_flags = _filter_flags; config_save_default(); @@ -826,7 +827,7 @@ static void window_editor_object_selection_mouseup(rct_window *w, sint32 widgetI case WIDX_FILTER_RIDE_TAB_THRILL: case WIDX_FILTER_RIDE_TAB_WATER: case WIDX_FILTER_RIDE_TAB_STALL: - _filter_flags &= ~0x7E0; + _filter_flags &= ~FILTER_RIDES; _filter_flags |= (1 << (widgetIndex - WIDX_FILTER_RIDE_TAB_TRANSPORT + 5)); gConfigInterface.object_selection_filter_flags = _filter_flags; config_save_default(); @@ -1194,7 +1195,7 @@ static void window_editor_object_selection_invalidate(rct_window *w) (1 << WIDX_FILTER_RIDE_TAB_WATER) | (1 << WIDX_FILTER_RIDE_TAB_STALL); for (sint32 i = 0; i < 7; i++) w->pressed_widgets &= ~(1 << (WIDX_FILTER_RIDE_TAB_ALL + i)); - if ((_filter_flags & 0x7E0) == 0x7E0) + if ((_filter_flags & FILTER_RIDES) == FILTER_RIDES) w->pressed_widgets |= (1 << WIDX_FILTER_RIDE_TAB_ALL); else { for (sint32 i = 0; i < 6; i++) { diff --git a/src/openrct2/windows/editor_objective_options.c b/src/openrct2/windows/editor_objective_options.c index 69d77d1296..a23395e83f 100644 --- a/src/openrct2/windows/editor_objective_options.c +++ b/src/openrct2/windows/editor_objective_options.c @@ -503,6 +503,7 @@ static void window_editor_objective_options_show_objective_dropdown(rct_window * w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, dropdownWidget->right - dropdownWidget->left - 3 @@ -533,6 +534,7 @@ static void window_editor_objective_options_show_climate_dropdown(rct_window *w) w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 4, dropdownWidget->right - dropdownWidget->left - 3 @@ -556,6 +558,7 @@ static void window_editor_objective_options_show_category_dropdown(rct_window *w w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 5, dropdownWidget->right - dropdownWidget->left - 3 diff --git a/src/openrct2/windows/editor_scenario_options.c b/src/openrct2/windows/editor_scenario_options.c index 931f432f47..06009187f9 100644 --- a/src/openrct2/windows/editor_scenario_options.c +++ b/src/openrct2/windows/editor_scenario_options.c @@ -1025,6 +1025,7 @@ static void window_editor_scenario_options_park_mousedown(sint32 widgetIndex, rc w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top - 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 2, dropdownWidget->right - dropdownWidget->left - 3 diff --git a/src/openrct2/windows/finances.c b/src/openrct2/windows/finances.c index 11f66a25a4..61a6a52419 100644 --- a/src/openrct2/windows/finances.c +++ b/src/openrct2/windows/finances.c @@ -1298,6 +1298,7 @@ static void window_finances_research_mousedown(sint32 widgetIndex, rct_window *w w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 4, dropdownWidget->right - dropdownWidget->left - 3 diff --git a/src/openrct2/windows/guest_list.c b/src/openrct2/windows/guest_list.c index ac2d8cc715..5abe455c73 100644 --- a/src/openrct2/windows/guest_list.c +++ b/src/openrct2/windows/guest_list.c @@ -378,6 +378,7 @@ static void window_guest_list_mousedown(sint32 widgetIndex, rct_window*w, rct_wi w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, _window_guest_list_num_pages, widget->right - widget->left - 3 @@ -402,6 +403,7 @@ static void window_guest_list_mousedown(sint32 widgetIndex, rct_window*w, rct_wi w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 2, widget->right - widget->left - 3 diff --git a/src/openrct2/windows/multiplayer.c b/src/openrct2/windows/multiplayer.c index b8ffc769fe..d351409c6e 100644 --- a/src/openrct2/windows/multiplayer.c +++ b/src/openrct2/windows/multiplayer.c @@ -353,6 +353,7 @@ static void window_multiplayer_groups_show_group_dropdown(rct_window *w, rct_wid dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], 0, + 0, numItems, widget->right - dropdownWidget->left ); diff --git a/src/openrct2/windows/new_campaign.c b/src/openrct2/windows/new_campaign.c index 8f127610da..247c6ccf00 100644 --- a/src/openrct2/windows/new_campaign.c +++ b/src/openrct2/windows/new_campaign.c @@ -261,6 +261,7 @@ static void window_new_campaign_mousedown(sint32 widgetIndex, rct_window *w, rct w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, dropdownWidget->right - dropdownWidget->left - 3 @@ -283,6 +284,7 @@ static void window_new_campaign_mousedown(sint32 widgetIndex, rct_window *w, rct w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, dropdownWidget->right - dropdownWidget->left - 3 diff --git a/src/openrct2/windows/options.c b/src/openrct2/windows/options.c index 1f233a4f0b..a4562c82d4 100644 --- a/src/openrct2/windows/options.c +++ b/src/openrct2/windows/options.c @@ -1096,6 +1096,7 @@ static void window_options_mousedown(sint32 widgetIndex, rct_window*w, rct_widge w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, num_items, widget->right - widget->left - 3 @@ -1118,6 +1119,7 @@ static void window_options_mousedown(sint32 widgetIndex, rct_window*w, rct_widge w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, num_items, widget->right - widget->left - 3 @@ -1918,6 +1920,7 @@ static void window_options_show_dropdown(rct_window *w, rct_widget *widget, sint w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, num_items, widget->right - widget->left - 3 diff --git a/src/openrct2/windows/player.c b/src/openrct2/windows/player.c index 781a340b0c..4fab90b0a4 100644 --- a/src/openrct2/windows/player.c +++ b/src/openrct2/windows/player.c @@ -251,6 +251,7 @@ static void window_player_overview_show_group_dropdown(rct_window *w, rct_widget dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], 0, + 0, numItems, widget->right - dropdownWidget->left ); diff --git a/src/openrct2/windows/research.c b/src/openrct2/windows/research.c index 55e3eb2c7c..2e049cbb49 100644 --- a/src/openrct2/windows/research.c +++ b/src/openrct2/windows/research.c @@ -479,6 +479,7 @@ static void window_research_funding_mousedown(sint32 widgetIndex, rct_window *w, w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 4, dropdownWidget->right - dropdownWidget->left - 3 diff --git a/src/openrct2/windows/ride.c b/src/openrct2/windows/ride.c index c020da1f25..ea7c25fe9a 100644 --- a/src/openrct2/windows/ride.c +++ b/src/openrct2/windows/ride.c @@ -2069,6 +2069,7 @@ static void window_ride_show_view_dropdown(rct_window *w, rct_widget *widget) dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], 0, + 0, numItems, widget->right - dropdownWidget->left ); @@ -2752,6 +2753,7 @@ static void window_ride_vehicle_mousedown(sint32 widgetIndex, rct_window *w, rct w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - dropdownWidget->left @@ -3177,6 +3179,7 @@ static void window_ride_mode_dropdown(rct_window *w, rct_widget *widget) w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numAvailableModes, widget->right - dropdownWidget->left @@ -3211,6 +3214,7 @@ static void window_ride_load_dropdown(rct_window *w, rct_widget *widget) w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 5, widget->right - dropdownWidget->left @@ -3739,6 +3743,7 @@ static void window_ride_maintenance_mousedown(sint32 widgetIndex, rct_window *w, w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 7, widget->right - dropdownWidget->left @@ -4193,6 +4198,7 @@ static void window_ride_colour_mousedown(sint32 widgetIndex, rct_window *w, rct_ w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 4, widget->right - dropdownWidget->left @@ -4220,6 +4226,7 @@ static void window_ride_colour_mousedown(sint32 widgetIndex, rct_window *w, rct_ w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 4, widget->right - dropdownWidget->left @@ -4244,6 +4251,7 @@ static void window_ride_colour_mousedown(sint32 widgetIndex, rct_window *w, rct_ w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, countof(window_ride_entrance_style_list), widget->right - dropdownWidget->left @@ -4262,6 +4270,7 @@ static void window_ride_colour_mousedown(sint32 widgetIndex, rct_window *w, rct_ w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, rideEntry->max_cars_in_train > 1 ? 3 : 2, widget->right - dropdownWidget->left @@ -4285,6 +4294,7 @@ static void window_ride_colour_mousedown(sint32 widgetIndex, rct_window *w, rct_ w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - dropdownWidget->left @@ -4831,6 +4841,7 @@ static void window_ride_music_mousedown(sint32 widgetIndex, rct_window *w, rct_w w->y + dropdownWidget->top, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - dropdownWidget->left diff --git a/src/openrct2/windows/ride_construction.c b/src/openrct2/windows/ride_construction.c index d936ac941c..2f45222a2d 100644 --- a/src/openrct2/windows/ride_construction.c +++ b/src/openrct2/windows/ride_construction.c @@ -3524,6 +3524,7 @@ static void window_ride_construction_show_special_track_dropdown(rct_window *w, widget->bottom - widget->top + 1, w->colours[1], 0, + 0, _numCurrentPossibleRideConfigurations, widget->right - widget->left ); diff --git a/src/openrct2/windows/ride_list.c b/src/openrct2/windows/ride_list.c index 6016f18a85..1cd866831e 100644 --- a/src/openrct2/windows/ride_list.c +++ b/src/openrct2/windows/ride_list.c @@ -325,6 +325,7 @@ static void window_ride_list_mousedown(sint32 widgetIndex, rct_window*w, rct_wid w->y + widget->top, widget->bottom - widget->top, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - widget->left - 3 diff --git a/src/openrct2/windows/staff.c b/src/openrct2/windows/staff.c index 3973fd39ff..c9ba7217a0 100644 --- a/src/openrct2/windows/staff.c +++ b/src/openrct2/windows/staff.c @@ -1318,7 +1318,7 @@ void window_staff_options_mousedown(sint32 widgetIndex, rct_window* w, rct_widge sint32 y = widget->top + w->y; sint32 extray = widget->bottom - widget->top + 1; sint32 width = widget->right - widget->left - 3; - window_dropdown_show_text_custom_width(x, y, extray, w->colours[1], DROPDOWN_FLAG_STAY_OPEN, numCostumes, width); + window_dropdown_show_text_custom_width(x, y, extray, w->colours[1], 0, DROPDOWN_FLAG_STAY_OPEN, numCostumes, width); // See above note. gDropdownItemsChecked = itemsChecked; diff --git a/src/openrct2/windows/themes.c b/src/openrct2/windows/themes.c index 70467d57fb..b5c8db328b 100644 --- a/src/openrct2/windows/themes.c +++ b/src/openrct2/windows/themes.c @@ -500,6 +500,7 @@ static void window_themes_mousedown(sint32 widgetIndex, rct_window* w, rct_widge w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, num_items, widget->right - widget->left - 3 diff --git a/src/openrct2/windows/tile_inspector.c b/src/openrct2/windows/tile_inspector.c index 68285e10a9..3cecb4c48f 100644 --- a/src/openrct2/windows/tile_inspector.c +++ b/src/openrct2/windows/tile_inspector.c @@ -1165,6 +1165,7 @@ static void window_tile_inspector_mousedown(sint32 widgetIndex, rct_window *w, r w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, 3, widget->right - widget->left - 3 diff --git a/src/openrct2/windows/title_command_editor.c b/src/openrct2/windows/title_command_editor.c index 5be4b73e97..d02d7ea1bb 100644 --- a/src/openrct2/windows/title_command_editor.c +++ b/src/openrct2/windows/title_command_editor.c @@ -319,6 +319,7 @@ static void window_title_command_editor_mousedown(sint32 widgetIndex, rct_window w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - widget->left - 3); @@ -339,6 +340,7 @@ static void window_title_command_editor_mousedown(sint32 widgetIndex, rct_window w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - widget->left - 3); @@ -356,6 +358,7 @@ static void window_title_command_editor_mousedown(sint32 widgetIndex, rct_window w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - widget->left - 3); diff --git a/src/openrct2/windows/title_editor.c b/src/openrct2/windows/title_editor.c index 76c0e5f188..9dcb7eae06 100644 --- a/src/openrct2/windows/title_editor.c +++ b/src/openrct2/windows/title_editor.c @@ -518,6 +518,7 @@ static void window_title_editor_mousedown(sint32 widgetIndex, rct_window* w, rct w->y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + 0, DROPDOWN_FLAG_STAY_OPEN, numItems, widget->right - widget->left - 3);