1; This file is part of OpenTTD. 2; 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. 3; 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. 4; 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/>. 5; 6 7; GUI settings as stored in the main configuration file ("openttd.cfg"). 8 9[pre-amble] 10static void v_PositionMainToolbar(int32 new_value); 11static void v_PositionStatusbar(int32 new_value); 12static void RedrawSmallmap(int32 new_value); 13static void InvalidateCompanyLiveryWindow(int32 new_value); 14static void InvalidateNewGRFChangeWindows(int32 new_value); 15static void ZoomMinMaxChanged(int32 new_value); 16static void SpriteZoomMinChanged(int32 new_value); 17 18static constexpr std::initializer_list<const char*> _autosave_interval{"off", "monthly", "quarterly", "half year", "yearly"}; 19static constexpr std::initializer_list<const char*> _osk_activation{"disabled", "double", "single", "immediately"}; 20static constexpr std::initializer_list<const char*> _savegame_date{"long", "short", "iso"}; 21 22static const SettingVariant _gui_settings_table[] = { 23[post-amble] 24}; 25[templates] 26SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup), 27SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup), 28SDTC_VAR = SDTC_VAR( $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup), 29 30[validation] 31SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); 32SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); 33 34[defaults] 35flags = SF_NONE 36interval = 0 37str = STR_NULL 38strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT 39strval = STR_NULL 40pre_cb = nullptr 41post_cb = nullptr 42load = nullptr 43from = SL_MIN_VERSION 44to = SL_MAX_VERSION 45cat = SC_ADVANCED 46extra = 0 47startup = false 48 49 50[SDTC_OMANY] 51var = gui.autosave 52type = SLE_UINT8 53flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 54def = 1 55max = 4 56full = _autosave_interval 57str = STR_CONFIG_SETTING_AUTOSAVE 58strhelp = STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT 59strval = STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF 60cat = SC_BASIC 61 62[SDTC_BOOL] 63var = gui.threaded_saves 64flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 65def = true 66cat = SC_EXPERT 67 68[SDTC_OMANY] 69var = gui.date_format_in_default_names 70type = SLE_UINT8 71flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 72def = 2 73max = 2 74full = _savegame_date 75str = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES 76strhelp = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT 77strval = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG 78 79[SDTC_BOOL] 80var = gui.show_finances 81flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 82def = true 83str = STR_CONFIG_SETTING_SHOWFINANCES 84strhelp = STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT 85cat = SC_BASIC 86 87[SDTC_VAR] 88var = gui.auto_scrolling 89type = SLE_UINT8 90flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 91def = 0 92min = 0 93max = 3 94str = STR_CONFIG_SETTING_AUTOSCROLL 95strhelp = STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT 96strval = STR_CONFIG_SETTING_AUTOSCROLL_DISABLED 97cat = SC_BASIC 98 99[SDTC_VAR] 100ifdef = __EMSCRIPTEN__ 101var = gui.scroll_mode 102type = SLE_UINT8 103flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 104def = 2 105min = 0 106max = 3 107str = STR_CONFIG_SETTING_SCROLLMODE 108strhelp = STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT 109strval = STR_CONFIG_SETTING_SCROLLMODE_DEFAULT 110cat = SC_BASIC 111 112[SDTC_VAR] 113ifndef = __EMSCRIPTEN__ 114var = gui.scroll_mode 115type = SLE_UINT8 116flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 117def = 0 118min = 0 119max = 3 120str = STR_CONFIG_SETTING_SCROLLMODE 121strhelp = STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT 122strval = STR_CONFIG_SETTING_SCROLLMODE_DEFAULT 123cat = SC_BASIC 124 125[SDTC_BOOL] 126var = gui.smooth_scroll 127flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 128def = false 129str = STR_CONFIG_SETTING_SMOOTH_SCROLLING 130strhelp = STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT 131 132[SDTC_BOOL] 133var = gui.right_mouse_wnd_close 134flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 135def = false 136str = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE 137strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT 138cat = SC_BASIC 139 140; We might need to emulate a right mouse button on mac 141[SDTC_VAR] 142ifdef = __APPLE__ 143var = gui.right_mouse_btn_emulation 144type = SLE_UINT8 145flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 146def = 0 147min = 0 148max = 2 149str = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU 150strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT 151strval = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND 152cat = SC_BASIC 153 154[SDTC_BOOL] 155var = gui.measure_tooltip 156flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 157def = true 158str = STR_CONFIG_SETTING_MEASURE_TOOLTIP 159strhelp = STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT 160cat = SC_BASIC 161 162[SDTC_VAR] 163var = gui.errmsg_duration 164type = SLE_UINT8 165flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 166def = 5 167min = 0 168max = 20 169str = STR_CONFIG_SETTING_ERRMSG_DURATION 170strhelp = STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT 171strval = STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE 172 173[SDTC_VAR] 174var = gui.hover_delay_ms 175type = SLE_UINT16 176flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL 177def = 250 178min = 50 179max = 6000 180interval = 50 181str = STR_CONFIG_SETTING_HOVER_DELAY 182strhelp = STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT 183strval = STR_CONFIG_SETTING_HOVER_DELAY_VALUE 184 185[SDTC_OMANY] 186var = gui.osk_activation 187type = SLE_UINT8 188flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 189str = STR_CONFIG_SETTING_OSK_ACTIVATION 190strhelp = STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT 191strval = STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED 192flags = SF_GUI_DROPDOWN 193full = _osk_activation 194def = 1 195min = 0 196max = 3 197cat = SC_BASIC 198 199[SDTC_VAR] 200var = gui.toolbar_pos 201type = SLE_UINT8 202flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 203def = 1 204min = 0 205max = 2 206str = STR_CONFIG_SETTING_TOOLBAR_POS 207strhelp = STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT 208strval = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT 209post_cb = v_PositionMainToolbar 210cat = SC_BASIC 211 212[SDTC_VAR] 213var = gui.statusbar_pos 214type = SLE_UINT8 215flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 216def = 1 217min = 0 218max = 2 219str = STR_CONFIG_SETTING_STATUSBAR_POS 220strhelp = STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT 221strval = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT 222post_cb = v_PositionStatusbar 223cat = SC_BASIC 224 225[SDTC_VAR] 226var = gui.window_snap_radius 227type = SLE_UINT8 228flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL 229def = 10 230min = 1 231max = 32 232str = STR_CONFIG_SETTING_SNAP_RADIUS 233strhelp = STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT 234strval = STR_CONFIG_SETTING_SNAP_RADIUS_VALUE 235cat = SC_EXPERT 236 237[SDTC_VAR] 238var = gui.window_soft_limit 239type = SLE_UINT8 240flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL 241def = 20 242min = 5 243max = 255 244interval = 1 245str = STR_CONFIG_SETTING_SOFT_LIMIT 246strhelp = STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT 247strval = STR_CONFIG_SETTING_SOFT_LIMIT_VALUE 248cat = SC_EXPERT 249 250[SDTC_VAR] 251var = gui.zoom_min 252type = SLE_UINT8 253flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 254def = ZOOM_LVL_MIN 255min = ZOOM_LVL_MIN 256max = ZOOM_LVL_OUT_4X 257str = STR_CONFIG_SETTING_ZOOM_MIN 258strhelp = STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT 259strval = STR_CONFIG_SETTING_ZOOM_LVL_MIN 260post_cb = ZoomMinMaxChanged 261startup = true 262 263[SDTC_VAR] 264var = gui.zoom_max 265type = SLE_UINT8 266flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 267def = ZOOM_LVL_MAX 268min = ZOOM_LVL_OUT_8X 269max = ZOOM_LVL_MAX 270str = STR_CONFIG_SETTING_ZOOM_MAX 271strhelp = STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT 272strval = STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X 273post_cb = ZoomMinMaxChanged 274startup = true 275 276[SDTC_VAR] 277var = gui.sprite_zoom_min 278type = SLE_UINT8 279flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 280def = ZOOM_LVL_MIN 281min = ZOOM_LVL_MIN 282max = ZOOM_LVL_OUT_4X 283str = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN 284strhelp = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT 285strval = STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN 286post_cb = SpriteZoomMinChanged 287 288[SDTC_BOOL] 289var = gui.population_in_label 290flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 291def = true 292str = STR_CONFIG_SETTING_POPULATION_IN_LABEL 293strhelp = STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT 294post_cb = [](auto) { UpdateAllTownVirtCoords(); } 295 296[SDTC_BOOL] 297var = gui.link_terraform_toolbar 298flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 299def = false 300str = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR 301strhelp = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT 302 303[SDTC_VAR] 304var = gui.smallmap_land_colour 305type = SLE_UINT8 306flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 307def = 0 308min = 0 309max = 2 310str = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR 311strhelp = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT 312strval = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN 313post_cb = RedrawSmallmap 314 315[SDTC_VAR] 316var = gui.liveries 317type = SLE_UINT8 318flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 319def = 2 320min = 0 321max = 2 322str = STR_CONFIG_SETTING_LIVERIES 323strhelp = STR_CONFIG_SETTING_LIVERIES_HELPTEXT 324strval = STR_CONFIG_SETTING_LIVERIES_NONE 325post_cb = InvalidateCompanyLiveryWindow 326 327[SDTC_VAR] 328var = gui.starting_colour 329type = SLE_UINT8 330flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 331def = COLOUR_END 332min = 0 333max = COLOUR_END 334str = STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR 335strhelp = STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT 336strval = STR_COLOUR_DARK_BLUE 337 338[SDTC_BOOL] 339var = gui.auto_remove_signals 340flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 341def = false 342str = STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS 343strhelp = STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT 344cat = SC_ADVANCED 345 346[SDTC_BOOL] 347var = gui.prefer_teamchat 348flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 349def = false 350str = STR_CONFIG_SETTING_PREFER_TEAMCHAT 351strhelp = STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT 352cat = SC_BASIC 353 354[SDTC_VAR] 355var = gui.scrollwheel_scrolling 356type = SLE_UINT8 357flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 358def = 0 359min = 0 360max = 2 361str = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING 362strhelp = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT 363strval = STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM 364cat = SC_BASIC 365 366[SDTC_VAR] 367var = gui.scrollwheel_multiplier 368type = SLE_UINT8 369flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 370def = 5 371min = 1 372max = 15 373interval = 1 374str = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER 375strhelp = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT 376strval = STR_JUST_COMMA 377cat = SC_BASIC 378 379[SDTC_BOOL] 380var = gui.pause_on_newgame 381flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 382def = false 383str = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME 384strhelp = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT 385cat = SC_BASIC 386 387[SDTC_VAR] 388var = gui.advanced_vehicle_list 389type = SLE_UINT8 390flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 391def = 1 392min = 0 393max = 2 394str = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS 395strhelp = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT 396strval = STR_CONFIG_SETTING_COMPANIES_OFF 397 398[SDTC_BOOL] 399var = gui.timetable_in_ticks 400flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 401def = false 402str = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS 403strhelp = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT 404post_cb = [](auto) { InvalidateWindowClassesData(WC_VEHICLE_TIMETABLE, VIWD_MODIFY_ORDERS); } 405cat = SC_EXPERT 406 407[SDTC_BOOL] 408var = gui.timetable_arrival_departure 409flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 410def = true 411str = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE 412strhelp = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT 413post_cb = [](auto) { InvalidateWindowClassesData(WC_VEHICLE_TIMETABLE, VIWD_MODIFY_ORDERS); } 414 415[SDTC_BOOL] 416var = gui.quick_goto 417flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 418def = true 419str = STR_CONFIG_SETTING_QUICKGOTO 420strhelp = STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT 421cat = SC_BASIC 422 423[SDTC_VAR] 424var = gui.loading_indicators 425type = SLE_UINT8 426flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 427def = 1 428min = 0 429max = 2 430str = STR_CONFIG_SETTING_LOADING_INDICATORS 431strhelp = STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT 432strval = STR_CONFIG_SETTING_COMPANIES_OFF 433post_cb = [](auto) { MarkWholeScreenDirty(); } 434cat = SC_BASIC 435 436[SDTC_VAR] 437var = gui.default_rail_type 438type = SLE_UINT8 439flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 440def = 0 441min = 0 442max = 2 443str = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE 444strhelp = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT 445strval = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST 446cat = SC_BASIC 447 448[SDTC_VAR] 449var = gui.signal_gui_mode 450type = SLE_UINT8 451flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 452def = 0 453min = 0 454max = 1 455str = STR_CONFIG_SETTING_SIGNAL_GUI_MODE 456strhelp = STR_CONFIG_SETTING_SIGNAL_GUI_MODE_HELPTEXT 457strval = STR_CONFIG_SETTING_SIGNAL_GUI_MODE_PATH 458post_cb = [](auto) { CloseWindowByClass(WC_BUILD_SIGNAL); } 459cat = SC_ADVANCED 460 461[SDTC_VAR] 462var = gui.coloured_news_year 463type = SLE_INT32 464flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 465def = 2000 466min = MIN_YEAR 467max = MAX_YEAR 468interval = 1 469str = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR 470strhelp = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT 471strval = STR_JUST_INT 472cat = SC_EXPERT 473 474[SDTC_VAR] 475var = gui.cycle_signal_types 476type = SLE_UINT8 477flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 478def = 0 479min = 0 480max = 1 481interval = 1 482str = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES 483strhelp = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT 484strval = STR_CONFIG_SETTING_CYCLE_SIGNAL_PBS 485cat = SC_ADVANCED 486 487[SDTC_VAR] 488var = gui.drag_signals_density 489type = SLE_UINT8 490flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 491def = 4 492min = 1 493max = 20 494str = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY 495strhelp = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT 496strval = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE 497post_cb = [](auto) { InvalidateWindowData(WC_BUILD_SIGNAL, 0); } 498cat = SC_BASIC 499 500[SDTC_BOOL] 501var = gui.drag_signals_fixed_distance 502flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 503def = false 504str = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE 505strhelp = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT 506cat = SC_EXPERT 507 508[SDTC_VAR] 509var = gui.semaphore_build_before 510type = SLE_INT32 511flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 512def = 1950 513min = MIN_YEAR 514max = MAX_YEAR 515interval = 1 516str = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE 517strhelp = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT 518strval = STR_JUST_INT 519post_cb = ResetSignalVariant 520 521[SDTC_BOOL] 522var = gui.vehicle_income_warn 523flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 524def = true 525str = STR_CONFIG_SETTING_WARN_INCOME_LESS 526strhelp = STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT 527cat = SC_BASIC 528 529[SDTC_VAR] 530var = gui.order_review_system 531type = SLE_UINT8 532flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 533def = 2 534min = 0 535max = 2 536str = STR_CONFIG_SETTING_ORDER_REVIEW 537strhelp = STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT 538strval = STR_CONFIG_SETTING_ORDER_REVIEW_OFF 539cat = SC_BASIC 540 541[SDTC_BOOL] 542var = gui.lost_vehicle_warn 543flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 544def = true 545str = STR_CONFIG_SETTING_WARN_LOST_VEHICLE 546strhelp = STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT 547 548[SDTC_BOOL] 549var = gui.new_nonstop 550flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 551def = true 552str = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT 553strhelp = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT 554cat = SC_BASIC 555 556[SDTC_VAR] 557var = gui.stop_location 558type = SLE_UINT8 559flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 560def = 2 561min = 0 562max = 2 563interval = 1 564str = STR_CONFIG_SETTING_STOP_LOCATION 565strhelp = STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT 566strval = STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END 567cat = SC_BASIC 568 569[SDTC_BOOL] 570var = gui.keep_all_autosave 571flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 572def = false 573 574[SDTC_BOOL] 575var = gui.autosave_on_exit 576flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 577def = false 578cat = SC_BASIC 579 580[SDTC_BOOL] 581var = gui.autosave_on_network_disconnect 582flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 583def = true 584cat = SC_EXPERT 585 586[SDTC_VAR] 587var = gui.max_num_autosaves 588type = SLE_UINT8 589flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 590def = 16 591min = 0 592max = 255 593 594[SDTC_BOOL] 595var = gui.auto_euro 596flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 597def = true 598 599[SDTC_VAR] 600var = gui.news_message_timeout 601type = SLE_UINT8 602flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 603def = 2 604min = 1 605max = 255 606 607[SDTC_BOOL] 608var = gui.show_track_reservation 609flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 610def = true 611str = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION 612strhelp = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT 613post_cb = [](auto) { MarkWholeScreenDirty(); } 614cat = SC_BASIC 615 616[SDTC_VAR] 617var = gui.station_numtracks 618type = SLE_UINT8 619flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 620def = 1 621min = 1 622max = 7 623 624[SDTC_VAR] 625var = gui.station_platlength 626type = SLE_UINT8 627flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 628def = 5 629min = 1 630max = 7 631cat = SC_BASIC 632 633[SDTC_BOOL] 634var = gui.station_dragdrop 635flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 636def = true 637cat = SC_BASIC 638 639[SDTC_BOOL] 640var = gui.station_show_coverage 641flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 642def = false 643cat = SC_BASIC 644 645[SDTC_BOOL] 646var = gui.persistent_buildingtools 647flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 648def = true 649str = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS 650strhelp = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT 651cat = SC_BASIC 652 653[SDTC_BOOL] 654var = gui.expenses_layout 655flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 656def = true 657str = STR_CONFIG_SETTING_EXPENSES_LAYOUT 658strhelp = STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT 659post_cb = [](auto) { MarkWholeScreenDirty(); } 660 661[SDTC_VAR] 662var = gui.station_gui_group_order 663type = SLE_UINT8 664flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 665def = 0 666min = 0 667max = 5 668interval = 1 669 670[SDTC_VAR] 671var = gui.station_gui_sort_by 672type = SLE_UINT8 673flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 674def = 0 675min = 0 676max = 3 677interval = 1 678 679[SDTC_VAR] 680var = gui.station_gui_sort_order 681type = SLE_UINT8 682flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 683def = 0 684min = 0 685max = 1 686interval = 1 687 688[SDTC_VAR] 689var = gui.missing_strings_threshold 690type = SLE_UINT8 691flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 692def = 25 693min = 1 694max = UINT8_MAX 695cat = SC_EXPERT 696 697[SDTC_VAR] 698var = gui.graph_line_thickness 699type = SLE_UINT8 700flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 701def = 3 702min = 1 703max = 5 704str = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS 705strhelp = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT 706strval = STR_JUST_COMMA 707post_cb = [](auto) { MarkWholeScreenDirty(); } 708 709[SDTC_BOOL] 710var = gui.show_newgrf_name 711flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 712def = false 713str = STR_CONFIG_SETTING_SHOW_NEWGRF_NAME 714strhelp = STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT 715post_cb = [](auto) { MarkWholeScreenDirty(); } 716cat = SC_ADVANCED 717 718; For the dedicated build we'll enable dates in logs by default. 719[SDTC_BOOL] 720ifdef = DEDICATED 721var = gui.show_date_in_logs 722flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 723def = true 724 725[SDTC_BOOL] 726ifndef = DEDICATED 727var = gui.show_date_in_logs 728flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 729def = false 730 731[SDTC_VAR] 732var = gui.settings_restriction_mode 733type = SLE_UINT8 734flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 735def = 0 736min = 0 737max = 2 738 739[SDTC_VAR] 740var = gui.developer 741type = SLE_UINT8 742flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 743def = 1 744min = 0 745max = 2 746cat = SC_EXPERT 747post_cb = [](auto) { DebugReconsiderSendRemoteMessages(); } 748 749[SDTC_BOOL] 750var = gui.newgrf_developer_tools 751flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 752def = false 753post_cb = InvalidateNewGRFChangeWindows 754cat = SC_EXPERT 755 756[SDTC_BOOL] 757var = gui.ai_developer_tools 758flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 759def = false 760post_cb = [](auto) { InvalidateWindowClassesData(WC_AI_SETTINGS); } 761cat = SC_EXPERT 762 763[SDTC_BOOL] 764var = gui.scenario_developer 765flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 766def = false 767post_cb = InvalidateNewGRFChangeWindows 768 769[SDTC_BOOL] 770var = gui.newgrf_show_old_versions 771flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 772def = false 773cat = SC_EXPERT 774 775[SDTC_VAR] 776var = gui.newgrf_default_palette 777type = SLE_UINT8 778flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN 779def = 1 780min = 0 781max = 1 782post_cb = UpdateNewGRFConfigPalette 783cat = SC_EXPERT 784 785[SDTC_VAR] 786var = gui.console_backlog_timeout 787type = SLE_UINT16 788flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 789def = 100 790min = 10 791max = 65500 792 793[SDTC_VAR] 794var = gui.console_backlog_length 795type = SLE_UINT16 796flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 797def = 100 798min = 10 799max = 65500 800 801[SDTC_VAR] 802var = gui.refresh_rate 803type = SLE_UINT16 804flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 805def = 60 806min = 10 807max = 1000 808cat = SC_EXPERT 809startup = true 810 811[SDTC_VAR] 812var = gui.fast_forward_speed_limit 813type = SLE_UINT16 814flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NO_NETWORK 815def = 2500 816min = 0 817max = 50000 818interval = 10 819str = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT 820strhelp = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT 821strval = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL 822cat = SC_BASIC 823 824[SDTC_VAR] 825var = gui.network_chat_box_width_pct 826type = SLE_UINT16 827flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 828def = 40 829min = 10 830max = 100 831cat = SC_EXPERT 832 833[SDTC_VAR] 834var = gui.network_chat_box_height 835type = SLE_UINT8 836flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 837def = 25 838min = 5 839max = 255 840cat = SC_EXPERT 841 842[SDTC_VAR] 843var = gui.network_chat_timeout 844type = SLE_UINT16 845flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC 846def = 20 847min = 1 848max = 65535 849cat = SC_EXPERT 850 851