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);
}
Exemple #3
0
 void colour_scheme_update_all()
 {
     for (rct_window *w = g_window_list; w < gWindowNextSlot; w++)
     {
         colour_scheme_update(w);
     }
 }
Exemple #4
0
/**
 *
 *  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);
}
Exemple #7
0
/**
 *
 *  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];
}
Exemple #8
0
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);
}
Exemple #9
0
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);
}
Exemple #10
0
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);
}
Exemple #11
0
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;
}
Exemple #12
0
/**
 *
 *  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;
}
Exemple #13
0
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;
}
Exemple #14
0
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--;
	}
}
Exemple #15
0
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;
}
Exemple #17
0
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);
}
Exemple #20
0
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);
}
Exemple #21
0
/**
 *
 *  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);
}
Exemple #23
0
/**
 *
 *  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;
		}
	}
}
Exemple #24
0
/**
 *
 *  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;
}
Exemple #25
0
/**
 *
 *  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;
	}
}
Exemple #26
0
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);
}
Exemple #29
0
static void window_title_menu_invalidate(rct_window *w)
{
	colour_scheme_update(w);
}
Exemple #30
0
static void window_title_options_invalidate()
{
	rct_window *w;
	window_get_register(w);
	colour_scheme_update(w);
}