OpenTTD Source
20241108-master-g80f628063a
|
GUI for settings. More...
#include "stdafx.h"
#include "currency.h"
#include "error.h"
#include "settings_gui.h"
#include "textbuf_gui.h"
#include "command_func.h"
#include "network/network.h"
#include "network/network_content.h"
#include "town.h"
#include "settings_internal.h"
#include "strings_func.h"
#include "window_func.h"
#include "string_func.h"
#include "dropdown_type.h"
#include "dropdown_func.h"
#include "dropdown_common_type.h"
#include "slider_func.h"
#include "highscore.h"
#include "base_media_base.h"
#include "company_base.h"
#include "company_func.h"
#include "viewport_func.h"
#include "core/geometry_func.hpp"
#include "ai/ai.hpp"
#include "blitter/factory.hpp"
#include "language.h"
#include "textfile_gui.h"
#include "stringfilter_type.h"
#include "querystring_gui.h"
#include "fontcache.h"
#include "zoom_func.h"
#include "rev.h"
#include "video/video_driver.hpp"
#include "music/music_driver.hpp"
#include "gui.h"
#include "mixer.h"
#include "newgrf_config.h"
#include "network/core/config.h"
#include "network/network_gui.h"
#include "network/network_survey.h"
#include "social_integration.h"
#include "sound_func.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | BaseSetTextfileWindow |
Window for displaying the textfile of a BaseSet. More... | |
class | NWidgetSocialPlugins |
struct | GameOptionsWindow |
struct | SettingFilter |
Filter for settings list. More... | |
struct | BaseSettingEntry |
Data structure describing a single setting in a tab. More... | |
struct | SettingEntry |
Standard setting. More... | |
struct | SettingsContainer |
Containers for BaseSettingEntry. More... | |
struct | SettingsPage |
Data structure describing one page of settings in the settings window. More... | |
struct | GameSettingsWindow |
Window to edit settings of the game. More... | |
struct | CustomCurrencyWindow |
Enumerations | |
enum | SettingEntryFlags { SEF_LEFT_DEPRESSED = 0x01 , SEF_RIGHT_DEPRESSED = 0x02 , SEF_BUTTONS_MASK = (SEF_LEFT_DEPRESSED | SEF_RIGHT_DEPRESSED) , SEF_LAST_FIELD = 0x04 , SEF_FILTERED = 0x08 } |
Flags for SettingEntry. More... | |
enum | RestrictionMode { RM_BASIC , RM_ADVANCED , RM_ALL , RM_CHANGED_AGAINST_DEFAULT , RM_CHANGED_AGAINST_NEW , RM_END } |
How the list of advanced settings is filtered. More... | |
enum | WarnHiddenResult { WHR_NONE , WHR_CATEGORY , WHR_TYPE , WHR_CATEGORY_TYPE } |
Warnings about hidden search results. More... | |
Functions | |
static const void * | ResolveObject (const GameSettings *settings_ptr, const IntSettingDesc *sd) |
static uint | GetCurrentResolutionIndex () |
Get index of the current screen resolution. More... | |
static void | ShowCustCurrency () |
Open custom currency window. | |
template<class TBaseSet > | |
void | ShowBaseSetTextfileWindow (TextfileType file_type, const TBaseSet *baseset, StringID content_type) |
Open the BaseSet version of the textfile window. More... | |
template<class T > | |
DropDownList | BuildSetDropDownList (int *selected_index) |
static void | AddCustomRefreshRates () |
Add the refresh rate from the config and the refresh rates from all the monitors to our list of refresh rates shown in the GUI. | |
static StringID | ScaleMarkFunc (int, int, int value) |
static StringID | VolumeMarkFunc (int, int mark, int value) |
std::unique_ptr< NWidgetBase > | MakeNWidgetSocialPlugins () |
Construct nested container widget for managing the list of social plugins. | |
void | ShowGameOptions () |
Open the game options window. | |
static SettingsContainer & | GetSettingsTree () |
Construct settings tree. | |
static void | ResetAllSettingsConfirmationCallback (Window *w, bool confirmed) |
Callback function for the reset all settings button. More... | |
void | ShowGameSettings () |
Open advanced settings window. | |
void | DrawArrowButtons (int x, int y, Colours button_colour, uint8_t state, bool clickable_left, bool clickable_right) |
Draw [<][>] boxes. More... | |
void | DrawDropDownButton (int x, int y, Colours button_colour, bool state, bool clickable) |
Draw a dropdown button. More... | |
void | DrawBoolButton (int x, int y, bool state, bool clickable) |
Draw a toggle button. More... | |
Variables | |
static const StringID | _autosave_dropdown [] |
static const uint32_t | _autosave_dropdown_to_minutes [] |
Available settings for autosave intervals. More... | |
static Dimension | _circle_size |
Dimension of the circle +/- icon. This is here as not all users are within the class of the settings window. | |
std::set< int > | _refresh_rates = { 30, 60, 75, 90, 100, 120, 144, 240 } |
static const int | SCALE_NMARKS = (MAX_INTERFACE_SCALE - MIN_INTERFACE_SCALE) / 25 + 1 |
static const int | VOLUME_NMARKS = 9 |
static constexpr NWidgetPart | _nested_social_plugins_widgets [] |
static constexpr NWidgetPart | _nested_social_plugins_none_widgets [] |
static constexpr NWidgetPart | _nested_game_options_widgets [] |
static WindowDesc | _game_options_desc (WDP_CENTER, nullptr, 0, 0, WC_GAME_OPTIONS, WC_NONE, 0, _nested_game_options_widgets) |
static int | SETTING_HEIGHT = 11 |
Height of a single setting in the tree view in pixels. | |
static const StringID | _game_settings_restrict_dropdown [] |
static constexpr NWidgetPart | _nested_settings_selection_widgets [] |
static WindowDesc | _settings_selection_desc (WDP_CENTER, "settings", 510, 450, WC_GAME_OPTIONS, WC_NONE, 0, _nested_settings_selection_widgets) |
static constexpr NWidgetPart | _nested_cust_currency_widgets [] |
static WindowDesc | _cust_currency_desc (WDP_CENTER, nullptr, 0, 0, WC_CUSTOM_CURRENCY, WC_NONE, 0, _nested_cust_currency_widgets) |
GUI for settings.
Definition in file settings_gui.cpp.
enum RestrictionMode |
How the list of advanced settings is filtered.
Definition at line 1222 of file settings_gui.cpp.
enum SettingEntryFlags |
Flags for SettingEntry.
Definition at line 1212 of file settings_gui.cpp.
enum WarnHiddenResult |
Warnings about hidden search results.
Definition at line 2300 of file settings_gui.cpp.
void DrawArrowButtons | ( | int | x, |
int | y, | ||
Colours | button_colour, | ||
uint8_t | state, | ||
bool | clickable_left, | ||
bool | clickable_right | ||
) |
Draw [<][>] boxes.
x | the x position to draw |
y | the y position to draw |
button_colour | the colour of the button |
state | 0 = none clicked, 1 = first clicked, 2 = second clicked |
clickable_left | is the left button clickable? |
clickable_right | is the right button clickable? |
Definition at line 2927 of file settings_gui.cpp.
void DrawBoolButton | ( | int | x, |
int | y, | ||
bool | state, | ||
bool | clickable | ||
) |
Draw a toggle button.
x | the x position to draw |
y | the y position to draw |
state | true = lowered |
clickable | is the button clickable? |
Definition at line 2979 of file settings_gui.cpp.
void DrawDropDownButton | ( | int | x, |
int | y, | ||
Colours | button_colour, | ||
bool | state, | ||
bool | clickable | ||
) |
Draw a dropdown button.
x | the x position to draw |
y | the y position to draw |
button_colour | the colour of the button |
state | true = lowered |
clickable | is the button clickable? |
Definition at line 2958 of file settings_gui.cpp.
|
static |
Get index of the current screen resolution.
Definition at line 87 of file settings_gui.cpp.
References _resolutions.
|
static |
Callback function for the reset all settings button.
w | Window which is calling this callback |
confirmed | boolean value, true when yes was clicked, false otherwise |
Definition at line 2312 of file settings_gui.cpp.
References SettingsContainer::FoldAll(), GetSettingsTree(), Window::InvalidateData(), and SettingsContainer::ResetAll().
void ShowBaseSetTextfileWindow | ( | TextfileType | file_type, |
const TBaseSet * | baseset, | ||
StringID | content_type | ||
) |
Open the BaseSet version of the textfile window.
file_type | The type of textfile to display. |
baseset | The BaseSet to use. |
content_type | STR_CONTENT_TYPE_xxx for title. |
Definition at line 122 of file settings_gui.cpp.
References CloseWindowById(), and WC_TEXTFILE.
|
static |
Definition at line 61 of file settings_gui.cpp.
|
static |
Available settings for autosave intervals.
Definition at line 71 of file settings_gui.cpp.
|
static |
Definition at line 2290 of file settings_gui.cpp.
|
staticconstexpr |
Definition at line 193 of file settings_gui.cpp.
|
staticconstexpr |
Definition at line 178 of file settings_gui.cpp.