mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge pull request #12 from IntelOrca/show-vehicles-from-other-track-types
fix dropdown 64 item support and remove old RCT2 addresses
This commit is contained in:
commit
eaf23f8e76
27
src/input.c
27
src/input.c
|
@ -1123,13 +1123,17 @@ void input_state_widget_pressed(int x, int y, int state, int widgetIndex, rct_wi
|
|||
|
||||
if (w->classification == WC_DROPDOWN) {
|
||||
dropdown_index = dropdown_index_from_point(x, y, w);
|
||||
if (dropdown_index == -1)goto dropdown_cleanup;
|
||||
if (dropdown_index == -1) {
|
||||
goto dropdown_cleanup;
|
||||
}
|
||||
|
||||
// _dropdown_unknown?? highlighted?
|
||||
if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index))goto dropdown_cleanup;
|
||||
if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index)) {
|
||||
goto dropdown_cleanup;
|
||||
}
|
||||
|
||||
// gDropdownItemsFormat[dropdown_index] will not work until all windows that use dropdown decompiled
|
||||
if (RCT2_ADDRESS(0x9DEBA4, uint16)[dropdown_index] == 0)goto dropdown_cleanup;
|
||||
if (gDropdownItemsFormat[dropdown_index] == 0) {
|
||||
goto dropdown_cleanup;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (cursor_w_class != w->classification || cursor_w_number != w->number || widgetIndex != cursor_widgetIndex)
|
||||
|
@ -1209,14 +1213,15 @@ void input_state_widget_pressed(int x, int y, int state, int widgetIndex, rct_wi
|
|||
window_tooltip_show(STR_COLOUR_NAMES_START + dropdown_index, x, y);
|
||||
}
|
||||
|
||||
// _dropdown_unknown?? highlighted?
|
||||
if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index))return;
|
||||
if (dropdown_index < 64 && gDropdownItemsDisabled & (1ULL << dropdown_index)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// gDropdownItemsFormat[dropdown_index] will not work until all windows that use dropdown decompiled
|
||||
if (RCT2_ADDRESS(0x9DEBA4, uint16)[dropdown_index] == 0)return;
|
||||
if (gDropdownItemsFormat[dropdown_index] == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// _dropdown_highlighted_index
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = dropdown_index;
|
||||
gDropdownHighlightedIndex = dropdown_index;
|
||||
window_invalidate_by_class(WC_DROPDOWN);
|
||||
} else {
|
||||
gDropdownLastColourHover = -1;
|
||||
|
|
|
@ -239,7 +239,7 @@ static void window_banner_mousedown(int widgetIndex, rct_window*w, rct_widget* w
|
|||
13,
|
||||
widget->right - widget->left - 3);
|
||||
|
||||
gDropdownItemsChecked = 1 << (banner->text_colour - 1);
|
||||
dropdown_set_checked(banner->text_colour - 1, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,16 +47,38 @@ int _dropdown_num_columns;
|
|||
int _dropdown_num_rows;
|
||||
int _dropdown_item_width;
|
||||
int _dropdown_item_height;
|
||||
int _dropdown_highlighted_index;
|
||||
|
||||
int gDropdownNumItems;
|
||||
uint16 gDropdownItemsFormat[64];
|
||||
sint64 gDropdownItemsArgs[64];
|
||||
// Replaces 0x009DED38
|
||||
uint64 gDropdownItemsChecked;
|
||||
uint64 gDropdownItemsDisabled;
|
||||
bool gDropdownIsColour;
|
||||
int gDropdownLastColourHover;
|
||||
int gDropdownHighlightedIndex;
|
||||
|
||||
bool dropdown_is_checked(int index)
|
||||
{
|
||||
return gDropdownItemsChecked & (1ULL << index);
|
||||
}
|
||||
|
||||
void dropdown_set_checked(int index, bool value)
|
||||
{
|
||||
if (value) {
|
||||
gDropdownItemsChecked |= 1ULL << index;
|
||||
} else {
|
||||
gDropdownItemsChecked &= ~(1ULL << index);
|
||||
}
|
||||
}
|
||||
|
||||
void dropdown_set_disabled(int index, bool value)
|
||||
{
|
||||
if (value) {
|
||||
gDropdownItemsDisabled |= 1ULL << index;
|
||||
} else {
|
||||
gDropdownItemsDisabled &= ~(1ULL << index);
|
||||
}
|
||||
}
|
||||
|
||||
static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi);
|
||||
|
||||
|
@ -178,19 +200,11 @@ void window_dropdown_show_text_custom_width(int x, int y, int extray, uint8 colo
|
|||
w->colours[0] = colour;
|
||||
|
||||
// Input state
|
||||
_dropdown_highlighted_index = -1;
|
||||
gDropdownHighlightedIndex = -1;
|
||||
gDropdownItemsDisabled = 0;
|
||||
gDropdownItemsChecked = 0;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_INPUT_STATE, sint8) = INPUT_STATE_DROPDOWN_ACTIVE;
|
||||
|
||||
// Copy the following properties until all use of it is decompiled
|
||||
RCT2_GLOBAL(0x009DEBA0, sint16) = gDropdownNumItems;
|
||||
RCT2_GLOBAL(0x009DED44, sint32) = _dropdown_num_columns;
|
||||
RCT2_GLOBAL(0x009DED48, sint32) = _dropdown_num_rows;
|
||||
RCT2_GLOBAL(0x009DED40, sint32) = _dropdown_item_width;
|
||||
RCT2_GLOBAL(0x009DED3C, sint32) = _dropdown_item_height;
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = _dropdown_highlighted_index;
|
||||
gDropdownIsColour = false;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_INPUT_STATE, sint8) = INPUT_STATE_DROPDOWN_ACTIVE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -257,18 +271,13 @@ void window_dropdown_show_image(int x, int y, int extray, uint8 colour, uint8 fl
|
|||
w->colours[0] = colour;
|
||||
|
||||
// Input state
|
||||
_dropdown_highlighted_index = -1;
|
||||
gDropdownHighlightedIndex = -1;
|
||||
gDropdownItemsDisabled = 0;
|
||||
gDropdownItemsChecked = 0;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_INPUT_STATE, sint8) = INPUT_STATE_DROPDOWN_ACTIVE;
|
||||
|
||||
// Copy the following properties until all use of it is decompiled
|
||||
RCT2_GLOBAL(0x009DEBA0, sint16) = gDropdownNumItems;
|
||||
RCT2_GLOBAL(0x009DED44, sint32) = _dropdown_num_columns;
|
||||
RCT2_GLOBAL(0x009DED48, sint32) = _dropdown_num_rows;
|
||||
RCT2_GLOBAL(0x009DED40, sint32) = _dropdown_item_width;
|
||||
RCT2_GLOBAL(0x009DED3C, sint32) = _dropdown_item_height;
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = _dropdown_highlighted_index;
|
||||
gDropdownHighlightedIndex = gDropdownHighlightedIndex;
|
||||
gDropdownIsColour = false;
|
||||
}
|
||||
|
||||
|
@ -283,7 +292,7 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
window_draw_widgets(w, dpi);
|
||||
|
||||
_dropdown_highlighted_index = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
gDropdownHighlightedIndex = gDropdownHighlightedIndex;
|
||||
for (int i = 0; i < gDropdownNumItems; i++) {
|
||||
cell_x = i % _dropdown_num_columns;
|
||||
cell_y = i / _dropdown_num_columns;
|
||||
|
@ -306,7 +315,7 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
}
|
||||
} else {
|
||||
//
|
||||
if (i == _dropdown_highlighted_index) {
|
||||
if (i == gDropdownHighlightedIndex) {
|
||||
l = w->x + 2 + (cell_x * _dropdown_item_width);
|
||||
t = w->y + 2 + (cell_y * _dropdown_item_height);
|
||||
r = l + _dropdown_item_width - 1;
|
||||
|
@ -318,7 +327,7 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
if (item == (uint16)-1 || item == (uint16)-2) {
|
||||
// Image item
|
||||
image = *((uint32*)&gDropdownItemsArgs[i]);
|
||||
if (item == (uint16)-2 && _dropdown_highlighted_index == i)
|
||||
if (item == (uint16)-2 && gDropdownHighlightedIndex == i)
|
||||
image++;
|
||||
|
||||
gfx_draw_sprite(
|
||||
|
@ -329,13 +338,15 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
);
|
||||
} else {
|
||||
// Text item
|
||||
if (i < 64)
|
||||
if (gDropdownItemsChecked & (1ULL << i))
|
||||
if (i < 64) {
|
||||
if (dropdown_is_checked(i)) {
|
||||
item++;
|
||||
}
|
||||
}
|
||||
|
||||
// Calculate colour
|
||||
colour = w->colours[0] & 0x7F;
|
||||
if (i == _dropdown_highlighted_index)
|
||||
if (i == gDropdownHighlightedIndex)
|
||||
colour = 2;
|
||||
if (gDropdownItemsDisabled & (1ULL << i))
|
||||
if (i < 64)
|
||||
|
@ -358,7 +369,8 @@ static void window_dropdown_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
/* New function based on 6e914e
|
||||
* returns -1 if index is invalid
|
||||
*/
|
||||
int dropdown_index_from_point(int x, int y, rct_window* w){
|
||||
int dropdown_index_from_point(int x, int y, rct_window *w)
|
||||
{
|
||||
int top = y - w->y - 2;
|
||||
if (top < 0) return -1;
|
||||
|
||||
|
@ -367,20 +379,14 @@ int dropdown_index_from_point(int x, int y, rct_window* w){
|
|||
left -= 2;
|
||||
if (left < 0) return -1;
|
||||
|
||||
// _dropdown_item_width
|
||||
int column_no = left / RCT2_GLOBAL(0x009DED40, sint32);
|
||||
// _dropdown_no_columns
|
||||
if (column_no >= RCT2_GLOBAL(0x009DED44, sint32)) return -1;
|
||||
int column_no = left / _dropdown_item_width;
|
||||
if (column_no >= _dropdown_num_columns) return -1;
|
||||
|
||||
// _dropdown_item_height
|
||||
int row_no = top / RCT2_GLOBAL(0x9DED3C, uint8);
|
||||
// _dropdown_no_rows
|
||||
if (row_no >= RCT2_GLOBAL(0x009DED48, sint32)) return -1;
|
||||
int row_no = top / _dropdown_item_height;
|
||||
if (row_no >= _dropdown_num_rows) return -1;
|
||||
|
||||
// _dropdown_no_columns
|
||||
int dropdown_index = row_no * RCT2_GLOBAL(0x009DED44, sint32) + column_no;
|
||||
// _dropdown_no_items
|
||||
if (dropdown_index >= RCT2_GLOBAL(0x009DEBA0, sint16)) return -1;
|
||||
int dropdown_index = row_no * _dropdown_num_columns + column_no;
|
||||
if (dropdown_index >= gDropdownNumItems) return -1;
|
||||
|
||||
return dropdown_index;
|
||||
}
|
||||
|
@ -413,7 +419,7 @@ void window_dropdown_show_colour_available(rct_window *w, rct_widget *widget, ui
|
|||
for (i = 0; i < 32; i++) {
|
||||
if (availableColours & (1 << i)) {
|
||||
if (selectedColour == i)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
|
||||
gDropdownItemsFormat[i] = 0xFFFE;
|
||||
gDropdownItemsArgs[i] = ((uint64)i << 32) | (0x20000000 | (i << 19) | 5059);
|
||||
|
|
|
@ -39,6 +39,10 @@ extern uint64 gDropdownItemsChecked;
|
|||
extern uint64 gDropdownItemsDisabled;
|
||||
extern bool gDropdownIsColour;
|
||||
extern int gDropdownLastColourHover;
|
||||
extern int gDropdownHighlightedIndex;
|
||||
|
||||
void dropdown_set_checked(int index, bool value);
|
||||
void dropdown_set_disabled(int index, bool value);
|
||||
|
||||
void window_dropdown_show_text(int x, int y, int extray, uint8 colour, uint8 flags, int num_items);
|
||||
void window_dropdown_show_text_custom_width(int x, int y, int extray, uint8 colour, uint8 flags, int num_items, int width);
|
||||
|
|
|
@ -496,7 +496,7 @@ static void window_editor_objective_options_show_objective_dropdown(rct_window *
|
|||
objectiveType = RCT2_GLOBAL(RCT2_ADDRESS_OBJECTIVE_TYPE, uint8);
|
||||
for (i = 0; i < numItems; i++) {
|
||||
if (gDropdownItemsArgs[i] - STR_OBJECTIVE_DROPDOWN_NONE == objectiveType) {
|
||||
gDropdownItemsChecked = (1 << i);
|
||||
dropdown_set_checked(i, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -522,7 +522,7 @@ static void window_editor_objective_options_show_climate_dropdown(rct_window *w)
|
|||
4,
|
||||
dropdownWidget->right - dropdownWidget->left - 3
|
||||
);
|
||||
gDropdownItemsChecked = (1 << RCT2_GLOBAL(RCT2_ADDRESS_CLIMATE, uint8));
|
||||
dropdown_set_checked(RCT2_GLOBAL(RCT2_ADDRESS_CLIMATE, uint8), true);
|
||||
}
|
||||
|
||||
static void window_editor_objective_options_show_category_dropdown(rct_window *w)
|
||||
|
@ -546,7 +546,7 @@ static void window_editor_objective_options_show_category_dropdown(rct_window *w
|
|||
5,
|
||||
dropdownWidget->right - dropdownWidget->left - 3
|
||||
);
|
||||
gDropdownItemsChecked = (1 << s6Info->category);
|
||||
dropdown_set_checked(s6Info->category, true);
|
||||
}
|
||||
|
||||
static void window_editor_objective_options_arg_1_increase(rct_window *w)
|
||||
|
|
|
@ -1035,7 +1035,7 @@ static void window_editor_scenario_options_park_mousedown(int widgetIndex, rct_w
|
|||
dropdownWidget->right - dropdownWidget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PARK_FREE_ENTRY ? 0 : 1);
|
||||
dropdown_set_checked((RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PARK_FREE_ENTRY ? 0 : 1), true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1298,7 +1298,7 @@ static void window_finances_research_mousedown(int widgetIndex, rct_window *w, r
|
|||
);
|
||||
|
||||
int currentResearchLevel = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL, uint8);
|
||||
gDropdownItemsChecked = (1 << currentResearchLevel);
|
||||
dropdown_set_checked(currentResearchLevel, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -352,7 +352,7 @@ static void window_guest_list_mousedown(int widgetIndex, rct_window*w, rct_widge
|
|||
gDropdownItemsFormat[i] = 1142;
|
||||
gDropdownItemsArgs[i] = STR_PAGE_1 + i;
|
||||
}
|
||||
gDropdownItemsChecked = (1 << _window_guest_list_selected_view);
|
||||
dropdown_set_checked(_window_guest_list_selected_view, true);
|
||||
break;
|
||||
case WIDX_INFO_TYPE_DROPDOWN_BUTTON:
|
||||
widget = &w->widgets[widgetIndex - 1];
|
||||
|
@ -372,7 +372,7 @@ static void window_guest_list_mousedown(int widgetIndex, rct_window*w, rct_widge
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = (1 << _window_guest_list_selected_view);
|
||||
dropdown_set_checked(_window_guest_list_selected_view, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -222,7 +222,7 @@ static void window_land_mousedown(int widgetIndex, rct_window*w, rct_widget* wid
|
|||
gDropdownItemsFormat[i] = -1;
|
||||
gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + window_land_floor_texture_order[i];
|
||||
if (window_land_floor_texture_order[i] == _selectedFloorTexture)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
window_dropdown_show_image(
|
||||
w->x + widget->left, w->y + widget->top,
|
||||
|
@ -239,7 +239,7 @@ static void window_land_mousedown(int widgetIndex, rct_window*w, rct_widget* wid
|
|||
gDropdownItemsFormat[i] = -1;
|
||||
gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + window_land_wall_texture_order[i];
|
||||
if (window_land_wall_texture_order[i] == _selectedWallTexture)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
window_dropdown_show_image(
|
||||
w->x + widget->left, w->y + widget->top,
|
||||
|
@ -268,7 +268,7 @@ static void window_land_dropdown(rct_window *w, int widgetIndex, int dropdownInd
|
|||
switch (widgetIndex) {
|
||||
case WIDX_FLOOR:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ?
|
||||
_selectedFloorTexture :
|
||||
|
@ -284,7 +284,7 @@ static void window_land_dropdown(rct_window *w, int widgetIndex, int dropdownInd
|
|||
break;
|
||||
case WIDX_WALL:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ?
|
||||
_selectedWallTexture :
|
||||
|
|
|
@ -536,7 +536,7 @@ static void window_mapgen_base_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
gDropdownItemsFormat[i] = -1;
|
||||
gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + window_land_floor_texture_order[i];
|
||||
if (window_land_floor_texture_order[i] == _floorTexture)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
window_dropdown_show_image(
|
||||
w->x + widget->left, w->y + widget->top,
|
||||
|
@ -553,7 +553,7 @@ static void window_mapgen_base_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
gDropdownItemsFormat[i] = -1;
|
||||
gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + window_land_wall_texture_order[i];
|
||||
if (window_land_wall_texture_order[i] == _wallTexture)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
window_dropdown_show_image(
|
||||
w->x + widget->left, w->y + widget->top,
|
||||
|
@ -575,7 +575,7 @@ static void window_mapgen_base_dropdown(rct_window *w, int widgetIndex, int drop
|
|||
switch (widgetIndex) {
|
||||
case WIDX_FLOOR_TEXTURE:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ?
|
||||
_floorTexture :
|
||||
|
@ -591,7 +591,7 @@ static void window_mapgen_base_dropdown(rct_window *w, int widgetIndex, int drop
|
|||
break;
|
||||
case WIDX_WALL_TEXTURE:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ?
|
||||
_wallTexture :
|
||||
|
@ -859,7 +859,7 @@ static void window_mapgen_simplex_mousedown(int widgetIndex, rct_window *w, rct_
|
|||
gDropdownItemsFormat[i] = -1;
|
||||
gDropdownItemsArgs[i] = SPR_FLOOR_TEXTURE_GRASS + window_land_floor_texture_order[i];
|
||||
if (window_land_floor_texture_order[i] == _floorTexture)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
window_dropdown_show_image(
|
||||
w->x + widget->left, w->y + widget->top,
|
||||
|
@ -876,7 +876,7 @@ static void window_mapgen_simplex_mousedown(int widgetIndex, rct_window *w, rct_
|
|||
gDropdownItemsFormat[i] = -1;
|
||||
gDropdownItemsArgs[i] = SPR_WALL_TEXTURE_ROCK + window_land_wall_texture_order[i];
|
||||
if (window_land_wall_texture_order[i] == _wallTexture)
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
window_dropdown_show_image(
|
||||
w->x + widget->left, w->y + widget->top,
|
||||
|
@ -898,7 +898,7 @@ static void window_mapgen_simplex_dropdown(rct_window *w, int widgetIndex, int d
|
|||
switch (widgetIndex) {
|
||||
case WIDX_SIMPLEX_FLOOR_TEXTURE:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ?
|
||||
_floorTexture :
|
||||
|
@ -915,7 +915,7 @@ static void window_mapgen_simplex_dropdown(rct_window *w, int widgetIndex, int d
|
|||
break;
|
||||
case WIDX_SIMPLEX_WALL_TEXTURE:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
type = (dropdownIndex == -1) ?
|
||||
_wallTexture :
|
||||
|
|
|
@ -715,8 +715,9 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, gNumResolutions);
|
||||
|
||||
if (selectedResolution != -1 && selectedResolution < 32)
|
||||
gDropdownItemsChecked = 1 << selectedResolution;
|
||||
if (selectedResolution != -1 && selectedResolution < 32) {
|
||||
dropdown_set_checked(selectedResolution, true);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -730,7 +731,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, 3);
|
||||
|
||||
gDropdownItemsChecked = 1 << gConfigGeneral.fullscreen_mode;
|
||||
dropdown_set_checked(gConfigGeneral.fullscreen_mode, true);
|
||||
break;
|
||||
case WIDX_CONSTRUCTION_MARKER_DROPDOWN:
|
||||
gDropdownItemsFormat[0] = 1142;
|
||||
|
@ -740,7 +741,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, 2);
|
||||
|
||||
gDropdownItemsChecked = 1 << gConfigGeneral.construction_marker_colour;
|
||||
dropdown_set_checked(gConfigGeneral.construction_marker_colour, true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -755,7 +756,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, 2);
|
||||
|
||||
gDropdownItemsChecked = gConfigGeneral.show_height_as_units ? 1 : 2;
|
||||
dropdown_set_checked(gConfigGeneral.show_height_as_units ? 1 : 2, true);
|
||||
break;
|
||||
case WIDX_CURRENCY_DROPDOWN:
|
||||
num_items = 10;
|
||||
|
@ -767,7 +768,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, num_items);
|
||||
|
||||
gDropdownItemsChecked = 1 << gConfigGeneral.currency_format;
|
||||
dropdown_set_checked(gConfigGeneral.currency_format, true);
|
||||
break;
|
||||
case WIDX_DISTANCE_DROPDOWN:
|
||||
gDropdownItemsFormat[0] = 1142;
|
||||
|
@ -777,7 +778,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, 2);
|
||||
|
||||
gDropdownItemsChecked = 1 << gConfigGeneral.measurement_format;
|
||||
dropdown_set_checked(gConfigGeneral.measurement_format, true);
|
||||
break;
|
||||
case WIDX_TEMPERATURE_DROPDOWN:
|
||||
gDropdownItemsFormat[0] = 1142;
|
||||
|
@ -787,7 +788,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, 2);
|
||||
|
||||
gDropdownItemsChecked = 1 << gConfigGeneral.temperature_format;
|
||||
dropdown_set_checked(gConfigGeneral.temperature_format, true);
|
||||
break;
|
||||
case WIDX_LANGUAGE_DROPDOWN:
|
||||
for (i = 1; i < LANGUAGE_COUNT; i++) {
|
||||
|
@ -795,7 +796,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
gDropdownItemsArgs[i - 1] = (sint32)LanguagesDescriptors[i].native_name;
|
||||
}
|
||||
window_options_show_dropdown(w, widget, LANGUAGE_COUNT - 1);
|
||||
gDropdownItemsChecked = 1 << (gCurrentLanguage - 1);
|
||||
dropdown_set_checked(gCurrentLanguage - 1, true);
|
||||
break;
|
||||
case WIDX_DATE_FORMAT_DROPDOWN:
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
@ -803,7 +804,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
gDropdownItemsArgs[i] = DateFormatStringIds[i];
|
||||
}
|
||||
window_options_show_dropdown(w, widget, 4);
|
||||
gDropdownItemsChecked = 1 << (gConfigGeneral.date_format);
|
||||
dropdown_set_checked(gConfigGeneral.date_format, true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -821,7 +822,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, gAudioDeviceCount);
|
||||
|
||||
gDropdownItemsChecked |= (1 << RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_SOUND_DEVICE, uint32));
|
||||
dropdown_set_checked(RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_SOUND_DEVICE, uint32), true);
|
||||
break;
|
||||
case WIDX_TITLE_MUSIC_DROPDOWN:
|
||||
num_items = 4;
|
||||
|
@ -836,7 +837,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
|
||||
window_options_show_dropdown(w, widget, num_items);
|
||||
|
||||
gDropdownItemsChecked = 1 << gConfigSound.title_music;
|
||||
dropdown_set_checked(gConfigSound.title_music, true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -866,10 +867,11 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
if (gCurrentTheme == 0 || gCurrentTheme == 1)
|
||||
gDropdownItemsChecked = 1 << (gCurrentTheme ^ 1);
|
||||
else
|
||||
gDropdownItemsChecked = 1 << (gCurrentTheme);
|
||||
if (gCurrentTheme == 0 || gCurrentTheme == 1) {
|
||||
dropdown_set_checked(gCurrentTheme ^ 1, true);
|
||||
} else {
|
||||
dropdown_set_checked(gCurrentTheme, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -883,7 +885,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
}
|
||||
|
||||
window_options_show_dropdown(w, widget, AUTOSAVE_NEVER + 1);
|
||||
gDropdownItemsChecked = 1 << gConfigGeneral.autosave_frequency;
|
||||
dropdown_set_checked(gConfigGeneral.autosave_frequency, true);
|
||||
break;
|
||||
case WIDX_TITLE_SEQUENCE_DROPDOWN:
|
||||
num_items = gConfigTitleSequences.num_presets;
|
||||
|
@ -903,7 +905,7 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << (gCurrentPreviewTitleSequence);
|
||||
dropdown_set_checked(gCurrentPreviewTitleSequence, true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -689,11 +689,11 @@ static void window_park_entrance_mousedown(int widgetIndex, rct_window*w, rct_wi
|
|||
);
|
||||
|
||||
if (park_is_open()) {
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = 0;
|
||||
gDropdownItemsChecked |= (1 << 1);
|
||||
gDropdownHighlightedIndex = 0;
|
||||
dropdown_set_checked(1, true);
|
||||
} else {
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = 1;
|
||||
gDropdownItemsChecked |= (1 << 0);
|
||||
gDropdownHighlightedIndex = 1;
|
||||
dropdown_set_checked(0, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -706,7 +706,7 @@ static void window_park_entrance_dropdown(rct_window *w, int widgetIndex, int dr
|
|||
{
|
||||
if (widgetIndex == WIDX_OPEN_OR_CLOSE) {
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
if (dropdownIndex != 0) {
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_GAME_COMMAND_ERROR_TITLE, uint16) = 1724;
|
||||
|
|
|
@ -465,7 +465,7 @@ static void window_research_funding_mousedown(int widgetIndex, rct_window *w, rc
|
|||
);
|
||||
|
||||
int currentResearchLevel = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL, uint8);
|
||||
gDropdownItemsChecked = (1 << currentResearchLevel);
|
||||
dropdown_set_checked(currentResearchLevel, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1769,7 +1769,7 @@ static void window_ride_show_view_dropdown(rct_window *w, rct_widget *widget)
|
|||
}
|
||||
|
||||
// Set checked item
|
||||
gDropdownItemsChecked |= (1 << w->ride.view);
|
||||
dropdown_set_checked(w->ride.view, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1844,8 +1844,8 @@ static void window_ride_show_open_dropdown(rct_window *w, rct_widget *widget)
|
|||
highlightedIndex--;
|
||||
}
|
||||
|
||||
gDropdownItemsChecked |= (1 << checkedIndex);
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = highlightedIndex;
|
||||
dropdown_set_checked(checkedIndex, true);
|
||||
gDropdownHighlightedIndex = highlightedIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1892,7 +1892,7 @@ static void window_ride_main_dropdown(rct_window *w, int widgetIndex, int dropdo
|
|||
break;
|
||||
case WIDX_OPEN:
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
ride = GET_RIDE(w->number);
|
||||
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_NO_TEST_MODE) && dropdownIndex != 0)
|
||||
|
@ -2380,7 +2380,7 @@ static void window_ride_vehicle_mousedown(int widgetIndex, rct_window *w, rct_wi
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = (1ULL << selectedIndex);
|
||||
dropdown_set_checked(selectedIndex, true);
|
||||
break;
|
||||
case WIDX_VEHICLE_TRAINS_DROPDOWN:
|
||||
window_dropdown_show_text_custom_width(
|
||||
|
@ -2399,7 +2399,7 @@ static void window_ride_vehicle_mousedown(int widgetIndex, rct_window *w, rct_wi
|
|||
gDropdownItemsArgs[i] = ((i + 1) << 16) | (i == 0 ? stringId : stringId + 1);
|
||||
}
|
||||
|
||||
gDropdownItemsChecked = (1 << (ride->num_vehicles - 1));
|
||||
dropdown_set_checked(ride->num_vehicles - 1, true);
|
||||
break;
|
||||
case WIDX_VEHICLE_CARS_PER_TRAIN_DROPDOWN:
|
||||
minCars = (ride->min_max_cars_per_train >> 4);
|
||||
|
@ -2425,7 +2425,7 @@ static void window_ride_vehicle_mousedown(int widgetIndex, rct_window *w, rct_wi
|
|||
gDropdownItemsArgs[i] |= (cars - rideEntry->zero_cars) << 16;
|
||||
}
|
||||
|
||||
gDropdownItemsChecked = (1 << (ride->num_cars_per_train - minCars));
|
||||
dropdown_set_checked(ride->num_cars_per_train - minCars, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2820,9 +2820,11 @@ static void window_ride_mode_dropdown(rct_window *w, rct_widget *widget)
|
|||
);
|
||||
|
||||
// Set checked item
|
||||
for (i = 0; i < numAvailableModes; i++)
|
||||
if (ride->mode == availableModes[i])
|
||||
gDropdownItemsChecked = 1 << i;
|
||||
for (i = 0; i < numAvailableModes; i++) {
|
||||
if (ride->mode == availableModes[i]) {
|
||||
dropdown_set_checked(i, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2851,7 +2853,7 @@ static void window_ride_load_dropdown(rct_window *w, rct_widget *widget)
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = (1 << (ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK));
|
||||
dropdown_set_checked(ride->depart_flags & RIDE_DEPART_WAIT_FOR_LOAD_MASK, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3366,7 +3368,7 @@ static void window_ride_maintenance_mousedown(int widgetIndex, rct_window *w, rc
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = (1 << ride->inspection_interval);
|
||||
dropdown_set_checked(ride->inspection_interval, true);
|
||||
break;
|
||||
|
||||
case WIDX_FORCE_BREAKDOWN:
|
||||
|
@ -3411,7 +3413,7 @@ static void window_ride_maintenance_mousedown(int widgetIndex, rct_window *w, rc
|
|||
continue;
|
||||
}
|
||||
if (i == breakdownReason) {
|
||||
gDropdownItemsChecked = (1 << num_items);
|
||||
dropdown_set_checked(num_items, true);
|
||||
break;
|
||||
}
|
||||
gDropdownItemsFormat[num_items] = 1142;
|
||||
|
@ -3813,7 +3815,7 @@ static void window_ride_colour_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << colourSchemeIndex;
|
||||
dropdown_set_checked(colourSchemeIndex, true);
|
||||
break;
|
||||
case WIDX_TRACK_MAIN_COLOUR:
|
||||
window_dropdown_show_colour(w, widget, w->colours[1], ride->track_colour_main[colourSchemeIndex]);
|
||||
|
@ -3840,17 +3842,18 @@ static void window_ride_colour_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << ride->track_colour_supports[colourSchemeIndex];
|
||||
dropdown_set_checked(ride->track_colour_supports[colourSchemeIndex], true);
|
||||
break;
|
||||
case WIDX_ENTRANCE_STYLE_DROPDOWN:
|
||||
for (i = 0; i < countof(window_ride_entrance_style_list); i++) {
|
||||
gDropdownItemsFormat[i] = 1142;
|
||||
gDropdownItemsArgs[i] = RideEntranceDefinitions[window_ride_entrance_style_list[i]].string_id;
|
||||
|
||||
if (ride->entrance_style == window_ride_entrance_style_list[i])
|
||||
gDropdownItemsChecked = 1 << i;
|
||||
if (ride->entrance_style == window_ride_entrance_style_list[i]) {
|
||||
dropdown_set_checked(i, true);
|
||||
}
|
||||
int checked = gDropdownItemsChecked;
|
||||
}
|
||||
uint64 checked = gDropdownItemsChecked;
|
||||
|
||||
window_dropdown_show_text_custom_width(
|
||||
w->x + dropdownWidget->left,
|
||||
|
@ -3880,7 +3883,7 @@ static void window_ride_colour_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << (ride->colour_scheme_type & 3);
|
||||
dropdown_set_checked(ride->colour_scheme_type & 3, true);
|
||||
break;
|
||||
case WIDX_VEHICLE_COLOUR_INDEX_DROPDOWN:
|
||||
numItems = ride->num_vehicles;
|
||||
|
@ -3903,7 +3906,7 @@ static void window_ride_colour_mousedown(int widgetIndex, rct_window *w, rct_wid
|
|||
widget->right - dropdownWidget->left
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << w->var_48C;
|
||||
dropdown_set_checked(w->var_48C, true);
|
||||
break;
|
||||
case WIDX_VEHICLE_MAIN_COLOUR:
|
||||
vehicleColour = ride_get_vehicle_colour(ride, w->var_48C);
|
||||
|
@ -4452,8 +4455,9 @@ static void window_ride_music_mousedown(int widgetIndex, rct_window *w, rct_widg
|
|||
);
|
||||
|
||||
for (i = 0; i < numItems; i++) {
|
||||
if (window_ride_current_music_style_order[i] == ride->music)
|
||||
gDropdownItemsChecked = (1 << i);
|
||||
if (window_ride_current_music_style_order[i] == ride->music) {
|
||||
dropdown_set_checked(i, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4702,7 +4706,7 @@ static void window_ride_measurements_mousedown(int widgetIndex, rct_window *w, r
|
|||
0,
|
||||
2
|
||||
);
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = 0;
|
||||
gDropdownHighlightedIndex = 0;
|
||||
if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_TRACK_DESIGNER)
|
||||
gDropdownItemsDisabled |= 2;
|
||||
}
|
||||
|
@ -4717,7 +4721,7 @@ static void window_ride_measurements_dropdown(rct_window *w, int widgetIndex, in
|
|||
return;
|
||||
|
||||
if (dropdownIndex == -1)
|
||||
dropdownIndex = RCT2_GLOBAL(0x009DEBA2, sint16);
|
||||
dropdownIndex = gDropdownHighlightedIndex;
|
||||
|
||||
if (dropdownIndex == 0)
|
||||
save_track_design((uint8)w->number);
|
||||
|
|
|
@ -3161,7 +3161,7 @@ static void window_ride_construction_show_special_track_dropdown(rct_window *w,
|
|||
}
|
||||
gDropdownItemsFormat[i] = trackPieceStringId;
|
||||
if ((trackPiece | 0x100) == _currentTrackCurve) {
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = i;
|
||||
gDropdownHighlightedIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -263,7 +263,7 @@ static void window_ride_list_mousedown(int widgetIndex, rct_window*w, rct_widget
|
|||
numItems,
|
||||
widget->right - widget->left - 3
|
||||
);
|
||||
gDropdownItemsChecked |= (1 << _window_ride_list_information_type);
|
||||
dropdown_set_checked(_window_ride_list_information_type, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -532,7 +532,7 @@ void window_staff_overview_mousedown(int widgetIndex, rct_window* w, rct_widget*
|
|||
int y = widget->top + w->y;
|
||||
int extray = widget->bottom - widget->top + 1;
|
||||
window_dropdown_show_text(x, y, extray, w->colours[1], 0, 2);
|
||||
RCT2_GLOBAL(0x009DEBA2, sint16) = 0;
|
||||
gDropdownHighlightedIndex = 0;
|
||||
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
|
||||
|
|
|
@ -552,10 +552,11 @@ static void window_themes_mousedown(int widgetIndex, rct_window* w, rct_widget*
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
if (gCurrentTheme == 0 || gCurrentTheme == 1)
|
||||
gDropdownItemsChecked = 1 << (gCurrentTheme ^ 1);
|
||||
else
|
||||
gDropdownItemsChecked = 1 << (gCurrentTheme);
|
||||
if (gCurrentTheme == 0 || gCurrentTheme == 1) {
|
||||
dropdown_set_checked(gCurrentTheme ^ 1, true);
|
||||
} else {
|
||||
dropdown_set_checked(gCurrentTheme, true);
|
||||
}
|
||||
break;
|
||||
case WIDX_THEMES_RCT1_RIDE_LIGHTS:
|
||||
if (gCurrentTheme >= 2) {
|
||||
|
|
|
@ -322,7 +322,7 @@ static void window_title_command_editor_mousedown(int widgetIndex, rct_window* w
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << get_command_info_index(command.command);
|
||||
dropdown_set_checked(get_command_info_index(command.command), true);
|
||||
break;
|
||||
case WIDX_INPUT_DROPDOWN:
|
||||
if (command.command == TITLE_SCRIPT_SPEED) {
|
||||
|
@ -342,7 +342,7 @@ static void window_title_command_editor_mousedown(int widgetIndex, rct_window* w
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << (command.speed - 1);
|
||||
dropdown_set_checked(command.speed - 1, true);
|
||||
}
|
||||
else if (command.command == TITLE_SCRIPT_LOAD) {
|
||||
num_items = gConfigTitleSequences.presets[gCurrentTitleSequence].num_saves;
|
||||
|
@ -361,7 +361,7 @@ static void window_title_command_editor_mousedown(int widgetIndex, rct_window* w
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << (command.saveIndex);
|
||||
dropdown_set_checked(command.saveIndex, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -587,7 +587,7 @@ static void window_title_editor_mousedown(int widgetIndex, rct_window* w, rct_wi
|
|||
widget->right - widget->left - 3
|
||||
);
|
||||
|
||||
gDropdownItemsChecked = 1 << (gCurrentTitleSequence);
|
||||
dropdown_set_checked(gCurrentTitleSequence, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -411,8 +411,9 @@ static void window_top_toolbar_mousedown(int widgetIndex, rct_window*w, rct_widg
|
|||
);
|
||||
|
||||
#ifndef DISABLE_TWITCH
|
||||
if (_menuDropdownIncludesTwitch && gTwitchEnable)
|
||||
gDropdownItemsChecked |= (1 << 11);
|
||||
if (_menuDropdownIncludesTwitch && gTwitchEnable) {
|
||||
dropdown_set_checked(11, true);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case WIDX_CHEATS:
|
||||
|
@ -433,12 +434,15 @@ static void window_top_toolbar_mousedown(int widgetIndex, rct_window*w, rct_widg
|
|||
0,
|
||||
5
|
||||
);
|
||||
if (gCheatsSandboxMode)
|
||||
gDropdownItemsChecked |= (1 << DDIDX_ENABLE_SANDBOX_MODE);
|
||||
if (gCheatsDisableClearanceChecks)
|
||||
gDropdownItemsChecked |= (1 << DDIDX_DISABLE_CLEARANCE_CHECKS);
|
||||
if (gCheatsDisableSupportLimits)
|
||||
gDropdownItemsChecked |= (1 << DDIDX_DISABLE_SUPPORT_LIMITS);
|
||||
if (gCheatsSandboxMode) {
|
||||
dropdown_set_checked(DDIDX_ENABLE_SANDBOX_MODE, true);
|
||||
}
|
||||
if (gCheatsDisableClearanceChecks) {
|
||||
dropdown_set_checked(DDIDX_DISABLE_CLEARANCE_CHECKS, true);
|
||||
}
|
||||
if (gCheatsDisableSupportLimits) {
|
||||
dropdown_set_checked(DDIDX_DISABLE_SUPPORT_LIMITS, true);
|
||||
}
|
||||
RCT2_GLOBAL(0x009DEBA2, uint16) = 0;
|
||||
break;
|
||||
case WIDX_VIEW_MENU:
|
||||
|
@ -2844,10 +2848,12 @@ void top_toolbar_init_fastforward_menu(rct_window* w, rct_widget* widget) {
|
|||
);
|
||||
|
||||
// Set checkmarks
|
||||
if (gGameSpeed <= 4)
|
||||
gDropdownItemsChecked |= (1 << (gGameSpeed - 1));
|
||||
if (gGameSpeed == 8)
|
||||
gDropdownItemsChecked |= (1 << 5);
|
||||
if (gGameSpeed <= 4) {
|
||||
dropdown_set_checked(gGameSpeed - 1, true);
|
||||
}
|
||||
if (gGameSpeed == 8) {
|
||||
dropdown_set_checked(5, true);
|
||||
}
|
||||
|
||||
if (gConfigGeneral.debugging_tools)
|
||||
RCT2_GLOBAL(0x9DEBA2, uint16) = (gGameSpeed == 8 ? 0 : gGameSpeed);
|
||||
|
@ -3011,25 +3017,25 @@ void top_toolbar_init_view_menu(rct_window* w, rct_widget* widget) {
|
|||
// Set checkmarks
|
||||
rct_viewport* mainViewport = window_get_main()->viewport;
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_UNDERGROUND_INSIDE)
|
||||
gDropdownItemsChecked |= (1 << 0);
|
||||
dropdown_set_checked(0, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_BASE)
|
||||
gDropdownItemsChecked |= (1 << 1);
|
||||
dropdown_set_checked(1, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_VERTICAL)
|
||||
gDropdownItemsChecked |= (1 << 2);
|
||||
dropdown_set_checked(2, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_RIDES)
|
||||
gDropdownItemsChecked |= (1 << 4);
|
||||
dropdown_set_checked(4, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_SEETHROUGH_SCENERY)
|
||||
gDropdownItemsChecked |= (1 << 5);
|
||||
dropdown_set_checked(5, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS)
|
||||
gDropdownItemsChecked |= (1 << 6);
|
||||
dropdown_set_checked(6, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_INVISIBLE_PEEPS)
|
||||
gDropdownItemsChecked |= (1 << 7);
|
||||
dropdown_set_checked(7, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_LAND_HEIGHTS)
|
||||
gDropdownItemsChecked |= (1 << 9);
|
||||
dropdown_set_checked(9, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_TRACK_HEIGHTS)
|
||||
gDropdownItemsChecked |= (1 << 10);
|
||||
dropdown_set_checked(10, true);
|
||||
if (mainViewport->flags & VIEWPORT_FLAG_PATH_HEIGHTS)
|
||||
gDropdownItemsChecked |= (1 << 11);
|
||||
dropdown_set_checked(11, true);
|
||||
|
||||
RCT2_GLOBAL(0x9DEBA2, uint16) = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue