diff --git a/data/language/english_uk.txt b/data/language/english_uk.txt index b1af86d0b8..54cf13c3ae 100644 --- a/data/language/english_uk.txt +++ b/data/language/english_uk.txt @@ -3485,4 +3485,5 @@ STR_5148 :{SMALLFONT}{BLACK}Change the game speed STR_5149 :{SMALLFONT}{BLACK}Open the cheats window STR_5150 :Enable debugging tools STR_5151 :, -STR_5152 :. \ No newline at end of file +STR_5152 :. +STR_5153 :RCT1 colour scheme diff --git a/src/interface/window.c b/src/interface/window.c index 89dbcd5baa..edc97909b6 100644 --- a/src/interface/window.c +++ b/src/interface/window.c @@ -717,6 +717,17 @@ void window_invalidate_by_number(rct_windowclass cls, rct_windownumber number) window_invalidate(w); } +/** + * Invalidates all windows. + */ +void window_invalidate_all() +{ + rct_window* w; + + for (w = g_window_list; w < RCT2_NEW_WINDOW; w++) + window_invalidate(w); +} + /** * Invalidates the specified widget of a window. * rct2: 0x006EC402 @@ -2116,4 +2127,4 @@ void window_move_and_snap(rct_window *w, int newWindowX, int newWindowY, int sna int window_can_resize(rct_window *w) { return (w->flags & WF_RESIZABLE) && (w->min_width != w->max_width || w->min_height != w->max_height); -} \ No newline at end of file +} diff --git a/src/windows/finances.c b/src/windows/finances.c index e1c6350a00..f4c2d25b25 100644 --- a/src/windows/finances.c +++ b/src/windows/finances.c @@ -437,6 +437,8 @@ static void* window_finances_page_events[] = { window_finances_research_events }; +static void window_finances_set_colours(); + #pragma endregion #pragma region Enabled widgets @@ -542,18 +544,6 @@ void window_finances_open() w->number = 0; w->frame_no = 0; - if(!gConfigInterface.rct1_colour_scheme) - { - w->colours[0] = 1; - w->colours[1] = 19; - w->colours[2] = 19; - } - else - { - w->colours[0] = 4; - w->colours[1] = 1; - w->colours[2] = 1; - } research_update_uncompleted_types(); } @@ -650,6 +640,7 @@ static void window_finances_summary_invalidate() rct_window *w; window_get_register(w); + window_finances_set_colours(); if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]) { w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_SUMMARY]; @@ -823,6 +814,7 @@ static void window_finances_financial_graph_invalidate() rct_window *w; window_get_register(w); + window_finances_set_colours(); if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH]) { w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_FINANCIAL_GRAPH]; @@ -945,6 +937,7 @@ static void window_finances_park_value_graph_invalidate() rct_window *w; window_get_register(w); + window_finances_set_colours(); if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH]) { w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_VALUE_GRAPH]; @@ -1063,6 +1056,7 @@ static void window_finances_profit_graph_invalidate() rct_window *w; window_get_register(w); + window_finances_set_colours(); if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH]) { w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_PROFIT_GRAPH]; @@ -1185,6 +1179,7 @@ static void window_finances_marketing_invalidate() int i; window_get_register(w); + window_finances_set_colours(); if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_MARKETING]) { w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_MARKETING]; @@ -1434,6 +1429,7 @@ static void window_finances_research_invalidate() rct_window *w; window_get_register(w); + window_finances_set_colours(); if (w->widgets != window_finances_page_widgets[WINDOW_FINANCES_PAGE_RESEARCH]) { w->widgets = window_finances_page_widgets[WINDOW_FINANCES_PAGE_RESEARCH]; @@ -1565,4 +1561,23 @@ static void window_finances_draw_tab_images(rct_drawpixelinfo *dpi, rct_window * window_finances_draw_tab_image(dpi, w, WINDOW_FINANCES_PAGE_RESEARCH, SPR_TAB_FINANCES_RESEARCH_0); } +static void window_finances_set_colours() +{ + rct_window *w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 19; + w->colours[2] = 19; + } + else + { + w->colours[0] = 4; + w->colours[1] = 1; + w->colours[2] = 1; + } +} + #pragma endregion diff --git a/src/windows/game_bottom_toolbar.c b/src/windows/game_bottom_toolbar.c index e76cdd5a5f..175c5ccac4 100644 --- a/src/windows/game_bottom_toolbar.c +++ b/src/windows/game_bottom_toolbar.c @@ -153,19 +153,6 @@ void window_game_bottom_toolbar_open() // Reset the middle widget to not show by default. // If it is required to be shown news_update will reshow it. window_game_bottom_toolbar_widgets[WIDX_MIDDLE_OUTSET].type = WWT_EMPTY; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 140; - window->colours[1] = 140; - window->colours[2] = 0; - } - else - { - window->colours[0] = 129; - window->colours[1] = 129; - window->colours[2] = 0; - } } /** @@ -282,6 +269,19 @@ static void window_game_bottom_toolbar_invalidate() window_get_register(w); + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 140; + w->colours[1] = 140; + w->colours[2] = 0; + } + else + { + w->colours[0] = 129; + w->colours[1] = 129; + w->colours[2] = 0; + } + // Anchor the middle and right panel to the right x = RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_WIDTH, sint16); w->width = x; diff --git a/src/windows/guest.c b/src/windows/guest.c index 18f45f6e30..e7f32b44ab 100644 --- a/src/windows/guest.c +++ b/src/windows/guest.c @@ -419,6 +419,8 @@ void* window_guest_page_events[] = { window_guest_inventory_events }; +void window_guest_set_colours(); + //0x981D3C uint32 window_guest_page_enabled_widgets[] = { (1 << WIDX_CLOSE) | @@ -509,19 +511,6 @@ void window_guest_open(rct_peep* peep){ window->no_list_items = 0; window->selected_list_item = -1; - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 1; - window->colours[1] = 15; - window->colours[2] = 15; - } - else - { - window->colours[0] = 22; - window->colours[1] = 26; - window->colours[2] = 26; - } - window->viewport_focus_coordinates.y = -1; } @@ -1039,6 +1028,7 @@ void window_guest_overview_paint(){ void window_guest_overview_invalidate(){ rct_window* w; window_get_register(w); + window_guest_set_colours(); if (window_guest_page_widgets[w->page] != w->widgets){ w->widgets = window_guest_page_widgets[w->page]; @@ -1343,6 +1333,7 @@ void window_guest_stats_update(){ void window_guest_stats_invalidate(){ rct_window* w; window_get_register(w); + window_guest_set_colours(); if (w->widgets != window_guest_page_widgets[w->page]) { w->widgets = window_guest_page_widgets[w->page]; @@ -1674,6 +1665,8 @@ void window_guest_rides_scroll_mouse_over(){ void window_guest_rides_invalidate(){ rct_window* w; window_get_register(w); + window_guest_set_colours(); + if (window_guest_page_widgets[w->page] != w->widgets){ w->widgets = window_guest_page_widgets[w->page]; window_init_scroll_widgets(w); @@ -1796,6 +1789,7 @@ void window_guest_finance_update(){ void window_guest_finance_invalidate(){ rct_window* w; window_get_register(w); + window_guest_set_colours(); if (window_guest_page_widgets[w->page] != w->widgets){ w->widgets = window_guest_page_widgets[w->page]; @@ -1935,6 +1929,7 @@ void window_guest_thoughts_update(){ void window_guest_thoughts_invalidate(){ rct_window* w; window_get_register(w); + window_guest_set_colours(); if (window_guest_page_widgets[w->page] != w->widgets){ w->widgets = window_guest_page_widgets[w->page]; @@ -2037,6 +2032,7 @@ void window_guest_inventory_update(){ void window_guest_inventory_invalidate(){ rct_window* w; window_get_register(w); + window_guest_set_colours(); if (window_guest_page_widgets[w->page] != w->widgets){ w->widgets = window_guest_page_widgets[w->page]; @@ -2196,3 +2192,22 @@ void window_guest_inventory_paint(){ gfx_draw_string_left(dpi, 2293, (void*)0, 0, x, y); } } + +void window_guest_set_colours() +{ + rct_window* w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 15; + w->colours[2] = 15; + } + else + { + w->colours[0] = 22; + w->colours[1] = 26; + w->colours[2] = 26; + } +} diff --git a/src/windows/guest_list.c b/src/windows/guest_list.c index b91ec5859d..ab844b1047 100644 --- a/src/windows/guest_list.c +++ b/src/windows/guest_list.c @@ -174,19 +174,6 @@ void window_guest_list_open() window->max_width = 500; window->max_height = 450; window->flags |= WF_RESIZABLE; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 1; - window->colours[1] = 15; - window->colours[2] = 15; - } - else - { - window->colours[0] = 22; - window->colours[1] = 26; - window->colours[2] = 26; - } } /** @@ -583,6 +570,19 @@ static void window_guest_list_invalidate() window_get_register(w); + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 15; + w->colours[2] = 15; + } + else + { + w->colours[0] = 22; + w->colours[1] = 26; + w->colours[2] = 26; + } + 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)); diff --git a/src/windows/new_campaign.c b/src/windows/new_campaign.c index 72f789c8ff..9f0cb40006 100644 --- a/src/windows/new_campaign.c +++ b/src/windows/new_campaign.c @@ -156,19 +156,6 @@ void window_new_campaign_open(sint16 campaignType) (1 << WIDX_WEEKS_DECREASE_BUTTON); window_init_scroll_widgets(w); - if(!gConfigInterface.rct1_colour_scheme) - { - w->colours[0] = 19; - w->colours[1] = 19; - w->colours[2] = 19; - } - else - { - w->colours[0] = 4; - w->colours[1] = 4; - w->colours[2] = 1; - } - window_new_campaign_widgets[WIDX_TITLE].image = STR_MARKETING_VOUCHERS_FOR_FREE_ENTRY_TO_THE_PARK + campaignType; // Campaign type @@ -359,6 +346,19 @@ static void window_new_campaign_invalidate() window_get_register(w); + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 19; + w->colours[1] = 19; + w->colours[2] = 19; + } + else + { + w->colours[0] = 4; + w->colours[1] = 4; + w->colours[2] = 1; + } + window_new_campaign_widgets[WIDX_RIDE_LABEL].type = WWT_EMPTY; window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].type = WWT_EMPTY; window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_EMPTY; diff --git a/src/windows/new_ride.c b/src/windows/new_ride.c index 3ec32a087f..082be03649 100644 --- a/src/windows/new_ride.c +++ b/src/windows/new_ride.c @@ -412,19 +412,6 @@ rct_window *window_new_ride_open() w->frame_no = 0; - if(!gConfigInterface.rct1_colour_scheme) - { - w->colours[0] = 24; - w->colours[1] = 26; - w->colours[2] = 26; - } - else - { - w->colours[0] = 26; - w->colours[1] = 1; - w->colours[2] = 1; - } - w->new_ride.selected_ride_id = -1; w->new_ride.highlighted_ride_id = -1; _lastTrackDesignCountRideType.type = 255; @@ -741,6 +728,19 @@ static void window_new_ride_invalidate() window_get_register(w); + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 24; + w->colours[1] = 26; + w->colours[2] = 26; + } + else + { + w->colours[0] = 26; + w->colours[1] = 1; + w->colours[2] = 1; + } + window_new_ride_set_pressed_tab(w); window_new_ride_widgets[WIDX_TITLE].image = STR_NEW_TRANSPORT_RIDES + _window_new_ride_current_tab; diff --git a/src/windows/options.c b/src/windows/options.c index 68f4aa8833..ae7513dc1b 100644 --- a/src/windows/options.c +++ b/src/windows/options.c @@ -92,6 +92,7 @@ enum WINDOW_OPTIONS_WIDGET_IDX { WIDX_TOOLBAR_SHOW_FINANCES, WIDX_TOOLBAR_SHOW_RESEARCH, WIDX_TOOLBAR_SHOW_CHEATS, + WIDX_RCT1_COLOUR_SCHEME, WIDX_REAL_NAME_CHECKBOX, WIDX_SAVE_PLUGIN_DATA_CHECKBOX, @@ -152,6 +153,7 @@ static rct_widget window_options_widgets[] = { { WWT_CHECKBOX, 2, 10, 299, 82, 93, 5120, STR_NONE }, { WWT_CHECKBOX, 2, 10, 299, 97, 108, 5121, STR_NONE }, { WWT_CHECKBOX, 2, 10, 299, 112, 123, 5147, STR_NONE }, + { WWT_CHECKBOX, 2, 10, 299, 127, 138, 5153, STR_NONE }, // rct1 colour scheme // Misc { WWT_CHECKBOX, 2, 10, 299, 53, 64, STR_REAL_NAME, STR_REAL_NAME_TIP }, @@ -268,7 +270,8 @@ void window_options_open() (1ULL << WIDX_AUTOSAVE) | (1ULL << WIDX_AUTOSAVE_DROPDOWN) | (1ULL << WIDX_ALLOW_SUBTYPE_SWITCHING) | - (1ULL << WIDX_DEBUGGING_TOOLS); + (1ULL << WIDX_DEBUGGING_TOOLS) | + (1ULL << WIDX_RCT1_COLOUR_SCHEME); w->page = WINDOW_OPTIONS_PAGE_DISPLAY; window_init_scroll_widgets(w); @@ -325,6 +328,11 @@ static void window_options_mouseup() window_invalidate(w); window_invalidate_by_class(WC_TOP_TOOLBAR); break; + case WIDX_RCT1_COLOUR_SCHEME: + gConfigInterface.rct1_colour_scheme ^= 1; + config_save_default(); + window_invalidate_all(); + break; case WIDX_ALLOW_SUBTYPE_SWITCHING: gConfigInterface.allow_subtype_switching ^= 1; config_save_default(); @@ -768,12 +776,14 @@ static void window_options_invalidate() widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_FINANCES, gConfigInterface.toolbar_show_finances); widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_RESEARCH, gConfigInterface.toolbar_show_research); widget_set_checkbox_value(w, WIDX_TOOLBAR_SHOW_CHEATS, gConfigInterface.toolbar_show_cheats); + widget_set_checkbox_value(w, WIDX_RCT1_COLOUR_SCHEME, gConfigInterface.rct1_colour_scheme); window_options_widgets[WIDX_SCREEN_EDGE_SCROLLING].type = WWT_CHECKBOX; window_options_widgets[WIDX_HOTKEY_DROPDOWN].type = WWT_DROPDOWN_BUTTON; window_options_widgets[WIDX_TOOLBAR_SHOW_FINANCES].type = WWT_CHECKBOX; window_options_widgets[WIDX_TOOLBAR_SHOW_RESEARCH].type = WWT_CHECKBOX; window_options_widgets[WIDX_TOOLBAR_SHOW_CHEATS].type = WWT_CHECKBOX; + window_options_widgets[WIDX_RCT1_COLOUR_SCHEME].type = WWT_CHECKBOX; break; case WINDOW_OPTIONS_PAGE_MISC: widget_set_checkbox_value(w, WIDX_ALLOW_SUBTYPE_SWITCHING, gConfigInterface.allow_subtype_switching); diff --git a/src/windows/ride.c b/src/windows/ride.c index 3f6c320225..84381a640c 100644 --- a/src/windows/ride.c +++ b/src/windows/ride.c @@ -602,6 +602,8 @@ static void window_ride_customer_update(rct_window *w); static void window_ride_customer_invalidate(); static void window_ride_customer_paint(); +static void window_ride_set_colours(); + // 0x0098DFD4 static void* window_ride_main_events[] = { window_ride_emptysub, @@ -1173,19 +1175,6 @@ rct_window *window_ride_open(int rideIndex) w->max_height = 450; w->flags |= WF_RESIZABLE; - if(!gConfigInterface.rct1_colour_scheme) - { - w->colours[0] = 1; - w->colours[1] = 26; - w->colours[2] = 11; - } - else - { - w->colours[0] = 26; - w->colours[1] = 1; - w->colours[2] = 11; - } - ride = GET_RIDE(rideIndex); numSubTypes = 0; rideEntryIndexPtr = get_ride_entry_indices_for_ride_type(ride->type); @@ -1986,6 +1975,8 @@ static void window_ride_main_invalidate() window_get_register(w); + window_ride_set_colours(); + widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { w->widgets = widgets; @@ -2435,6 +2426,7 @@ static void window_ride_vehicle_invalidate() int carsPerTrain; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -2998,6 +2990,7 @@ static void window_ride_operating_invalidate() rct_string_id format, caption, tooltip; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -3405,6 +3398,7 @@ static void window_ride_maintenance_invalidate() rct_widget *widgets; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -3923,6 +3917,7 @@ static void window_ride_colour_invalidate() int vehicleColourSchemeType; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -4416,6 +4411,7 @@ static void window_ride_music_invalidate() int isMusicActivated; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -4708,6 +4704,7 @@ static void window_ride_measurements_invalidate() rct_widget *widgets; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -5158,6 +5155,7 @@ static void window_ride_graphs_invalidate() int x, y; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -5503,6 +5501,7 @@ static void window_ride_income_invalidate() int primaryItem, secondaryItem; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -5784,6 +5783,7 @@ static void window_ride_customer_invalidate() rct_widget *widgets; window_get_register(w); + window_ride_set_colours(); widgets = window_ride_page_widgets[w->page]; if (w->widgets != widgets) { @@ -5922,4 +5922,23 @@ static void window_ride_customer_paint() gfx_draw_string_left(dpi, stringId, &age, 0, x, y); } +static void window_ride_set_colours() +{ + rct_window *w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 26; + w->colours[2] = 11; + } + else + { + w->colours[0] = 26; + w->colours[1] = 1; + w->colours[2] = 11; + } +} + #pragma endregion diff --git a/src/windows/ride_list.c b/src/windows/ride_list.c index 46bc65961a..f327357a61 100644 --- a/src/windows/ride_list.c +++ b/src/windows/ride_list.c @@ -162,20 +162,6 @@ void window_ride_list_open() window->max_width = 400; window->max_height = 450; window->flags |= WF_RESIZABLE; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 1; - window->colours[1] = 26; - window->colours[2] = 26; - } - else - { - window->colours[0] = 26; - window->colours[1] = 1; - window->colours[2] = 1; - } - } _window_ride_list_information_type = INFORMATION_TYPE_STATUS; window->list_information_type = 0; @@ -434,6 +420,19 @@ static void window_ride_list_invalidate() w->widgets[WIDX_LIST].bottom = w->height - 4; w->widgets[WIDX_OPEN_CLOSE_ALL].right = w->width - 2; w->widgets[WIDX_OPEN_CLOSE_ALL].left = w->width - 25; + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 26; + w->colours[2] = 26; + } + else + { + w->colours[0] = 26; + w->colours[1] = 1; + w->colours[2] = 1; + } } /** diff --git a/src/windows/staff.c b/src/windows/staff.c index e04d8c89d7..084a666d09 100644 --- a/src/windows/staff.c +++ b/src/windows/staff.c @@ -163,6 +163,8 @@ void window_staff_stats_invalidate(); void window_staff_stats_paint(); void window_staff_stats_tab_paint(rct_window* w, rct_drawpixelinfo* dpi); +void window_staff_set_colours(); + // 0x992AEC static void* window_staff_overview_events[] = { window_staff_overview_close, @@ -319,19 +321,6 @@ void window_staff_open(rct_peep* peep) w->max_height = 450; w->flags = 1 << 8; - - if(!gConfigInterface.rct1_colour_scheme) - { - w->colours[0] = 1; - w->colours[1] = 4; - w->colours[2] = 4; - } - else - { - w->colours[0] = 12; - w->colours[1] = 4; - w->colours[2] = 4; - } } w->page = 0; window_invalidate(w); @@ -735,6 +724,8 @@ void window_staff_stats_invalidate(){ rct_window* w; window_get_register(w); + window_staff_set_colours(); + if (window_staff_page_widgets[w->page] != w->widgets){ w->widgets = window_staff_page_widgets[w->page]; window_init_scroll_widgets(w); @@ -767,6 +758,8 @@ void window_staff_options_invalidate(){ rct_window* w; window_get_register(w); + window_staff_set_colours(); + if (window_staff_page_widgets[w->page] != w->widgets){ w->widgets = window_staff_page_widgets[w->page]; window_init_scroll_widgets(w); @@ -839,6 +832,8 @@ void window_staff_overview_invalidate(){ rct_window* w; window_get_register(w); + window_staff_set_colours(); + if (window_staff_page_widgets[w->page] != w->widgets){ w->widgets = window_staff_page_widgets[w->page]; window_init_scroll_widgets(w); @@ -1393,3 +1388,22 @@ void window_staff_options_dropdown() game_do_command(peep->x, (costume << 8) | 1, peep->y, w->number, GAME_COMMAND_SET_STAFF_ORDER, (int)peep, 0); } + +void window_staff_set_colours() +{ + rct_window* w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 4; + w->colours[2] = 4; + } + else + { + w->colours[0] = 12; + w->colours[1] = 4; + w->colours[2] = 4; + } +} diff --git a/src/windows/staff_list.c b/src/windows/staff_list.c index 537bacf339..d98c37ccc8 100644 --- a/src/windows/staff_list.c +++ b/src/windows/staff_list.c @@ -168,19 +168,6 @@ void window_staff_list_open() window->max_width = 500; window->max_height = 450; window->flags |= WF_RESIZABLE; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 1; - window->colours[1] = 4; - window->colours[2] = 4; - } - else - { - window->colours[0] = 12; - window->colours[1] = 4; - window->colours[2] = 4; - } } void window_staff_list_cancel_tools(rct_window *w) { @@ -469,6 +456,19 @@ void window_staff_list_invalidate() window_get_register(w); + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 1; + w->colours[1] = 4; + w->colours[2] = 4; + } + else + { + w->colours[0] = 12; + w->colours[1] = 4; + w->colours[2] = 4; + } + int pressed_widgets = w->pressed_widgets & 0xFFFFFF0F; uint8 tabIndex = RCT2_GLOBAL(RCT2_ADDRESS_WINDOW_STAFF_LIST_SELECTED_TAB, uint8); uint8 widgetIndex = tabIndex + 4; diff --git a/src/windows/title_exit.c b/src/windows/title_exit.c index 8998012890..31b3b608af 100644 --- a/src/windows/title_exit.c +++ b/src/windows/title_exit.c @@ -34,6 +34,7 @@ static rct_widget window_title_exit_widgets[] = { static void window_title_exit_emptysub() {} static void window_title_exit_paint(); static void window_title_exit_mouseup(); +static void window_title_exit_invalidate(); static void* window_title_exit_events[] = { window_title_exit_emptysub, @@ -61,7 +62,7 @@ static void* window_title_exit_events[] = { window_title_exit_emptysub, window_title_exit_emptysub, window_title_exit_emptysub, - window_title_exit_emptysub, + window_title_exit_invalidate, window_title_exit_paint, window_title_exit_emptysub }; @@ -85,19 +86,6 @@ void window_title_exit_open() window->enabled_widgets |= 1; window_init_scroll_widgets(window); window->flags |= 16; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 140; - window->colours[1] = 140; - window->colours[2] = 140; - } - else - { - window->colours[0] = 129; - window->colours[1] = 129; - window->colours[2] = 129; - } } /** @@ -132,3 +120,22 @@ static void window_title_exit_paint() window_draw_widgets(w, dpi); } + +static void window_title_exit_invalidate() +{ + rct_window *w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 140; + w->colours[1] = 140; + w->colours[2] = 140; + } + else + { + w->colours[0] = 129; + w->colours[1] = 129; + w->colours[2] = 129; + } +} diff --git a/src/windows/title_menu.c b/src/windows/title_menu.c index da2114c00d..646cb57a35 100644 --- a/src/windows/title_menu.c +++ b/src/windows/title_menu.c @@ -50,6 +50,7 @@ static void window_title_menu_mousedown(int widgetIndex, rct_window*w, rct_widge static void window_title_menu_dropdown(); static void window_title_menu_unknown17(); static void window_title_menu_paint(); +static void window_title_menu_invalidate(); static void* window_title_menu_events[] = { window_title_menu_emptysub, @@ -77,7 +78,7 @@ static void* window_title_menu_events[] = { window_title_menu_emptysub, window_title_menu_unknown17, window_title_menu_emptysub, - window_title_menu_emptysub, + window_title_menu_invalidate, window_title_menu_paint, window_title_menu_emptysub }; @@ -101,19 +102,6 @@ void window_title_menu_open() window->enabled_widgets |= (8 | 4 | 2 | 1); window_init_scroll_widgets(window); window->flags |= 16; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 140; - window->colours[1] = 140; - window->colours[2] = 140; - } - else - { - window->colours[0] = 129; - window->colours[1] = 129; - window->colours[2] = 129; - } } static void window_title_menu_mouseup() @@ -201,3 +189,22 @@ static void window_title_menu_paint() window_draw_widgets(w, dpi); } + +static void window_title_menu_invalidate() +{ + rct_window *w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 140; + w->colours[1] = 140; + w->colours[2] = 140; + } + else + { + w->colours[0] = 129; + w->colours[1] = 129; + w->colours[2] = 129; + } +} diff --git a/src/windows/title_options.c b/src/windows/title_options.c index 4484ed162c..e1de3bd3df 100644 --- a/src/windows/title_options.c +++ b/src/windows/title_options.c @@ -33,6 +33,7 @@ static rct_widget window_title_options_widgets[] = { static void window_title_options_emptysub() {} static void window_title_options_paint(); static void window_title_options_mouseup(); +static void window_title_options_invalidate(); static void* window_title_options_events[] = { window_title_options_emptysub, @@ -60,7 +61,7 @@ static void* window_title_options_events[] = { window_title_options_emptysub, window_title_options_emptysub, window_title_options_emptysub, - window_title_options_emptysub, + window_title_options_invalidate, window_title_options_paint, window_title_options_emptysub }; @@ -83,19 +84,6 @@ void window_title_options_open() window->enabled_widgets |= 1; window_init_scroll_widgets(window); window->flags |= 16; - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 140; - window->colours[1] = 140; - window->colours[2] = 140; - } - else - { - window->colours[0] = 129; - window->colours[1] = 129; - window->colours[2] = 129; - } } static void window_title_options_mouseup() @@ -121,3 +109,22 @@ static void window_title_options_paint() window_draw_widgets(w, dpi); } + +static void window_title_options_invalidate() +{ + rct_window *w; + window_get_register(w); + + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 140; + w->colours[1] = 140; + w->colours[2] = 140; + } + else + { + w->colours[0] = 129; + w->colours[1] = 129; + w->colours[2] = 129; + } +} diff --git a/src/windows/top_toolbar.c b/src/windows/top_toolbar.c index e2984ac975..ab8855f495 100644 --- a/src/windows/top_toolbar.c +++ b/src/windows/top_toolbar.c @@ -221,21 +221,6 @@ void window_top_toolbar_open() window->widgets = window_top_toolbar_widgets; window_init_scroll_widgets(window); - - if(!gConfigInterface.rct1_colour_scheme) - { - window->colours[0] = 7; - window->colours[1] = 12; - window->colours[2] = 24; - window->colours[3] = 1; - } - else - { - window->colours[0] = 1; - window->colours[1] = 1; - window->colours[2] = 1; - window->colours[3] = 1; - } } /** @@ -472,6 +457,21 @@ static void window_top_toolbar_invalidate() window_get_register(w); + if(!gConfigInterface.rct1_colour_scheme) + { + w->colours[0] = 7; + w->colours[1] = 12; + w->colours[2] = 24; + w->colours[3] = 1; + } + else + { + w->colours[0] = 1; + w->colours[1] = 1; + w->colours[2] = 1; + w->colours[3] = 1; + } + // Enable / disable buttons window_top_toolbar_widgets[WIDX_PAUSE].type = WWT_TRNBTN; window_top_toolbar_widgets[WIDX_FILE_MENU].type = WWT_TRNBTN;