; $Id$
;
; 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/>.
;

[pre-amble]
extern char _config_language_file[MAX_PATH];

static const char *_support8bppmodes = "no|system|hardware";

static const SettingDescGlobVarList _misc_settings[] = {
[post-amble]
};
[templates]
SDTG_LIST  =  SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def,                               $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_MMANY = SDTG_MMANY($name, $type,          $flags, $guiflags, $var, $def,                        $full, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_OMANY = SDTG_OMANY($name, $type,          $flags, $guiflags, $var, $def,       $max,            $full, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_STR   =   SDTG_STR($name, $type,          $flags, $guiflags, $var, $def,                               $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_BOOL  =  SDTG_BOOL($name,                 $flags, $guiflags, $var, $def,                               $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_VAR   =   SDTG_VAR($name, $type,          $flags, $guiflags, $var, $def, $min, $max, $interval,        $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_END   = SDTG_END()

[defaults]
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = 0
interval = 0
str      = STR_NULL
strhelp  = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval   = STR_NULL
proc     = NULL
load     = NULL
from     = 0
to       = SL_MAX_VERSION
cat      = SC_ADVANCED



[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     = ""SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION||FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS""

[SDTG_BOOL]
name     = ""fullscreen""
var      = _fullscreen
def      = false
cat      = SC_BASIC

[SDTG_OMANY]
name     = ""support8bpp""
type     = SLE_UINT8
var      = _support8bpp
def      = 0
max      = 2
full     = _support8bppmodes
cat      = SC_BASIC

[SDTG_STR]
name     = ""graphicsset""
type     = SLE_STRQ
var      = BaseGraphics::ini_set
def      = NULL
cat      = SC_BASIC

[SDTG_STR]
name     = ""soundsset""
type     = SLE_STRQ
var      = BaseSounds::ini_set
def      = NULL
cat      = SC_BASIC

[SDTG_STR]
name     = ""musicset""
type     = SLE_STRQ
var      = BaseMusic::ini_set
def      = NULL
cat      = SC_BASIC

[SDTG_STR]
name     = ""videodriver""
type     = SLE_STRQ
var      = _ini_videodriver
def      = NULL
cat      = SC_EXPERT

[SDTG_STR]
name     = ""musicdriver""
type     = SLE_STRQ
var      = _ini_musicdriver
def      = NULL
cat      = SC_EXPERT

[SDTG_STR]
name     = ""sounddriver""
type     = SLE_STRQ
var      = _ini_sounddriver
def      = NULL
cat      = SC_EXPERT

[SDTG_STR]
name     = ""blitter""
type     = SLE_STRQ
var      = _ini_blitter
def      = NULL

[SDTG_STR]
name     = ""language""
type     = SLE_STRB
var      = _config_language_file
def      = NULL
cat      = SC_BASIC

; workaround for implicit lengthof() in SDTG_LIST
[SDTG_LIST]
name     = ""resolution""
type     = SLE_INT
length   = 2
var      = _cur_resolution
def      = ""640,480""
cat      = SC_BASIC

[SDTG_STR]
name     = ""screenshot_format""
type     = SLE_STRB
var      = _screenshot_format_name
def      = NULL
cat      = SC_EXPERT

[SDTG_STR]
name     = ""savegame_format""
type     = SLE_STRB
var      = _savegame_format
def      = NULL
cat      = SC_EXPERT

[SDTG_BOOL]
name     = ""rightclick_emulate""
var      = _rightclick_emulate
def      = false

[SDTG_STR]
ifdef    = WITH_FREETYPE
name     = ""small_font""
type     = SLE_STRB
var      = _freetype.small.font
def      = NULL

[SDTG_STR]
ifdef    = WITH_FREETYPE
name     = ""medium_font""
type     = SLE_STRB
var      = _freetype.medium.font
def      = NULL

[SDTG_STR]
ifdef    = WITH_FREETYPE
name     = ""large_font""
type     = SLE_STRB
var      = _freetype.large.font
def      = NULL

[SDTG_STR]
ifdef    = WITH_FREETYPE
name     = ""mono_font""
type     = SLE_STRB
var      = _freetype.mono.font
def      = NULL

[SDTG_VAR]
ifdef    = WITH_FREETYPE
name     = ""small_size""
type     = SLE_UINT
var      = _freetype.small.size
def      = 0
min      = 0
max      = 72

[SDTG_VAR]
ifdef    = WITH_FREETYPE
name     = ""medium_size""
type     = SLE_UINT
var      = _freetype.medium.size
def      = 0
min      = 0
max      = 72

[SDTG_VAR]
ifdef    = WITH_FREETYPE
name     = ""large_size""
type     = SLE_UINT
var      = _freetype.large.size
def      = 0
min      = 0
max      = 72

[SDTG_VAR]
ifdef    = WITH_FREETYPE
name     = ""mono_size""
type     = SLE_UINT
var      = _freetype.mono.size
def      = 0
min      = 0
max      = 72

[SDTG_BOOL]
ifdef    = WITH_FREETYPE
name     = ""small_aa""
var      = _freetype.small.aa
def      = false

[SDTG_BOOL]
ifdef    = WITH_FREETYPE
name     = ""medium_aa""
var      = _freetype.medium.aa
def      = false

[SDTG_BOOL]
ifdef    = WITH_FREETYPE
name     = ""large_aa""
var      = _freetype.large.aa
def      = false

[SDTG_BOOL]
ifdef    = WITH_FREETYPE
name     = ""mono_aa""
var      = _freetype.mono.aa
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_VAR]
name     = ""player_face""
type     = SLE_UINT32
var      = _company_manager_face
def      = 0
min      = 0
max      = 0xFFFFFFFF
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_STR]
name     = ""keyboard""
type     = SLE_STRB
var      = _keyboard_opt[0]
def      = NULL
cat      = SC_EXPERT

[SDTG_STR]
name     = ""keyboard_caps""
type     = SLE_STRB
var      = _keyboard_opt[1]
def      = NULL
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_zoom""
type     = SLE_UINT8
var      = _gui_zoom
def      = ZOOM_LVL_OUT_4X
min      = ZOOM_LVL_MIN
max      = ZOOM_LVL_OUT_4X
cat      = SC_BASIC

[SDTG_END]

