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