OpenTTD
|
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 "town.h"
#include "settings_internal.h"
#include "newgrf_townname.h"
#include "strings_func.h"
#include "window_func.h"
#include "string_func.h"
#include "widgets/dropdown_type.h"
#include "widgets/dropdown_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 <vector>
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | BaseSetTextfileWindow< TBaseSet > |
Window for displaying the textfile of a BaseSet. More... | |
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 * | ResolveVariableAddress (const GameSettings *settings_ptr, const SettingDesc *sd) |
void | InitGRFTownGeneratorNames () |
Allocate memory for the NewGRF town names. | |
static StringID | TownName (int town_name) |
Get a town name. | |
static int | GetCurRes () |
Get index of the current screen resolution. | |
static void | ShowCustCurrency () |
Open custom currency window. | |
template<class T > | |
static DropDownList * | BuiltSetDropDownList (int *selected_index) |
template<class TBaseSet > | |
void | ShowBaseSetTextfileWindow (TextfileType file_type, const TBaseSet *baseset, StringID content_type) |
Open the BaseSet version of the textfile window. | |
void | ShowGameOptions () |
Open the game options window. | |
static SettingsContainer & | GetSettingsTree () |
Construct settings tree. | |
assert_compile (lengthof(_game_settings_restrict_dropdown)==RM_END) | |
void | ShowGameSettings () |
Open advanced settings window. | |
void | DrawArrowButtons (int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right) |
Draw [<][>] boxes. | |
void | DrawDropDownButton (int x, int y, Colours button_colour, bool state, bool clickable) |
Draw a dropdown button. | |
void | DrawBoolButton (int x, int y, bool state, bool clickable) |
Draw a toggle button. |
Variables | |
static const StringID | _driveside_dropdown [] |
static const StringID | _autosave_dropdown [] |
static const StringID | _gui_zoom_dropdown [] |
int | _nb_orig_names = SPECSTR_TOWNNAME_LAST - SPECSTR_TOWNNAME_START + 1 |
Number of original town names. | |
static StringID * | _grf_names = NULL |
Pointer to town names defined by NewGRFs. | |
static int | _nb_grf_names = 0 |
Number of town names defined by NewGRFs. | |
static Dimension | _circle_size |
Dimension of the circle +/- icon. This is here as not all users are within the class of the settings window. | |
static const NWidgetPart | _nested_game_options_widgets [] |
static WindowDesc | _game_options_desc (WDP_CENTER,"settings_game", 0, 0, WC_GAME_OPTIONS, WC_NONE, 0, _nested_game_options_widgets, lengthof(_nested_game_options_widgets)) |
static int | SETTING_HEIGHT = 11 |
Height of a single setting in the tree view in pixels. | |
static const int | LEVEL_WIDTH = 15 |
Indenting width of a sub-page in pixels. | |
static const StringID | _game_settings_restrict_dropdown [] |
static const 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, lengthof(_nested_settings_selection_widgets)) |
static const NWidgetPart | _nested_cust_currency_widgets [] |
static WindowDesc | _cust_currency_desc (WDP_CENTER, NULL, 0, 0, WC_CUSTOM_CURRENCY, WC_NONE, 0, _nested_cust_currency_widgets, lengthof(_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 687 of file settings_gui.cpp.
enum SettingEntryFlags |
Flags for SettingEntry.
Definition at line 677 of file settings_gui.cpp.
enum WarnHiddenResult |
Warnings about hidden search results.
Definition at line 1760 of file settings_gui.cpp.
void DrawArrowButtons | ( | int | x, |
int | y, | ||
Colours | button_colour, | ||
byte | 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 2389 of file settings_gui.cpp.
References _colour_gradient, _current_text_dir, DrawFrameRect(), DrawSprite(), FILLRECT_CHECKER, FR_LOWERED, GfxFillRect(), TD_RTL, WD_IMGBTN_LEFT, and WD_IMGBTN_TOP.
Referenced by IndustryViewWindow::DrawInfo(), SettingEntry::DrawSetting(), CheatWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), and AISettingsWindow::DrawWidget().
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 2436 of file settings_gui.cpp.
References DrawFrameRect(), FR_LOWERED, SETTING_BUTTON_HEIGHT, and SETTING_BUTTON_WIDTH.
Referenced by SettingEntry::DrawSetting(), CheatWindow::DrawWidget(), NewGRFParametersWindow::DrawWidget(), and AISettingsWindow::DrawWidget().
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 2417 of file settings_gui.cpp.
References _colour_gradient, DrawFrameRect(), DrawSprite(), FILLRECT_CHECKER, FR_LOWERED, GfxFillRect(), SETTING_BUTTON_HEIGHT, and SETTING_BUTTON_WIDTH.
Referenced by SettingEntry::DrawSetting(), NewGRFParametersWindow::DrawWidget(), and AISettingsWindow::DrawWidget().
|
static |
Get index of the current screen resolution.
Definition at line 101 of file settings_gui.cpp.
References _num_resolutions, and _resolutions.
Referenced by GameOptionsWindow::BuildDropDownList(), and GameOptionsWindow::SetStringParameters().
void InitGRFTownGeneratorNames | ( | ) |
Allocate memory for the NewGRF town names.
Definition at line 76 of file settings_gui.cpp.
References _grf_names, _nb_grf_names, free(), and INVALID_STRING_ID.
Referenced by AfterLoadGRFs().
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 158 of file settings_gui.cpp.
References DeleteWindowByClass(), and WC_TEXTFILE.
Referenced by GameOptionsWindow::OnClick().
|
static |
Open custom currency window.
Definition at line 2665 of file settings_gui.cpp.
References DeleteWindowById(), and WC_CUSTOM_CURRENCY.
Referenced by GameOptionsWindow::OnDropdownSelect().
void ShowGameOptions | ( | ) |
Open the game options window.
Definition at line 664 of file settings_gui.cpp.
References DeleteWindowByClass(), and WC_GAME_OPTIONS.
Referenced by MenuClickSettings(), SelectGameWindow::OnClick(), MainToolbarWindow::OnHotkey(), and ScenarioEditorToolbarWindow::OnHotkey().
void ShowGameSettings | ( | ) |
Open advanced settings window.
Definition at line 2373 of file settings_gui.cpp.
References DeleteWindowByClass(), and WC_GAME_OPTIONS.
Referenced by MenuClickSettings(), and SelectGameWindow::OnClick().
|
inlinestatic |
Get a town name.
town_name | Number of the wanted town name. |
Definition at line 89 of file settings_gui.cpp.
References _grf_names, _nb_grf_names, and _nb_orig_names.
Referenced by GameOptionsWindow::SetStringParameters().
|
static |
Definition at line 51 of file settings_gui.cpp.
|
static |
Definition at line 45 of file settings_gui.cpp.
|
static |
Definition at line 1750 of file settings_gui.cpp.
|
static |
Definition at line 60 of file settings_gui.cpp.