/
settings.ini
4006 lines (3601 loc) · 96.6 KB
/
settings.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
; 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]
/* Begin - Callback Functions for the various settings */
static bool v_PositionMainToolbar(int32 p1);
static bool v_PositionStatusbar(int32 p1);
static bool PopulationInLabelActive(int32 p1);
static bool RedrawScreen(int32 p1);
static bool RedrawSmallmap(int32 p1);
static bool StationSpreadChanged(int32 p1);
static bool InvalidateBuildIndustryWindow(int32 p1);
static bool CloseSignalGUI(int32 p1);
static bool InvalidateTownViewWindow(int32 p1);
static bool DeleteSelectStationWindow(int32 p1);
static bool UpdateConsists(int32 p1);
static bool TrainAccelerationModelChanged(int32 p1);
static bool RoadVehAccelerationModelChanged(int32 p1);
static bool TrainSlopeSteepnessChanged(int32 p1);
static bool RoadVehSlopeSteepnessChanged(int32 p1);
static bool DragSignalsDensityChanged(int32);
static bool TownFoundingChanged(int32 p1);
static bool DifficultyNoiseChange(int32 i);
static bool MaxNoAIsChange(int32 i);
static bool CheckRoadSide(int p1);
static bool ChangeMaxHeightLevel(int32 p1);
static bool CheckFreeformEdges(int32 p1);
static bool ChangeDynamicEngines(int32 p1);
static bool StationCatchmentChanged(int32 p1);
static bool InvalidateVehTimetableWindow(int32 p1);
static bool InvalidateCompanyLiveryWindow(int32 p1);
static bool InvalidateNewGRFChangeWindows(int32 p1);
static bool InvalidateIndustryViewWindow(int32 p1);
static bool InvalidateAISettingsWindow(int32 p1);
static bool RedrawTownAuthority(int32 p1);
static bool InvalidateCompanyInfrastructureWindow(int32 p1);
static bool InvalidateCompanyWindow(int32 p1);
static bool MaxVehiclesChanged(int32 p1);
static bool InvalidateShipPathCache(int32 p1);
static bool UpdateClientName(int32 p1);
static bool UpdateServerPassword(int32 p1);
static bool UpdateRconPassword(int32 p1);
static bool UpdateClientConfigValues(int32 p1);
/* End - Callback Functions for the various settings */
/* Some settings do not need to be synchronised when playing in multiplayer.
* These include for example the GUI settings and will not be saved with the
* savegame.
* It is also a bit tricky since you would think that service_interval
* for example doesn't need to be synched. Every client assigns the
* service_interval value to the v->service_interval, meaning that every client
* assigns his value. If the setting was company-based, that would mean that
* vehicles could decide on different moments that they are heading back to a
* service depot, causing desyncs on a massive scale. */
const SettingDesc _settings[] = {
[post-amble]
};
[templates]
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $load, $cat, $extra),
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat, $extra),
SDT_NULL = SDT_NULL($length, $from, $to),
SDT_END = SDT_END()
[defaults]
flags = 0
guiflags = SGF_NONE
interval = 0
str = STR_NULL
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval = STR_NULL
proc = nullptr
load = nullptr
from = SL_MIN_VERSION
to = SL_MAX_VERSION
cat = SC_ADVANCED
extra = 0
; Saved settings variables.
; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatibility.
[SDT_VAR]
base = GameSettings
var = difficulty.max_no_competitors
type = SLE_UINT8
from = SLV_97
def = 0
min = 0
max = MAX_COMPANIES - 1
interval = 1
proc = MaxNoAIsChange
cat = SC_BASIC
[SDT_NULL]
length = 1
from = SLV_97
to = SLV_110
[SDT_VAR]
base = GameSettings
var = difficulty.number_towns
type = SLE_UINT8
from = SLV_97
guiflags = SGF_NEWGAME_ONLY
def = 2
min = 0
max = 4
interval = 1
strval = STR_NUM_VERY_LOW
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.industry_density
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING
def = ID_END - 1
min = 0
max = ID_END - 1
interval = 1
str = STR_CONFIG_SETTING_INDUSTRY_DENSITY
strhelp = STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT
strval = STR_FUNDING_ONLY
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.max_loan
type = SLE_UINT32
from = SLV_97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_CURRENCY
def = 300000
min = 0
max = 2000000000
interval = 50000
str = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN
strhelp = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT
strval = STR_JUST_CURRENCY_LONG
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.initial_interest
type = SLE_UINT8
from = SLV_97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def = 2
min = 2
max = 4
interval = 1
str = STR_CONFIG_SETTING_INTEREST_RATE
strhelp = STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
[SDT_VAR]
base = GameSettings
var = difficulty.vehicle_costs
type = SLE_UINT8
from = SLV_97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_MULTISTRING
def = 0
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_RUNNING_COSTS
strhelp = STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT
strval = STR_SEA_LEVEL_LOW
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.competitor_speed
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING
def = 2
min = 0
max = 4
interval = 1
str = STR_CONFIG_SETTING_CONSTRUCTION_SPEED
strhelp = STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT
strval = STR_AI_SPEED_VERY_SLOW
cat = SC_BASIC
[SDT_NULL]
length = 1
from = SLV_97
to = SLV_110
[SDT_VAR]
base = GameSettings
var = difficulty.vehicle_breakdowns
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING
def = 1
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS
strhelp = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT
strval = STR_DISASTER_NONE
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.subsidy_multiplier
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING
def = 2
min = 0
max = 3
interval = 1
str = STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER
strhelp = STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT
strval = STR_SUBSIDY_X1_5
[SDT_VAR]
base = GameSettings
var = difficulty.construction_cost
type = SLE_UINT8
from = SLV_97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_MULTISTRING
def = 0
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_CONSTRUCTION_COSTS
strhelp = STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT
strval = STR_SEA_LEVEL_LOW
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.terrain_type
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 1
min = 0
max = 4
interval = 1
str = STR_CONFIG_SETTING_TERRAIN_TYPE
strhelp = STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT
strval = STR_TERRAIN_TYPE_VERY_FLAT
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.quantity_sea_lakes
type = SLE_UINT8
from = SLV_97
guiflags = SGF_NEWGAME_ONLY
def = 0
min = 0
max = 4
interval = 1
strval = STR_SEA_LEVEL_VERY_LOW
cat = SC_BASIC
[SDT_BOOL]
base = GameSettings
var = difficulty.economy
from = SLV_97
def = false
str = STR_CONFIG_SETTING_RECESSIONS
strhelp = STR_CONFIG_SETTING_RECESSIONS_HELPTEXT
[SDT_BOOL]
base = GameSettings
var = difficulty.line_reverse_mode
from = SLV_97
def = false
str = STR_CONFIG_SETTING_TRAIN_REVERSING
strhelp = STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT
[SDT_BOOL]
base = GameSettings
var = difficulty.disasters
from = SLV_97
def = false
str = STR_CONFIG_SETTING_DISASTERS
strhelp = STR_CONFIG_SETTING_DISASTERS_HELPTEXT
cat = SC_BASIC
[SDT_VAR]
base = GameSettings
var = difficulty.town_council_tolerance
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING
def = 0
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_CITY_APPROVAL
strhelp = STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT
strval = STR_CITY_APPROVAL_PERMISSIVE
proc = DifficultyNoiseChange
[SDTG_VAR]
name = ""diff_level""
var = _old_diff_level
type = SLE_UINT8
flags = SLF_NOT_IN_CONFIG
from = SLV_97
to = SLV_178
def = 3
min = 0
max = 3
cat = SC_BASIC
; There are only 21 predefined town_name values (0-20), but you can have more with newgrf action F so allow
; these bigger values (21-255). Invalid values will fallback to english on use and (undefined string) in GUI.
[SDT_OMANY]
base = GameSettings
var = game_creation.town_name
type = SLE_UINT8
from = SLV_97
guiflags = SGF_NO_NETWORK
def = 0
max = 255
full = _town_names
cat = SC_BASIC
[SDT_OMANY]
base = GameSettings
var = game_creation.landscape
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 0
max = 3
full = _climates
load = ConvertLandscape
str = STR_CONFIG_SETTING_LANDSCAPE
strhelp = STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT
strval = STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE
cat = SC_BASIC
; Snow line (or snow_line_height * TILE_HEIGHT)
[SDT_NULL]
length = 1
from = SLV_97
to = SLV_164
[SDT_OMANY]
base = GameSettings
var = vehicle.road_side
type = SLE_UINT8
from = SLV_97
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def = 1
max = 1
full = _roadsides
str = STR_CONFIG_SETTING_ROAD_SIDE
strhelp = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
strval = STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT
proc = CheckRoadSide
cat = SC_BASIC
; Construction
[SDT_VAR]
base = GameSettings
var = construction.max_heightlevel
type = SLE_UINT8
from = SLV_194
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def = DEF_MAX_HEIGHTLEVEL
min = MIN_MAX_HEIGHTLEVEL
max = MAX_MAX_HEIGHTLEVEL
interval = 1
str = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL
strhelp = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT
strval = STR_JUST_INT
proc = ChangeMaxHeightLevel
cat = SC_BASIC
[SDT_BOOL]
base = GameSettings
var = construction.build_on_slopes
guiflags = SGF_NO_NETWORK
def = true
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.command_pause_level
type = SLE_UINT8
from = SLV_154
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def = 1
min = 0
max = 3
interval = 1
str = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL
strhelp = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT
strval = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS
[SDT_VAR]
base = GameSettings
var = construction.terraform_per_64k_frames
type = SLE_UINT32
from = SLV_156
def = 64 << 16
min = 0
max = 1 << 30
interval = 1
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.terraform_frame_burst
type = SLE_UINT16
from = SLV_156
def = 4096
min = 0
max = 1 << 30
interval = 1
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.clear_per_64k_frames
type = SLE_UINT32
from = SLV_156
def = 64 << 16
min = 0
max = 1 << 30
interval = 1
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.clear_frame_burst
type = SLE_UINT16
from = SLV_156
def = 4096
min = 0
max = 1 << 30
interval = 1
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.tree_per_64k_frames
type = SLE_UINT32
from = SLV_175
def = 64 << 16
min = 0
max = 1 << 30
interval = 1
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.tree_frame_burst
type = SLE_UINT16
from = SLV_175
def = 4096
min = 0
max = 1 << 30
interval = 1
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = construction.autoslope
from = SLV_75
def = true
str = STR_CONFIG_SETTING_AUTOSLOPE
strhelp = STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = construction.extra_dynamite
def = true
str = STR_CONFIG_SETTING_EXTRADYNAMITE
strhelp = STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT
[SDT_VAR]
base = GameSettings
var = construction.max_bridge_length
type = SLE_UINT16
from = SLV_159
guiflags = SGF_NO_NETWORK
def = 64
min = 1
max = MAX_MAP_SIZE
interval = 1
str = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH
strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
[SDT_VAR]
base = GameSettings
var = construction.max_bridge_height
type = SLE_UINT8
from = SLV_194
guiflags = SGF_NO_NETWORK
def = 12
min = 1
max = MAX_TILE_HEIGHT
interval = 1
str = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT
strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT
strval = STR_JUST_COMMA
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.max_tunnel_length
type = SLE_UINT16
from = SLV_159
guiflags = SGF_NO_NETWORK
def = 64
min = 1
max = MAX_MAP_SIZE
interval = 1
str = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH
strhelp = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
# construction.longbridges
[SDT_NULL]
length = 1
to = SLV_159
[SDT_VAR]
base = GameSettings
var = construction.train_signal_side
type = SLE_UINT8
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_SIGNALSIDE
strhelp = STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT
strval = STR_CONFIG_SETTING_SIGNALSIDE_LEFT
proc = RedrawScreen
cat = SC_BASIC
[SDT_BOOL]
base = GameSettings
var = station.never_expire_airports
guiflags = SGF_NO_NETWORK
def = false
str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT
[SDT_VAR]
base = GameSettings
var = economy.town_layout
type = SLE_UINT8
from = SLV_59
guiflags = SGF_MULTISTRING
def = TL_ORIGINAL
min = TL_BEGIN
max = NUM_TLS - 1
interval = 1
str = STR_CONFIG_SETTING_TOWN_LAYOUT
strhelp = STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT
strval = STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT
proc = TownFoundingChanged
[SDT_BOOL]
base = GameSettings
var = economy.allow_town_roads
from = SLV_113
guiflags = SGF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT
[SDT_VAR]
base = GameSettings
var = economy.found_town
type = SLE_UINT8
from = SLV_128
guiflags = SGF_MULTISTRING
def = TF_FORBIDDEN
min = TF_BEGIN
max = TF_END - 1
interval = 1
str = STR_CONFIG_SETTING_TOWN_FOUNDING
strhelp = STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT
strval = STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN
proc = TownFoundingChanged
cat = SC_BASIC
[SDT_BOOL]
base = GameSettings
var = economy.allow_town_level_crossings
from = SLV_143
guiflags = SGF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT
[SDT_VAR]
base = GameSettings
var = economy.town_cargogen_mode
type = SLE_UINT8
from = SLV_TOWN_CARGOGEN
guiflags = SGF_MULTISTRING
def = TCGM_BITCOUNT
min = TCGM_BEGIN
max = TCGM_END - 1
interval = 1
str = STR_CONFIG_SETTING_TOWN_CARGOGENMODE
strhelp = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT
strval = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL
cat = SC_ADVANCED
; link graph
[SDT_VAR]
base = GameSettings
var = linkgraph.recalc_interval
type = SLE_UINT16
from = SLV_183
def = 4
min = 2
max = 32
interval = 2
str = STR_CONFIG_SETTING_LINKGRAPH_INTERVAL
strval = STR_JUST_COMMA
strhelp = STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT
extra = offsetof(LinkGraphSettings, recalc_interval)
[SDT_VAR]
base = GameSettings
var = linkgraph.recalc_time
type = SLE_UINT16
from = SLV_183
def = 16
min = 1
max = 4096
interval = 1
str = STR_CONFIG_SETTING_LINKGRAPH_TIME
strval = STR_JUST_COMMA
strhelp = STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT
extra = offsetof(LinkGraphSettings, recalc_time)
[SDT_VAR]
base = GameSettings
var = linkgraph.distribution_pax
type = SLE_UINT8
from = SLV_183
guiflags = SGF_MULTISTRING
def = DT_MANUAL
min = DT_MIN
max = DT_MAX
interval = 1
str = STR_CONFIG_SETTING_DISTRIBUTION_PAX
strval = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT
extra = offsetof(LinkGraphSettings, distribution_pax)
[SDT_VAR]
base = GameSettings
var = linkgraph.distribution_mail
type = SLE_UINT8
from = SLV_183
guiflags = SGF_MULTISTRING
def = DT_MANUAL
min = DT_MIN
max = DT_MAX
interval = 1
str = STR_CONFIG_SETTING_DISTRIBUTION_MAIL
strval = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT
extra = offsetof(LinkGraphSettings, distribution_mail)
[SDT_VAR]
base = GameSettings
var = linkgraph.distribution_armoured
type = SLE_UINT8
from = SLV_183
guiflags = SGF_MULTISTRING
def = DT_MANUAL
min = DT_MIN
max = DT_MAX
interval = 1
str = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED
strval = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT
extra = offsetof(LinkGraphSettings, distribution_armoured)
[SDT_VAR]
base = GameSettings
var = linkgraph.distribution_default
type = SLE_UINT8
from = SLV_183
guiflags = SGF_MULTISTRING
def = DT_MANUAL
min = DT_BEGIN
max = DT_MAX_NONSYMMETRIC
interval = 1
str = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT
strval = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT
extra = offsetof(LinkGraphSettings, distribution_default)
[SDT_VAR]
base = GameSettings
var = linkgraph.accuracy
type = SLE_UINT8
from = SLV_183
def = 16
min = 2
max = 64
interval = 1
str = STR_CONFIG_SETTING_LINKGRAPH_ACCURACY
strval = STR_JUST_COMMA
strhelp = STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT
extra = offsetof(LinkGraphSettings, accuracy)
[SDT_VAR]
base = GameSettings
var = linkgraph.demand_distance
type = SLE_UINT8
from = SLV_183
def = 100
min = 0
max = 255
interval = 5
str = STR_CONFIG_SETTING_DEMAND_DISTANCE
strval = STR_CONFIG_SETTING_PERCENTAGE
strhelp = STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT
extra = offsetof(LinkGraphSettings, demand_distance)
[SDT_VAR]
base = GameSettings
var = linkgraph.demand_size
type = SLE_UINT8
from = SLV_183
def = 100
min = 0
max = 100
interval = 5
str = STR_CONFIG_SETTING_DEMAND_SIZE
strval = STR_CONFIG_SETTING_PERCENTAGE
strhelp = STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT
extra = offsetof(LinkGraphSettings, demand_size)
[SDT_VAR]
base = GameSettings
var = linkgraph.short_path_saturation
type = SLE_UINT8
from = SLV_183
def = 80
min = 0
max = 250
interval = 5
str = STR_CONFIG_SETTING_SHORT_PATH_SATURATION
strval = STR_CONFIG_SETTING_PERCENTAGE
strhelp = STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT
extra = offsetof(LinkGraphSettings, short_path_saturation)
; Vehicles
[SDT_VAR]
base = GameSettings
var = vehicle.train_acceleration_model
type = SLE_UINT8
guiflags = SGF_MULTISTRING
def = 1
min = 0
max = 1
interval = 1
str = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL
strhelp = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT
strval = STR_CONFIG_SETTING_ORIGINAL
proc = TrainAccelerationModelChanged
[SDT_VAR]
base = GameSettings
var = vehicle.roadveh_acceleration_model
type = SLE_UINT8
from = SLV_139
guiflags = SGF_MULTISTRING
def = 1
min = 0
max = 1
interval = 1
str = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT
strval = STR_CONFIG_SETTING_ORIGINAL
proc = RoadVehAccelerationModelChanged
[SDT_VAR]
base = GameSettings
var = vehicle.train_slope_steepness
type = SLE_UINT8
from = SLV_133
def = 3
min = 0
max = 10
interval = 1
str = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS
strhelp = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
proc = TrainSlopeSteepnessChanged
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = vehicle.roadveh_slope_steepness
type = SLE_UINT8
from = SLV_139
def = 7
min = 0
max = 10
interval = 1
str = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
proc = RoadVehSlopeSteepnessChanged
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = pf.forbid_90_deg
def = false
str = STR_CONFIG_SETTING_FORBID_90_DEG
strhelp = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT
proc = InvalidateShipPathCache
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = vehicle.max_train_length
type = SLE_UINT8
from = SLV_159
def = 7
min = 1
max = 64
interval = 1
str = STR_CONFIG_SETTING_TRAIN_LENGTH
strhelp = STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
cat = SC_BASIC
; vehicle.mammoth_trains
[SDT_NULL]
length = 1
to = SLV_159
[SDT_VAR]
base = GameSettings
var = vehicle.smoke_amount
type = SLE_UINT8
from = SLV_145
guiflags = SGF_MULTISTRING
def = 1
min = 0
max = 2
str = STR_CONFIG_SETTING_SMOKE_AMOUNT
strhelp = STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT
strval = STR_CONFIG_SETTING_NONE
; order.gotodepot
[SDT_NULL]
length = 1
to = SLV_159
; path finder
[SDT_BOOL]
base = GameSettings
var = pf.roadveh_queue
def = true
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = pf.new_pathfinding_all
to = SLV_87
def = false
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = pf.yapf.ship_use_yapf
from = SLV_28
to = SLV_87
def = false
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = pf.yapf.road_use_yapf
from = SLV_28
to = SLV_87
def = true
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = pf.yapf.rail_use_yapf
from = SLV_28
to = SLV_87
def = true
cat = SC_EXPERT
##
[SDT_VAR]
base = GameSettings
var = pf.pathfinder_for_trains
type = SLE_UINT8
from = SLV_87
guiflags = SGF_MULTISTRING
def = 2
min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = pf.pathfinder_for_roadvehs
type = SLE_UINT8
from = SLV_87
guiflags = SGF_MULTISTRING
def = 2
min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = pf.pathfinder_for_ships
type = SLE_UINT8
from = SLV_87
guiflags = SGF_MULTISTRING
def = 2
min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
proc = InvalidateShipPathCache
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = vehicle.never_expire_vehicles
guiflags = SGF_NO_NETWORK
def = false
str = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT
[SDT_VAR]
base = GameSettings
var = vehicle.max_trains
type = SLE_UINT16
def = 500
min = 0
max = 5000
str = STR_CONFIG_SETTING_MAX_TRAINS
strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
strval = STR_JUST_COMMA
proc = MaxVehiclesChanged