mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix dropdown custom height code. Use flags for filters.
Note dropdown custom height code is not used in any function at present.
This commit is contained in:
parent
cab367aa24
commit
260a6200b9
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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++) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue