static void window_scenarioselect_mousedown(int widgetIndex, rct_window*w, rct_widget* widget)
{
	if (widgetIndex >= WIDX_TAB1 && widgetIndex <= WIDX_TAB5) {
		w->selected_tab = widgetIndex - 4;
		w->var_494 = 0;
		window_invalidate(w);
		window_event_resize_call(w);
		window_event_invalidate_call(w);
		window_init_scroll_widgets(w);
		window_invalidate(w);
	}
}
Beispiel #2
0
static void window_scenarioselect_mousedown(int widgetIndex, rct_window*w, rct_widget* widget)
{
	if (widgetIndex >= WIDX_TAB1 && widgetIndex <= WIDX_TAB8) {
		w->selected_tab = widgetIndex - 4;
		w->highlighted_scenario = NULL;
		initialise_list_items(w);
		window_invalidate(w);
		window_event_resize_call(w);
		window_event_invalidate_call(w);
		window_init_scroll_widgets(w);
		window_invalidate(w);
	}
}
Beispiel #3
0
static void window_title_editor_mousedown(rct_window * w, rct_widgetindex widgetIndex, rct_widget * widget)
{
    switch (widgetIndex)
    {
    case WIDX_TITLE_EDITOR_PRESETS_TAB:
    case WIDX_TITLE_EDITOR_SAVES_TAB:
    case WIDX_TITLE_EDITOR_SCRIPT_TAB:
    {
        sint32 newSelectedTab = widgetIndex - WIDX_TITLE_EDITOR_PRESETS_TAB;
        if (w->selected_tab != newSelectedTab)
        {
            w->selected_tab = newSelectedTab;
            w->selected_list_item = -1;
            _window_title_editor_highlighted_index = -1;
            w->scrolls[0].v_top = 0;
            w->frame_no = 0;
            window_event_resize_call(w);
            window_invalidate(w);
        }
        break;
    }
    case WIDX_TITLE_EDITOR_PRESETS_DROPDOWN:
        if (window_find_by_class(WC_TITLE_COMMAND_EDITOR) != nullptr)
        {
            context_show_error(STR_TITLE_EDITOR_ERR_CANT_CHANGE_WHILE_EDITOR_IS_OPEN, STR_NONE);
        }
        else
        {
            sint32 numItems = (sint32)title_sequence_manager_get_count();
            for (sint32 i = 0; i < numItems; i++)
            {
                gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM;
                gDropdownItemsArgs[i] = (uintptr_t)title_sequence_manager_get_name(i);
            }

            widget--;
            window_dropdown_show_text_custom_width(
                w->x + widget->left,
                w->y + widget->top,
                widget->bottom - widget->top + 1,
                w->colours[1],
                0,
                DROPDOWN_FLAG_STAY_OPEN,
                numItems,
                widget->right - widget->left - 3);
            dropdown_set_checked((sint32)_selectedTitleSequence, true);
        }
        break;
    }
}
/**
 *
 *  rct2: 0x00668496
 */
