Bits used by company faces are now defined by a variable system instead of being hardcoded, allowing future expansion. The four face types covering gender and skin colour are now separate face styles with their own definitions.
342 lines
8.7 KiB
INI
342 lines
8.7 KiB
INI
; This file is part of OpenTTD.
|
|
; OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
|
; OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
; See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
|
;
|
|
|
|
; Various of settings that are stored in global variables. They are all
|
|
; located under "misc" in the configuration files.
|
|
|
|
[pre-amble]
|
|
extern std::string _config_language_file;
|
|
|
|
static constexpr std::initializer_list<std::string_view> _support8bppmodes{"no"sv, "system"sv, "hardware"sv};
|
|
static constexpr std::initializer_list<std::string_view> _display_opt_modes{"SHOW_TOWN_NAMES"sv, "SHOW_STATION_NAMES"sv, "SHOW_SIGNS"sv, "FULL_ANIMATION"sv, ""sv, "FULL_DETAIL"sv, "WAYPOINTS"sv, "SHOW_COMPETITOR_SIGNS"sv};
|
|
static constexpr std::initializer_list<std::string_view> _facility_display_opt_modes{"TRAIN"sv, "TRUCK_STOP"sv, "BUS_STOP"sv, "AIRPORT"sv, "DOCK"sv, ""sv, "GHOST"sv};
|
|
|
|
#ifdef WITH_COCOA
|
|
extern bool _allow_hidpi_window;
|
|
#endif
|
|
#ifndef WITH_COCOA
|
|
#define WITHOUT_COCOA
|
|
#endif
|
|
|
|
static const SettingVariant _misc_settings_table[] = {
|
|
[post-amble]
|
|
};
|
|
[templates]
|
|
SDTG_LIST = SDTG_LIST($name, $type, SettingFlags({$flags}), $var, $def, $length, $from, $to, $cat, $extra, $startup),
|
|
SDTG_MMANY = SDTG_MMANY($name, $type, SettingFlags({$flags}), $var, $def, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDTG_OMANY = SDTG_OMANY($name, $type, SettingFlags({$flags}), $var, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDTG_SSTR = SDTG_SSTR($name, $type, SettingFlags({$flags}), $var, $def, 0, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
|
|
SDTG_BOOL = SDTG_BOOL($name, SettingFlags({$flags}), $var, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDTG_VAR = SDTG_VAR($name, $type, SettingFlags({$flags}), $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $range_cb, $from, $to, $cat, $extra, $startup),
|
|
|
|
[validation]
|
|
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
|
|
SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
|
|
|
|
[defaults]
|
|
flags = SettingFlag::NotInSave, SettingFlag::NoNetworkSync
|
|
interval = 0
|
|
str = STR_NULL
|
|
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
|
strval = STR_NULL
|
|
pre_cb = nullptr
|
|
post_cb = nullptr
|
|
str_cb = nullptr
|
|
help_cb = nullptr
|
|
val_cb = nullptr
|
|
def_cb = nullptr
|
|
range_cb = nullptr
|
|
load = nullptr
|
|
from = SL_MIN_VERSION
|
|
to = SL_MAX_VERSION
|
|
cat = SC_ADVANCED
|
|
extra = 0
|
|
startup = true
|
|
|
|
|
|
|
|
[SDTG_MMANY]
|
|
name = ""display_opt""
|
|
type = SLE_UINT8
|
|
var = _display_opt
|
|
def = (1 << DO_SHOW_TOWN_NAMES | 1 << DO_SHOW_STATION_NAMES | 1 << DO_SHOW_SIGNS | 1 << DO_FULL_ANIMATION | 1 << DO_FULL_DETAIL | 1 << DO_SHOW_WAYPOINT_NAMES | 1 << DO_SHOW_COMPETITOR_SIGNS)
|
|
full = _display_opt_modes
|
|
|
|
[SDTG_MMANY]
|
|
name = ""facility_display_opt""
|
|
type = SLE_UINT8
|
|
var = _facility_display_opt
|
|
def = StationFacilities({StationFacility::Train, StationFacility::TruckStop, StationFacility::BusStop, StationFacility::Airport, StationFacility::Dock, STATION_FACILITY_GHOST})
|
|
full = _facility_display_opt_modes
|
|
|
|
[SDTG_BOOL]
|
|
name = ""fullscreen""
|
|
var = _fullscreen
|
|
def = false
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_BOOL]
|
|
ifdef = WITH_COCOA
|
|
name = ""video_hw_accel""
|
|
var = _video_hw_accel
|
|
def = false
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_BOOL]
|
|
ifdef = WITHOUT_COCOA
|
|
name = ""video_hw_accel""
|
|
var = _video_hw_accel
|
|
def = true
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_BOOL]
|
|
name = ""video_vsync""
|
|
var = _video_vsync
|
|
def = false
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_OMANY]
|
|
name = ""support8bpp""
|
|
type = SLE_UINT8
|
|
var = _support8bpp
|
|
def = 0
|
|
max = 2
|
|
full = _support8bppmodes
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_SSTR]
|
|
name = ""soundsset""
|
|
type = SLE_STRQ
|
|
var = BaseSounds::ini_set
|
|
def = """"
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_SSTR]
|
|
name = ""musicset""
|
|
type = SLE_STRQ
|
|
var = BaseMusic::ini_set
|
|
def = """"
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_SSTR]
|
|
name = ""videodriver""
|
|
type = SLE_STRQ
|
|
var = _ini_videodriver
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_SSTR]
|
|
name = ""musicdriver""
|
|
type = SLE_STRQ
|
|
var = _ini_musicdriver
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_SSTR]
|
|
name = ""sounddriver""
|
|
type = SLE_STRQ
|
|
var = _ini_sounddriver
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_SSTR]
|
|
name = ""blitter""
|
|
type = SLE_STRQ
|
|
var = _ini_blitter
|
|
def = """"
|
|
|
|
[SDTG_SSTR]
|
|
name = ""language""
|
|
type = SLE_STR
|
|
var = _config_language_file
|
|
def = """"
|
|
cat = SC_BASIC
|
|
|
|
; workaround for implicit lengthof() in SDTG_LIST
|
|
[SDTG_LIST]
|
|
name = ""resolution""
|
|
type = SLE_UINT
|
|
length = 2
|
|
var = _cur_resolution
|
|
def = ""0,0""
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_SSTR]
|
|
name = ""screenshot_format""
|
|
type = SLE_STR
|
|
var = _screenshot_format_name
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_SSTR]
|
|
name = ""savegame_format""
|
|
type = SLE_STR
|
|
var = _savegame_format
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_BOOL]
|
|
name = ""rightclick_emulate""
|
|
var = _rightclick_emulate
|
|
def = false
|
|
|
|
[SDTG_SSTR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""small_font""
|
|
type = SLE_STR
|
|
var = _fcsettings.small.font
|
|
def = """"
|
|
|
|
[SDTG_SSTR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""medium_font""
|
|
type = SLE_STR
|
|
var = _fcsettings.medium.font
|
|
def = """"
|
|
|
|
[SDTG_SSTR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""large_font""
|
|
type = SLE_STR
|
|
var = _fcsettings.large.font
|
|
def = """"
|
|
|
|
[SDTG_SSTR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""mono_font""
|
|
type = SLE_STR
|
|
var = _fcsettings.mono.font
|
|
def = """"
|
|
|
|
[SDTG_VAR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""small_size""
|
|
type = SLE_UINT
|
|
var = _fcsettings.small.size
|
|
def = 0
|
|
min = 0
|
|
max = 72
|
|
|
|
[SDTG_VAR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""medium_size""
|
|
type = SLE_UINT
|
|
var = _fcsettings.medium.size
|
|
def = 0
|
|
min = 0
|
|
max = 72
|
|
|
|
[SDTG_VAR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""large_size""
|
|
type = SLE_UINT
|
|
var = _fcsettings.large.size
|
|
def = 0
|
|
min = 0
|
|
max = 72
|
|
|
|
[SDTG_VAR]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""mono_size""
|
|
type = SLE_UINT
|
|
var = _fcsettings.mono.size
|
|
def = 0
|
|
min = 0
|
|
max = 72
|
|
|
|
[SDTG_BOOL]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""global_aa""
|
|
var = _fcsettings.global_aa
|
|
def = true
|
|
|
|
[SDTG_BOOL]
|
|
ifdef = HAS_TRUETYPE_FONT
|
|
name = ""prefer_sprite_font""
|
|
var = _fcsettings.prefer_sprite
|
|
def = false
|
|
|
|
[SDTG_VAR]
|
|
name = ""sprite_cache_size_px""
|
|
type = SLE_UINT
|
|
var = _sprite_cache_size
|
|
def = 128
|
|
min = 1
|
|
max = 512
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_SSTR]
|
|
name = ""player_face""
|
|
type = SLE_STR
|
|
var = _company_manager_face
|
|
def = """"
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_VAR]
|
|
name = ""transparency_options""
|
|
type = SLE_UINT
|
|
var = _transparency_opt
|
|
def = 0
|
|
min = 0
|
|
max = 0x1FF
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_VAR]
|
|
name = ""transparency_locks""
|
|
type = SLE_UINT
|
|
var = _transparency_lock
|
|
def = 0
|
|
min = 0
|
|
max = 0x1FF
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_VAR]
|
|
name = ""invisibility_options""
|
|
type = SLE_UINT
|
|
var = _invisibility_opt
|
|
def = 0
|
|
min = 0
|
|
max = 0xFF
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_SSTR]
|
|
name = ""keyboard""
|
|
type = SLE_STR
|
|
var = _keyboard_opt[0]
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_SSTR]
|
|
name = ""keyboard_caps""
|
|
type = SLE_STR
|
|
var = _keyboard_opt[1]
|
|
def = """"
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_VAR]
|
|
name = ""last_newgrf_count""
|
|
type = SLE_UINT32
|
|
var = _settings_client.gui.last_newgrf_count
|
|
def = 100
|
|
min = 0
|
|
max = UINT32_MAX
|
|
cat = SC_EXPERT
|
|
|
|
[SDTG_VAR]
|
|
name = ""gui_scale""
|
|
type = SLE_INT32
|
|
var = _gui_scale_cfg
|
|
def = -1
|
|
min = -1
|
|
max = MAX_INTERFACE_SCALE
|
|
cat = SC_BASIC
|
|
|
|
[SDTG_BOOL]
|
|
ifdef = WITH_COCOA
|
|
name = ""allow_hidpi""
|
|
var = _allow_hidpi_window
|
|
def = true
|