static void window_scenarioselect_invalidate(rct_window *w) { colour_scheme_update(w); w->pressed_widgets &= ~(0x10 | 0x20 | 0x40 | 0x80 | 0x100); w->pressed_widgets |= 1LL << (w->selected_tab + 4); }
static void window_ride_demolish_invalidate() { rct_window *w; window_get_register(w); colour_scheme_update(w); }
void colour_scheme_update_all() { for (rct_window *w = g_window_list; w < gWindowNextSlot; w++) { colour_scheme_update(w); } }
/** * * rct2: 0x00699511 */ static void window_guest_list_invalidate(rct_window *w) { colour_scheme_update(w); w->pressed_widgets &= ~(1 << WIDX_TAB_1); w->pressed_widgets &= ~(1 << WIDX_TAB_2); w->pressed_widgets |= (1LL << (_window_guest_list_selected_tab + WIDX_TAB_1)); window_guest_list_widgets[WIDX_INFO_TYPE_DROPDOWN].image = STR_ACTIONS + _window_guest_list_selected_view; window_guest_list_widgets[WIDX_MAP].type = WWT_EMPTY; if (_window_guest_list_selected_tab == PAGE_INDIVIDUAL && _window_guest_list_selected_filter != -1) window_guest_list_widgets[WIDX_MAP].type = WWT_FLATBTN; window_guest_list_widgets[WIDX_BACKGROUND].right = w->width - 1; window_guest_list_widgets[WIDX_BACKGROUND].bottom = w->height - 1; window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].right = w->width - 1; window_guest_list_widgets[WIDX_TAB_CONTENT_PANEL].bottom = w->height - 1; window_guest_list_widgets[WIDX_TITLE].right = w->width - 2; window_guest_list_widgets[WIDX_CLOSE].left = w->width - 13; window_guest_list_widgets[WIDX_CLOSE].right = w->width - 3; window_guest_list_widgets[WIDX_GUEST_LIST].right = w->width - 4; window_guest_list_widgets[WIDX_GUEST_LIST].bottom = w->height - 15; window_guest_list_widgets[WIDX_PAGE_DROPDOWN].image = _window_guest_list_selected_page + 3440; }
static void window_scenarioselect_invalidate(rct_window *w) { colour_scheme_update(w); w->pressed_widgets &= ~( (1 << WIDX_CLOSE) | (1 << WIDX_TAB1) | (1 << WIDX_TAB2) | (1 << WIDX_TAB3) | (1 << WIDX_TAB4) | (1 << WIDX_TAB5) | (1 << WIDX_TAB6) | (1 << WIDX_TAB7) | (1 << WIDX_TAB8) ); w->pressed_widgets |= 1LL << (w->selected_tab + 4); int windowWidth = w->width; window_scenarioselect_widgets[WIDX_BACKGROUND].right = windowWidth - 1; window_scenarioselect_widgets[WIDX_TITLEBAR].right = windowWidth - 2; window_scenarioselect_widgets[WIDX_CLOSE].left = windowWidth - 13; window_scenarioselect_widgets[WIDX_CLOSE].right = windowWidth - 3; window_scenarioselect_widgets[WIDX_TABCONTENT].right = windowWidth - 1; window_scenarioselect_widgets[WIDX_SCENARIOLIST].right = windowWidth - 179; int windowHeight = w->height; window_scenarioselect_widgets[WIDX_BACKGROUND].bottom = windowHeight - 1; window_scenarioselect_widgets[WIDX_TABCONTENT].bottom = windowHeight - 1; const int bottomMargin = gConfigGeneral.debugging_tools ? 17 : 5; window_scenarioselect_widgets[WIDX_SCENARIOLIST].bottom = windowHeight - bottomMargin; }
static void window_staff_fire_invalidate() { rct_window *w; window_get_register(w); colour_scheme_update(w); }
/** * * rct2: 0x006BA44D */ static void window_banner_invalidate(rct_window *w) { colour_scheme_update(w); rct_banner* banner = &gBanners[w->number]; rct_widget* colour_btn = &window_banner_widgets[WIDX_MAIN_COLOUR]; colour_btn->type = WWT_EMPTY; //scenery item not sure why we use this instead of banner? rct_scenery_entry* sceneryEntry = get_banner_entry(banner->type); if (sceneryEntry->banner.flags & 1) colour_btn->type = WWT_COLOURBTN; w->pressed_widgets &= ~(1ULL<<WIDX_BANNER_NO_ENTRY); w->disabled_widgets &= ~( (1ULL<<WIDX_BANNER_TEXT)| (1ULL<<WIDX_TEXT_COLOUR_DROPDOWN)| (1ULL<<WIDX_TEXT_COLOUR_DROPDOWN_BUTTON)); if (banner->flags & BANNER_FLAG_NO_ENTRY){ w->pressed_widgets |= (1ULL<<WIDX_BANNER_NO_ENTRY); w->disabled_widgets |= (1ULL<<WIDX_BANNER_TEXT)| (1ULL<<WIDX_TEXT_COLOUR_DROPDOWN)| (1ULL<<WIDX_TEXT_COLOUR_DROPDOWN_BUTTON); } colour_btn->image = (banner->colour << 19) | 0x60000000 | SPR_PALETTE_BTN; rct_widget* drop_down_widget = &window_banner_widgets[WIDX_TEXT_COLOUR_DROPDOWN]; drop_down_widget->text = BannerColouredTextFormats[banner->text_colour]; }
void window_player_statistics_invalidate(rct_window *w) { if (window_player_page_widgets[w->page] != w->widgets) { w->widgets = window_player_page_widgets[w->page]; window_init_scroll_widgets(w); } colour_scheme_update(w); w->pressed_widgets &= ~(WIDX_TAB_1); w->pressed_widgets &= ~(WIDX_TAB_2); w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = w->error.var_480; // set title caption to player name w->widgets[WIDX_BACKGROUND].right = w->width - 1; w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; w->widgets[WIDX_PAGE_BACKGROUND].right = w->width - 1; w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; w->widgets[WIDX_TITLE].right = w->width - 2; w->widgets[WIDX_CLOSE].left = w->width - 13; w->widgets[WIDX_CLOSE].right = w->width - 3; window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_2); }
static void window_multiplayer_information_invalidate(rct_window *w) { colour_scheme_update(w); window_multiplayer_set_pressed_tab(w); window_multiplayer_anchor_border_widgets(w); window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); }
static void window_multiplayer_players_invalidate(rct_window *w) { colour_scheme_update(w); window_multiplayer_set_pressed_tab(w); window_multiplayer_anchor_border_widgets(w); window_multiplayer_players_widgets[WIDX_LIST].right = w->width - 4; window_multiplayer_players_widgets[WIDX_LIST].bottom = w->height - 0x0F; window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); }
static void window_land_rights_invalidate(rct_window *w) { colour_scheme_update(w); // Set the preview image button to be pressed down w->pressed_widgets |= (1 << WIDX_PREVIEW) | (1 << (LandRightsMode ? WIDX_BUY_LAND_RIGHTS : WIDX_BUY_CONSTRUCTION_RIGHTS)); w->pressed_widgets &= ~(1 << (!LandRightsMode ? WIDX_BUY_LAND_RIGHTS : WIDX_BUY_CONSTRUCTION_RIGHTS)); // Update the preview image window_land_rights_widgets[WIDX_PREVIEW].image = RCT2_GLOBAL(RCT2_ADDRESS_LAND_TOOL_SIZE, sint16) <= 7 ? SPR_LAND_TOOL_SIZE_0 + RCT2_GLOBAL(RCT2_ADDRESS_LAND_TOOL_SIZE, sint16) : 0xFFFFFFFF; }
/** * * rct2: 0x0068E115 */ static void window_clear_scenery_invalidate(rct_window *w) { colour_scheme_update(w); // Set the preview image button to be pressed down w->pressed_widgets = (1 << WIDX_PREVIEW) | (gClearSmallScenery ? (1 << WIDX_SMALL_SCENERY) : 0) | (gClearLargeScenery ? (1 << WIDX_LARGE_SCENERY) : 0) | (gClearFootpath ? (1 << WIDX_FOOTPATH) : 0); // Update the preview image (for tool sizes up to 7) window_clear_scenery_widgets[WIDX_PREVIEW].image = gLandToolSize <= 7 ? SPR_LAND_TOOL_SIZE_0 + gLandToolSize : 0xFFFFFFFF; }
static void window_changelog_invalidate(rct_window *w) { colour_scheme_update(w); window_changelog_widgets[WIDX_BACKGROUND].right = w->width - 1; window_changelog_widgets[WIDX_BACKGROUND].bottom = w->height - 1; window_changelog_widgets[WIDX_TITLE].right = w->width - 2; window_changelog_widgets[WIDX_CLOSE].left = w->width - 13; window_changelog_widgets[WIDX_CLOSE].right = w->width - 3; window_changelog_widgets[WIDX_CONTENT_PANEL].right = w->width - 1; window_changelog_widgets[WIDX_CONTENT_PANEL].bottom = w->height - 1; window_changelog_widgets[WIDX_SCROLL].right = w->width - 3; window_changelog_widgets[WIDX_SCROLL].bottom = w->height - 15; }
static void window_multiplayer_groups_invalidate(rct_window *w) { colour_scheme_update(w); window_multiplayer_set_pressed_tab(w); window_multiplayer_anchor_border_widgets(w); window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].right = w->width - 4; window_multiplayer_groups_widgets[WIDX_PERMISSIONS_LIST].bottom = w->height - 0x0F; window_align_tabs(w, WIDX_TAB1, WIDX_TAB4); // select other group if one is removed while (network_get_group_index(_selectedGroup) == -1 && _selectedGroup > 0) { _selectedGroup--; } }
void window_player_overview_invalidate(rct_window *w) { if (window_player_page_widgets[w->page] != w->widgets) { w->widgets = window_player_page_widgets[w->page]; window_init_scroll_widgets(w); } colour_scheme_update(w); w->pressed_widgets &= ~(WIDX_TAB_1); w->pressed_widgets &= ~(WIDX_TAB_2); w->pressed_widgets |= 1ULL << (w->page + WIDX_TAB_1); RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = w->error.var_480; // set title caption to player name w->widgets[WIDX_BACKGROUND].right = w->width - 1; w->widgets[WIDX_BACKGROUND].bottom = w->height - 1; w->widgets[WIDX_PAGE_BACKGROUND].right =w->width - 1; w->widgets[WIDX_PAGE_BACKGROUND].bottom = w->height - 1; w->widgets[WIDX_TITLE].right = w->width - 2; w->widgets[WIDX_CLOSE].left = w->width - 13; w->widgets[WIDX_CLOSE].right = w->width - 3; w->widgets[WIDX_LOCATE].right = w->width - 2; w->widgets[WIDX_LOCATE].left = w->width - 25; w->widgets[WIDX_KICK].right = w->width - 2; w->widgets[WIDX_KICK].left = w->width - 25; w->widgets[WIDX_VIEWPORT].right = w->width - 26; w->widgets[WIDX_VIEWPORT].bottom = w->height - 14; int groupDropdownWidth = w->widgets[WIDX_GROUP].right - w->widgets[WIDX_GROUP].left; w->widgets[WIDX_GROUP].left = (w->width - groupDropdownWidth) / 2; w->widgets[WIDX_GROUP].right = w->widgets[WIDX_GROUP].left + groupDropdownWidth; w->widgets[WIDX_GROUP_DROPDOWN].left = w->widgets[WIDX_GROUP].right - 10; w->widgets[WIDX_GROUP_DROPDOWN].right = w->widgets[WIDX_GROUP].right; window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_2); rct_viewport *viewport = w->viewport; if (viewport != NULL) { rct_widget *viewportWidget = &window_player_overview_widgets[WIDX_VIEWPORT]; viewport->x = w->x + viewportWidget->left; viewport->y = w->y + viewportWidget->top; viewport->width = viewportWidget->right - viewportWidget->left; viewport->height = viewportWidget->bottom - viewportWidget->top; viewport->view_width = viewport->width << viewport->zoom; viewport->view_height = viewport->height << viewport->zoom; } }
/** * * rct2: 0x006CB481 */ 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; window_init_scroll_widgets(w); colour_scheme_update(w); w->number = _currentRideIndex; window_push_others_right(w); show_gridlines(); return w; }
static void window_mapgen_simplex_invalidate(rct_window *w) { colour_scheme_update(w); if (w->widgets != window_mapgen_page_widgets[WINDOW_MAPGEN_PAGE_SIMPLEX]) { w->widgets = window_mapgen_page_widgets[WINDOW_MAPGEN_PAGE_SIMPLEX]; window_init_scroll_widgets(w); } w->widgets[WIDX_SIMPLEX_FLOOR_TEXTURE].image = SPR_FLOOR_TEXTURE_GRASS + _floorTexture; w->widgets[WIDX_SIMPLEX_WALL_TEXTURE].image = SPR_WALL_TEXTURE_ROCK + _wallTexture; window_mapgen_set_pressed_tab(w); window_mapgen_anchor_border_widgets(w); }
/** Based off of rct2: 0x6C0A77 */ void window_staff_fire_prompt_open(rct_peep* peep){ // Check if the confirm window already exists. if (window_bring_to_front_by_number(WC_FIRE_PROMPT, peep->sprite_index)) { return; } rct_window* w = window_create_centred(WW, WH, (uint32*)0x992C3C, 0x1A, WF_TRANSPARENT); w->widgets = window_staff_fire_widgets; w->enabled_widgets |= (1 << WIDX_CLOSE) | (1 << WIDX_YES) | (1 << WIDX_CANCEL); window_init_scroll_widgets(w); colour_scheme_update(w); w->number = peep->sprite_index; }
/** * * rct2: 0x006701CF */ static void window_editor_scenario_options_financial_invalidate(rct_window *w) { rct_widget *widgets; int i; colour_scheme_update(w); widgets = window_editor_scenario_options_widgets[w->page]; if (w->widgets != widgets) { w->widgets = widgets; window_init_scroll_widgets(w); } window_editor_scenario_options_set_pressed_tab(w); if (((RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) && (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY_SCENARIO)) || (!(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) && (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY))) { w->pressed_widgets |= (1 << WIDX_NO_MONEY); for (i = WIDX_INITIAL_CASH; i <= WIDX_FORBID_MARKETING; i++) w->widgets[i].type = WWT_EMPTY; } else { w->pressed_widgets &= ~(1 << WIDX_NO_MONEY); w->widgets[WIDX_INITIAL_CASH].type = WWT_SPINNER; w->widgets[WIDX_INITIAL_CASH_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_INITIAL_CASH_DECREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_INITIAL_LOAN].type = WWT_SPINNER; w->widgets[WIDX_INITIAL_LOAN_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_INITIAL_LOAN_DECREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_MAXIMUM_LOAN].type = WWT_SPINNER; w->widgets[WIDX_MAXIMUM_LOAN_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_MAXIMUM_LOAN_DECREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_INTEREST_RATE].type = WWT_SPINNER; w->widgets[WIDX_INTEREST_RATE_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_INTEREST_RATE_DECREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_FORBID_MARKETING].type = WWT_CHECKBOX; } if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_FORBID_MARKETING_CAMPAIGN) w->pressed_widgets |= (1 << WIDX_FORBID_MARKETING); else w->pressed_widgets &= ~(1 << WIDX_FORBID_MARKETING); w->widgets[WIDX_CLOSE].type = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR ? WWT_EMPTY : WWT_CLOSEBOX; window_editor_scenario_options_anchor_border_widgets(w); }
static void window_mapgen_random_invalidate(rct_window *w) { colour_scheme_update(w); if (w->widgets != window_mapgen_page_widgets[WINDOW_MAPGEN_PAGE_RANDOM]) { w->widgets = window_mapgen_page_widgets[WINDOW_MAPGEN_PAGE_RANDOM]; window_init_scroll_widgets(w); } w->pressed_widgets = 0; if (_randomTerrrain) w->pressed_widgets |= 1 << WIDX_RANDOM_TERRAIN; if (_placeTrees) w->pressed_widgets |= 1 << WIDX_PLACE_TREES; window_mapgen_set_pressed_tab(w); window_mapgen_anchor_border_widgets(w); }
/** * * rct2: 0x006B6819 */ static void window_research_development_invalidate(rct_window *w) { colour_scheme_update(w); if (w->widgets != window_research_page_widgets[WINDOW_RESEARCH_PAGE_DEVELOPMENT]) { w->widgets = window_research_page_widgets[WINDOW_RESEARCH_PAGE_DEVELOPMENT]; window_init_scroll_widgets(w); } window_research_set_pressed_tab(w); window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; uint32 typeId = RCT2_GLOBAL(RCT2_ADDRESS_LAST_RESEARCHED_ITEM_SUBJECT, uint32); if (typeId != 0xFFFFFFFF) { window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; window_research_development_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = typeId >= 0x10000 ? 5189 : 5191; } }
/** * * rct2: 0x006707DB */ static void window_editor_scenario_options_guests_invalidate(rct_window *w) { rct_widget *widgets; colour_scheme_update(w); widgets = window_editor_scenario_options_widgets[w->page]; if (w->widgets != widgets) { w->widgets = widgets; window_init_scroll_widgets(w); } window_editor_scenario_options_set_pressed_tab(w); if (((RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) && (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY_SCENARIO)) || (!(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) && (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY))) { w->widgets[WIDX_CASH_PER_GUEST].type = WWT_EMPTY; w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_EMPTY; w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_EMPTY; } else { w->widgets[WIDX_CASH_PER_GUEST].type = WWT_SPINNER; w->widgets[WIDX_CASH_PER_GUEST_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_CASH_PER_GUEST_DECREASE].type = WWT_DROPDOWN_BUTTON; } // Guests prefer less intense rides checkbox if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PREF_LESS_INTENSE_RIDES) w->pressed_widgets |= (1 << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES); else w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_LESS_INTENSE_RIDES); // Guests prefer more intense rides checkbox if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PREF_MORE_INTENSE_RIDES) w->pressed_widgets |= (1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES); else w->pressed_widgets &= ~(1 << WIDX_GUEST_PREFER_MORE_INTENSE_RIDES); w->widgets[WIDX_CLOSE].type = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR ? WWT_EMPTY : WWT_CLOSEBOX; window_editor_scenario_options_anchor_border_widgets(w); }
/** * * rct2: 0x006B6819 */ static void window_new_ride_invalidate(rct_window *w) { colour_scheme_update(w); window_new_ride_set_pressed_tab(w); window_new_ride_widgets[WIDX_TITLE].text = window_new_ride_titles[_windowNewRideCurrentTab]; window_new_ride_widgets[WIDX_TAB_7].type = WWT_TAB; if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) window_new_ride_widgets[WIDX_TAB_7].type = WWT_EMPTY; if (_windowNewRideCurrentTab == WINDOW_NEW_RIDE_PAGE_RESEARCH) { window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_EMPTY; uint32 typeId = gResearchLastItemSubject; if (typeId != 0xFFFFFFFF) { window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].type = WWT_FLATBTN; window_new_ride_widgets[WIDX_LAST_DEVELOPMENT_BUTTON].image = typeId >= 0x10000 ? SPR_NEW_RIDE : SPR_NEW_SCENERY; } } }
/** * * rct2: 0x00663F20 */ static void window_land_invalidate() { rct_window *w; window_get_register(w); colour_scheme_update(w); w->pressed_widgets = (1 << WIDX_PREVIEW); if (RCT2_GLOBAL(RCT2_ADDRESS_SELECTED_TERRAIN_SURFACE, uint8) != 255) w->pressed_widgets |= (1 << WIDX_FLOOR); if (RCT2_GLOBAL(RCT2_ADDRESS_SELECTED_TERRAIN_EDGE, uint8) != 255) w->pressed_widgets |= (1 << WIDX_WALL); if (LandPaintMode != 0) w->pressed_widgets |= (1 << WIDX_PAINTMODE); window_land_widgets[WIDX_FLOOR].image = SPR_FLOOR_TEXTURE_GRASS + _selectedFloorTexture; window_land_widgets[WIDX_WALL].image = SPR_WALL_TEXTURE_ROCK + _selectedWallTexture; window_land_widgets[WIDX_PREVIEW].image = RCT2_GLOBAL(RCT2_ADDRESS_LAND_TOOL_SIZE, sint16) <= 7 ? SPR_LAND_TOOL_SIZE_0 + RCT2_GLOBAL(RCT2_ADDRESS_LAND_TOOL_SIZE, sint16) : 0xFFFFFFFF; }
/** * * rct2: 0x006CF2D6 */ static void window_track_list_invalidate() { rct_window *w; rct_ride_type *entry; rct_string_id stringId; window_get_register(w); colour_scheme_update(w); entry = GET_RIDE_ENTRY(_window_track_list_item.entry_index); stringId = entry->name; if (!(entry->flags & RIDE_ENTRY_FLAG_SEPERATE_RIDE_NAME)) stringId = _window_track_list_item.type + 2; RCT2_GLOBAL(0x013CE952, uint16) = stringId; if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_TRACK_MANAGER) { window_track_list_widgets[WIDX_TITLE].image = STR_TRACK_DESIGNS; window_track_list_widgets[WIDX_TRACK_LIST].tooltip = STR_CLICK_ON_DESIGN_TO_RENAME_OR_DELETE_IT; } else { window_track_list_widgets[WIDX_TITLE].image = STR_SELECT_DESIGN; window_track_list_widgets[WIDX_TRACK_LIST].tooltip = STR_CLICK_ON_DESIGN_TO_BUILD_IT_TIP; } if ((RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_TRACK_MANAGER) || w->track_list.var_482 != 0) { w->pressed_widgets |= 1 << WIDX_TRACK_PREVIEW; w->disabled_widgets &= ~(1 << WIDX_TRACK_PREVIEW); window_track_list_widgets[WIDX_ROTATE].type = WWT_FLATBTN; window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_FLATBTN; if (RCT2_GLOBAL(RCT2_ADDRESS_TRACK_DESIGN_SCENERY_TOGGLE, uint8) == 0) w->pressed_widgets |= (1 << WIDX_TOGGLE_SCENERY); else w->pressed_widgets &= ~(1 << WIDX_TOGGLE_SCENERY); } else { w->pressed_widgets &= ~(1 << WIDX_TRACK_PREVIEW); w->disabled_widgets |= (1 << WIDX_TRACK_PREVIEW); window_track_list_widgets[WIDX_ROTATE].type = WWT_EMPTY; window_track_list_widgets[WIDX_TOGGLE_SCENERY].type = WWT_EMPTY; } }
static void window_save_prompt_invalidate(rct_window *w) { colour_scheme_update(w); }
static void window_ride_demolish_invalidate(rct_window *w) { colour_scheme_update(w); }
/** * * rct2: 0x00670CBA */ static void window_editor_scenario_options_park_invalidate(rct_window *w) { rct_widget *widgets; int i; uint64 pressedWidgets; colour_scheme_update(w); widgets = window_editor_scenario_options_widgets[w->page]; if (w->widgets != widgets) { w->widgets = widgets; window_init_scroll_widgets(w); } window_editor_scenario_options_set_pressed_tab(w); if (((RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) && (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY_SCENARIO)) || (!(RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR) && (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY))) { for (i = WIDX_LAND_COST; i <= WIDX_ENTRY_PRICE_DECREASE; i++) w->widgets[i].type = WWT_EMPTY; } else { w->widgets[WIDX_LAND_COST].type = WWT_SPINNER; w->widgets[WIDX_LAND_COST_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_LAND_COST_DECREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST].type = WWT_SPINNER; w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_CONSTRUCTION_RIGHTS_COST_DECREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES].type = WWT_DROPDOWN; w->widgets[WIDX_PAY_FOR_PARK_OR_RIDES_DROPDOWN].type = WWT_DROPDOWN_BUTTON; if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PARK_FREE_ENTRY) { w->widgets[WIDX_ENTRY_PRICE].type = WWT_EMPTY; w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_EMPTY; w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_EMPTY; } else { w->widgets[WIDX_ENTRY_PRICE].type = WWT_SPINNER; w->widgets[WIDX_ENTRY_PRICE_INCREASE].type = WWT_DROPDOWN_BUTTON; w->widgets[WIDX_ENTRY_PRICE_DECREASE].type = WWT_DROPDOWN_BUTTON; } } // Set checkboxes pressedWidgets = w->pressed_widgets; pressedWidgets &= ~(1 << WIDX_FORBID_TREE_REMOVAL); pressedWidgets &= ~(1 << WIDX_FORBID_LANDSCAPE_CHANGES); pressedWidgets &= ~(1 << WIDX_FORBID_HIGH_CONSTRUCTION); pressedWidgets &= ~(1 << WIDX_HARD_PARK_RATING); pressedWidgets &= ~(1 << WIDX_HARD_GUEST_GENERATION); if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_FORBID_TREE_REMOVAL) pressedWidgets |= (1 << WIDX_FORBID_TREE_REMOVAL); if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_FORBID_LANDSCAPE_CHANGES) pressedWidgets |= (1 << WIDX_FORBID_LANDSCAPE_CHANGES); if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_FORBID_HIGH_CONSTRUCTION) pressedWidgets |= (1 << WIDX_FORBID_HIGH_CONSTRUCTION); if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_DIFFICULT_PARK_RATING) pressedWidgets |= (1 << WIDX_HARD_PARK_RATING); if (RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_DIFFICULT_GUEST_GENERATION) pressedWidgets |= (1 << WIDX_HARD_GUEST_GENERATION); w->pressed_widgets = pressedWidgets; w->widgets[WIDX_CLOSE].type = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_SCENARIO_EDITOR ? WWT_EMPTY : WWT_CLOSEBOX; window_editor_scenario_options_anchor_border_widgets(w); }
static void window_title_menu_invalidate(rct_window *w) { colour_scheme_update(w); }
static void window_title_options_invalidate() { rct_window *w; window_get_register(w); colour_scheme_update(w); }