static void window_editor_scenario_options_set_page(rct_window *w, int page)
{
	if (w->page == page)
		return;

	w->page = page;
	w->frame_no = 0;
	w->var_492 = 0;
	w->enabled_widgets = window_editor_scenario_options_page_enabled_widgets[page];
	w->hold_down_widgets = window_editor_scenario_options_page_hold_down_widgets[page];
	w->event_handlers = window_editor_scenario_options_page_events[page];
	w->widgets = window_editor_scenario_options_widgets[page];
	window_invalidate(w);
	window_event_resize_call(w);
	window_event_invalidate_call(w);
	window_init_scroll_widgets(w);
	window_invalidate(w);
}
Beispiel #5
0
static void window_multiplayer_set_page(rct_window* w, sint32 page)
{
	_windowInformationSizeDirty = true;

	w->page = page;
	w->frame_no = 0;
	w->no_list_items = 0;
	w->selected_list_item = -1;

	w->enabled_widgets = window_multiplayer_page_enabled_widgets[page];
	w->hold_down_widgets = 0;
	w->event_handlers = window_multiplayer_page_events[page];
	w->pressed_widgets = 0;
	w->widgets = window_multiplayer_page_widgets[page];

	window_event_resize_call(w);
	window_event_invalidate_call(w);
	window_init_scroll_widgets(w);
	window_invalidate(w);
}
Beispiel #6
0
static void window_player_set_page(rct_window* w, int page)
{
	int originalPage = w->page;

	w->page = page;
	w->frame_no = 0;
	w->no_list_items = 0;
	w->selected_list_item = -1;

	w->enabled_widgets = window_player_page_enabled_widgets[page];
	w->hold_down_widgets = 0;
	w->event_handlers = window_player_page_events[page];
	w->pressed_widgets = 0;
	w->widgets = window_player_page_widgets[page];
	window_invalidate(w);
	window_event_resize_call(w);
	window_event_invalidate_call(w);
	window_init_scroll_widgets(w);
	window_invalidate(w);

	if (page == WINDOW_PLAYER_PAGE_OVERVIEW) {
		if (w->viewport == NULL) {
			viewport_create(w, w->x, w->y, w->width, w->height, 0, 128 * 32, 128 * 32, 0, 1, -1);
			w->flags |= WF_NO_SCROLLING;
			window_event_invalidate_call(w);
			window_player_update_viewport(w, false);
		} else if (originalPage != page) {
			window_event_invalidate_call(w);
			window_player_update_viewport(w, false);
		}
	} else {
		if (w->viewport != NULL) {
			w->viewport->width = 0;
			w->viewport = NULL;
		}
	}
}
Beispiel #7
0
static void window_themes_mousedown(rct_window *w, rct_widgetindex widgetIndex, rct_widget* widget)
{
    sint16 newSelectedTab;
    sint32 num_items;

    switch (widgetIndex) {
    case WIDX_THEMES_SETTINGS_TAB:
    case WIDX_THEMES_MAIN_UI_TAB:
    case WIDX_THEMES_PARK_TAB:
    case WIDX_THEMES_TOOLS_TAB:
    case WIDX_THEMES_RIDE_PEEPS_TAB:
    case WIDX_THEMES_EDITORS_TAB:
    case WIDX_THEMES_MISC_TAB:
    case WIDX_THEMES_PROMPTS_TAB:
    case WIDX_THEMES_FEATURES_TAB:
        newSelectedTab = widgetIndex - WIDX_THEMES_SETTINGS_TAB;
        if (_selected_tab == newSelectedTab)
            break;
        _selected_tab = (uint8)newSelectedTab;
        w->scrolls[0].v_top = 0;
        w->frame_no = 0;
        window_event_resize_call(w);
        window_invalidate(w);
        break;
    case WIDX_THEMES_PRESETS_DROPDOWN:
        theme_manager_load_available_themes();
        num_items = (sint32)theme_manager_get_num_available_themes();

        widget--;
        for (sint32 i = 0; i < num_items; i++) {
            gDropdownItemsFormat[i] = STR_OPTIONS_DROPDOWN_ITEM;
            gDropdownItemsArgs[i] = (uintptr_t)theme_manager_get_available_theme_name(i);
        }

        window_dropdown_show_text_custom_width(
            w->x + widget->left,
            w->y + widget->top,
            widget->bottom - widget->top + 1,
            w->colours[1],
            0,
            DROPDOWN_FLAG_STAY_OPEN,
            num_items,
            widget->right - widget->left - 3
        );

        dropdown_set_checked((sint32)theme_manager_get_active_available_theme_index(), true);
        break;
    case WIDX_THEMES_RCT1_RIDE_LIGHTS:
        if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) {
            window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE);
        } else {
            theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_LIGHTS_RIDE);
            theme_save();
            window_invalidate_all();
        }
        break;
    case WIDX_THEMES_RCT1_PARK_LIGHTS:
        if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) {
            window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE);
        } else {
            theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_LIGHTS_PARK);
            theme_save();
            window_invalidate_all();
        }
        break;
    case WIDX_THEMES_RCT1_SCENARIO_FONT:
        if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) {
            window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_NONE);
        } else {
            theme_set_flags(theme_get_flags() ^ UITHEME_FLAG_USE_ALTERNATIVE_SCENARIO_SELECT_FONT);
            theme_save();
            window_invalidate_all();
        }
        break;
    }
}