source: ps/trunk/binaries/data/mods/public/gui/options/options.json@ 25866

Last change on this file since 25866 was 25866, checked in by Silier, 3 years ago

Do not require restart when chaning Background pause option

Background pause does require a game restart to take effect.
Adding function to update it on runtime since only place where it is used is in main.cpp.

Differential revision: D4181
Fixes: #6236
Tested by: @Langbart

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/json
File size: 21.3 KB
Line 
1[
2 {
3 "label": "General",
4 "options":
5 [
6 {
7 "type": "string",
8 "label": "Player name (single-player)",
9 "tooltip": "How you want to be addressed in single-player matches.",
10 "config": "playername.singleplayer"
11 },
12 {
13 "type": "string",
14 "label": "Player name (multiplayer)",
15 "tooltip": "How you want to be addressed in multiplayer matches (except lobby).",
16 "config": "playername.multiplayer"
17 },
18 {
19 "type": "boolean",
20 "label": "Background pause",
21 "tooltip": "Pause single-player games when window loses focus.",
22 "config": "pauseonfocusloss",
23 "function": "PauseOnFocusLoss"
24 },
25 {
26 "type": "boolean",
27 "label": "Enable welcome screen",
28 "tooltip": "If you disable it, the welcome screen will still appear once, each time a new version is available. You can always launch it from the main menu.",
29 "config": "gui.splashscreen.enable"
30 },
31 {
32 "type": "boolean",
33 "label": "FPS overlay",
34 "tooltip": "Show frames per second in top right corner.",
35 "config": "overlay.fps"
36 },
37 {
38 "type": "boolean",
39 "label": "Real time overlay",
40 "tooltip": "Show current system time in top right corner.",
41 "config": "overlay.realtime"
42 },
43 {
44 "type": "boolean",
45 "label": "Game time overlay",
46 "tooltip": "Show current simulation time in top right corner.",
47 "config": "gui.session.timeelapsedcounter"
48 },
49 {
50 "type": "boolean",
51 "label": "Ceasefire time overlay",
52 "tooltip": "Always show the remaining ceasefire time.",
53 "config": "gui.session.ceasefirecounter"
54 },
55 {
56 "type": "boolean",
57 "label": "Chat timestamp",
58 "tooltip": "Display the time at which a chat message was posted.",
59 "config": "chat.timestamp"
60 },
61 {
62 "type": "dropdown",
63 "label": "Naming of entities.",
64 "tooltip": "How to show entity names.",
65 "config": "gui.session.howtoshownames",
66 "list": [
67 {
68 "value": 0,
69 "label": "Specific names first",
70 "tooltip": "Display specific names before generic names."
71 },
72 {
73 "value": 1,
74 "label": "Generic names first",
75 "tooltip": "Display generic names before specific names."
76 },
77 {
78 "value": 2,
79 "label": "Only specific names",
80 "tooltip": "Display only specific names for entities."
81 },
82 {
83 "value": 3,
84 "label": "Only generic names",
85 "tooltip": "Display only generic names for entities."
86 }
87 ]
88 }
89 ]
90 },
91 {
92 "label": "Graphics (general)",
93 "tooltip": "Set the balance between performance and visual appearance.",
94 "options":
95 [
96 {
97 "type": "boolean",
98 "label": "Windowed mode",
99 "tooltip": "Start 0 A.D. in a window.",
100 "config": "windowed"
101 },
102 {
103 "type": "boolean",
104 "label": "Fog",
105 "tooltip": "Enable fog.",
106 "config": "fog"
107 },
108 {
109 "type": "boolean",
110 "label": "Post-processing",
111 "tooltip": "Use screen-space post-processing filters (HDR, Bloom, DOF, etc).",
112 "config": "postproc"
113 },
114 {
115 "type": "boolean",
116 "label": "Shadows",
117 "tooltip": "Enable shadows.",
118 "config": "shadows"
119 },
120 {
121 "type": "boolean",
122 "label": "Unit silhouettes",
123 "tooltip": "Show outlines of units behind structures.",
124 "config": "silhouettes"
125 },
126 {
127 "type": "boolean",
128 "label": "Particles",
129 "tooltip": "Enable particles.",
130 "config": "particles"
131 },
132 {
133 "type": "boolean",
134 "label": "VSync",
135 "tooltip": "Run vertical sync to fix screen tearing. REQUIRES GAME RESTART",
136 "config": "vsync"
137 },
138 {
139 "type": "slider",
140 "label": "FPS throttling in menus",
141 "tooltip": "To save CPU workload, throttle render frequency in all menus. Set to maximum to disable throttling.",
142 "config": "adaptivefps.menu",
143 "min": 20,
144 "max": 100
145 },
146 {
147 "type": "slider",
148 "label": "FPS throttling in games",
149 "tooltip": "To save CPU workload, throttle render frequency in running games. Set to maximum to disable throttling.",
150 "config": "adaptivefps.session",
151 "min": 20,
152 "max": 100
153 }
154 ]
155 },
156 {
157 "label": "Graphics (advanced)",
158 "tooltip": "More specific rendering settings.",
159 "options":
160 [
161 {
162 "type": "boolean",
163 "label": "Prefer GLSL",
164 "tooltip": "Use OpenGL 2.0 shaders (recommended).",
165 "config": "preferglsl"
166 },
167 {
168 "type": "boolean",
169 "label": "Fog",
170 "tooltip": "Enable fog.",
171 "dependencies": ["preferglsl"],
172 "config": "fog"
173 },
174 {
175 "type": "boolean",
176 "label": "Post-processing",
177 "tooltip": "Use screen-space post-processing filters (HDR, Bloom, DOF, etc).",
178 "config": "postproc"
179 },
180 {
181 "type": "dropdown",
182 "label": "Antialiasing",
183 "tooltip": "Reduce aliasing effect on edges.",
184 "dependencies": ["postproc", "preferglsl"],
185 "config": "antialiasing",
186 "list": [
187 { "value": "disabled", "label": "Disabled", "tooltip": "Do not use antialiasing." },
188 { "value": "fxaa", "label": "FXAA", "tooltip": "Fast, but simple antialiasing." },
189 { "value": "msaa2", "label": "MSAA (2×)", "tooltip": "Slow, but high-quality antialiasing, uses two samples per pixel. Supported for GL3.3+." },
190 { "value": "msaa4", "label": "MSAA (4×)", "tooltip": "Slow, but high-quality antialiasing, uses four samples per pixel. Supported for GL3.3+." },
191 { "value": "msaa8", "label": "MSAA (8×)", "tooltip": "Slow, but high-quality antialiasing, uses eight samples per pixel. Supported for GL3.3+." },
192 { "value": "msaa16", "label": "MSAA (16×)", "tooltip": "Slow, but high-quality antialiasing, uses sixteen samples per pixel. Supported for GL3.3+." }
193 ]
194 },
195 {
196 "type": "dropdown",
197 "label": "Sharpening",
198 "tooltip": "Reduce blurry effects.",
199 "dependencies": ["postproc", "preferglsl"],
200 "config": "sharpening",
201 "list": [
202 { "value": "disabled", "label": "Disabled", "tooltip": "Do not use sharpening." },
203 { "value": "cas", "label": "FidelityFX CAS", "tooltip": "Contrast adaptive sharpening, a fast, contrast based sharpening pass." }
204 ]
205 },
206 {
207 "type": "slider",
208 "label": "Sharpness factor",
209 "tooltip": "The sharpness of the choosen pass.",
210 "dependencies": ["postproc", "preferglsl"],
211 "config": "sharpness",
212 "min": 0,
213 "max": 1
214 },
215 {
216 "type": "dropdown",
217 "label": "Model quality",
218 "tooltip": "Model quality setting.",
219 "config": "max_actor_quality",
220 "list": [
221 { "value": 100, "label": "Low", "tooltip": "Simpler models for better performance." },
222 { "value": 150, "label": "Medium", "tooltip": "Average quality and average performance." },
223 { "value": 200, "label": "High", "tooltip": "High quality models." }
224 ]
225 },
226 {
227 "type": "dropdown",
228 "label": "Model appearance randomization",
229 "tooltip": "Randomize the appearance of entities. Disabling gives a small performance improvement.",
230 "config": "variant_diversity",
231 "list": [
232 { "value": "none", "label": "None", "tooltip": "Entities will all look the same." },
233 { "value": "limited", "label": "Limited", "tooltip": "Entities will be less diverse." },
234 { "value": "full", "label": "Normal", "tooltip": "Entities appearance is randomized normally." }
235 ]
236 },
237 {
238 "type": "slider",
239 "label": "Shader effects",
240 "tooltip": "Number of shader effects. REQUIRES GAME RESTART",
241 "config": "materialmgr.quality",
242 "min": 0,
243 "max": 10
244 },
245 {
246 "type": "boolean",
247 "label": "Shadows",
248 "tooltip": "Enable shadows.",
249 "config": "shadows"
250 },
251 {
252 "type": "dropdown",
253 "label": "Quality",
254 "tooltip": "Shadow map resolution. High values can crash the game when using a graphics card with low memory!",
255 "dependencies": ["shadows"],
256 "config": "shadowquality",
257 "list": [
258 { "value": -1, "label": "Low" },
259 { "value": 0, "label": "Medium" },
260 { "value": 1, "label": "High" },
261 { "value": 2, "label": "Very High" }
262 ]
263 },
264 {
265 "type": "boolean",
266 "label": "Filtering",
267 "tooltip": "Smooth shadows.",
268 "dependencies": ["shadows"],
269 "config": "shadowpcf"
270 },
271 {
272 "type": "slider",
273 "label": "Cutoff distance",
274 "tooltip": "Hides shadows beyond a certain distance from a camera.",
275 "dependencies": ["shadows"],
276 "config": "shadowscutoffdistance",
277 "min": 100,
278 "max": 1500
279 },
280 {
281 "type": "boolean",
282 "label": "Cover whole map",
283 "tooltip": "When ON shadows cover the whole map and shadows cutoff distance is ignored. Useful for making screenshots of a whole map.",
284 "dependencies": ["shadows"],
285 "config": "shadowscovermap"
286 },
287 {
288 "type": "boolean",
289 "label": "Water effects",
290 "tooltip": "When OFF, use the lowest settings possible to render water. This makes other settings irrelevant.",
291 "config": "watereffects"
292 },
293 {
294 "type": "boolean",
295 "label": "High-quality water effects",
296 "tooltip": "Use higher-quality effects for water, rendering coastal waves, shore foam, and ships trails.",
297 "dependencies": ["watereffects"],
298 "config": "waterfancyeffects"
299 },
300 {
301 "type": "boolean",
302 "label": "Water reflections",
303 "tooltip": "Allow water to reflect a mirror image.",
304 "dependencies": ["watereffects"],
305 "config": "waterreflection"
306 },
307 {
308 "type": "boolean",
309 "label": "Water refraction",
310 "tooltip": "Use a real water refraction map and not transparency.",
311 "dependencies": ["watereffects"],
312 "config": "waterrefraction"
313 },
314 {
315 "type": "boolean",
316 "label": "Real water depth",
317 "tooltip": "Use actual water depth in rendering calculations.",
318 "dependencies": ["watereffects", "waterrefraction"],
319 "config": "waterrealdepth"
320 }
321 ]
322 },
323 {
324 "label": "Sound",
325 "options":
326 [
327 {
328 "type": "slider",
329 "label": "Master volume",
330 "tooltip": "Master audio gain.",
331 "config": "sound.mastergain",
332 "function": "SetMasterGain",
333 "min": 0,
334 "max": 2
335 },
336 {
337 "type": "slider",
338 "label": "Music volume",
339 "tooltip": "In game music gain.",
340 "config": "sound.musicgain",
341 "function": "SetMusicGain",
342 "min": 0,
343 "max": 2
344 },
345 {
346 "type": "slider",
347 "label": "Ambient volume",
348 "tooltip": "In game ambient sound gain.",
349 "config": "sound.ambientgain",
350 "function": "SetAmbientGain",
351 "min": 0,
352 "max": 2
353 },
354 {
355 "type": "slider",
356 "label": "Action volume",
357 "tooltip": "In game unit action sound gain.",
358 "config": "sound.actiongain",
359 "function": "SetActionGain",
360 "min": 0,
361 "max": 2
362 },
363 {
364 "type": "slider",
365 "label": "UI volume",
366 "tooltip": "UI sound gain.",
367 "config": "sound.uigain",
368 "function": "SetUIGain",
369 "min": 0,
370 "max": 2
371 },
372 {
373 "type": "boolean",
374 "label": "Nick notification",
375 "tooltip": "Receive audio notification when someone types your nick.",
376 "config": "sound.notify.nick"
377 },
378 {
379 "type": "boolean",
380 "label": "New player notification in game setup",
381 "tooltip": "Receive audio notification when a new client joins the game setup.",
382 "config": "sound.notify.gamesetup.join"
383 }
384 ]
385 },
386 {
387 "label": "Game Setup",
388 "options":
389 [
390 {
391 "type": "boolean",
392 "label": "Enable game setting tips",
393 "tooltip": "Show tips when setting up a game.",
394 "config": "gui.gamesetup.enabletips"
395 },
396 {
397 "type": "boolean",
398 "label": "Enable settings panel slide",
399 "tooltip": "Slide the settings panel when opening, closing or resizing.",
400 "config": "gui.gamesetup.settingsslide"
401 },
402 {
403 "type": "boolean",
404 "label": "Persist match settings",
405 "tooltip": "Save and restore match settings for quick reuse when hosting another game.",
406 "config": "persistmatchsettings"
407 },
408 {
409 "type": "dropdown",
410 "label": "Default AI difficulty",
411 "tooltip": "Default difficulty of the AI.",
412 "config": "gui.gamesetup.aidifficulty",
413 "list": [
414 { "value": 0, "label": "Sandbox" },
415 { "value": 1, "label": "Very Easy" },
416 { "value": 2, "label": "Easy" },
417 { "value": 3, "label": "Medium" },
418 { "value": 4, "label": "Hard" },
419 { "value": 5, "label": "Very Hard" }
420 ]
421 },
422 {
423 "type": "dropdown",
424 "label": "Default AI behavior",
425 "tooltip": "Default behavior of the AI.",
426 "config": "gui.gamesetup.aibehavior",
427 "list": [
428 { "value": "random", "label": "Random" },
429 { "value": "balanced", "label": "Balanced" },
430 { "value": "aggressive", "label": "Aggressive" },
431 { "value": "defensive", "label": "Defensive" }
432 ]
433 },
434 {
435 "type": "dropdown",
436 "label": "Assign players",
437 "tooltip": "Automatically assign joining clients to free player slots during the match setup.",
438 "config": "gui.gamesetup.assignplayers",
439 "list": [
440 {
441 "value": "everyone",
442 "label": "Everyone",
443 "tooltip": "Players joining the match will be assigned if there is a free slot."
444 },
445 {
446 "value": "buddies",
447 "label": "Buddies",
448 "tooltip": "Players joining the match will only be assigned if they are a buddy of the host and if there is a free slot."
449 },
450 {
451 "value": "disabled",
452 "label": "Disabled",
453 "tooltip": "Players only receive a slot when the host assigns them explicitly."
454 }
455 ]
456 }
457 ]
458 },
459 {
460 "label": "Networking / Lobby",
461 "tooltip": "These settings only affect the multiplayer.",
462 "options":
463 [
464 {
465 "type": "boolean",
466 "label": "TLS encryption",
467 "tooltip": "Protect login and data exchanged with the lobby server using TLS encryption.",
468 "config": "lobby.tls"
469 },
470 {
471 "type": "number",
472 "label": "Chat backlog",
473 "tooltip": "Number of backlogged messages to load when joining the lobby.",
474 "config": "lobby.history",
475 "min": "0"
476 },
477 {
478 "type": "boolean",
479 "label": "Game rating column",
480 "tooltip": "Show the average rating of the participating players in a column of the gamelist.",
481 "config": "lobby.columns.gamerating"
482 },
483 {
484 "type": "boolean",
485 "label": "Network warnings",
486 "tooltip": "Show which player has a bad connection in multiplayer games.",
487 "config": "overlay.netwarnings"
488 },
489 {
490 "type": "dropdown",
491 "label": "Late observer joins",
492 "tooltip": "Allow everybody or buddies only to join the game as observer after it started.",
493 "config": "network.lateobservers",
494 "list": [
495 { "value": "everyone", "label": "Everyone" },
496 { "value": "buddies", "label": "Buddies" },
497 { "value": "disabled", "label": "Disabled" }
498 ]
499 },
500 {
501 "type": "number",
502 "label": "Observer limit",
503 "tooltip": "Prevent further observers from joining if the limit is reached.",
504 "config": "network.observerlimit",
505 "min": 0,
506 "max": 32
507 },
508 {
509 "type": "number",
510 "label": "Max lag for observers",
511 "tooltip": "When hosting, pause the game if observers are lagging more than this many turns. If set to -1, observers are ignored.",
512 "config": "network.observermaxlag",
513 "min": -1,
514 "max": 10000
515 },
516 {
517 "type": "boolean",
518 "label": "(Observer) Speed up when lagging.",
519 "tooltip": "When observing a game, automatically speed up if you start lagging, to catch up with the live match.",
520 "config": "network.autocatchup"
521 }
522 ]
523 },
524 {
525 "label": "Game Session",
526 "tooltip": "Change options regarding the in-game settings.",
527 "options":
528 [
529 {
530 "type": "slider",
531 "label": "Wounded unit health",
532 "tooltip": "The wounded unit hotkey considers the selected units as wounded if their health percentage falls below this number.",
533 "config": "gui.session.woundedunithotkeythreshold",
534 "min": 0,
535 "max": 100
536 },
537 {
538 "type": "number",
539 "label": "Batch training size",
540 "tooltip": "Number of units trained per batch by default.",
541 "config": "gui.session.batchtrainingsize",
542 "min": 1,
543 "max": 20
544 },
545 {
546 "type": "slider",
547 "label": "Scroll batch increment ratio",
548 "tooltip": "Number of times you have to scroll to increase/decrease the batchsize by 1.",
549 "config": "gui.session.scrollbatchratio",
550 "min": 0.1,
551 "max": 30
552 },
553 {
554 "type": "slider",
555 "label": "Flare display duration",
556 "tooltip": "How long the flare markers on the minimap are displayed in seconds.",
557 "config": "gui.session.flarelifetime",
558 "min": 0,
559 "max": 60
560 },
561 {
562 "type": "boolean",
563 "label": "Chat notification attack",
564 "tooltip": "Show a chat notification if you are attacked by another player.",
565 "config": "gui.session.notifications.attack"
566 },
567 {
568 "type": "boolean",
569 "label": "Chat notification tribute",
570 "tooltip": "Show a chat notification if an ally tributes resources to another team member if teams are locked, and all tributes in observer mode.",
571 "config": "gui.session.notifications.tribute"
572 },
573 {
574 "type": "boolean",
575 "label": "Chat notification barter",
576 "tooltip": "Show a chat notification to observers when a player bartered resources.",
577 "config": "gui.session.notifications.barter"
578 },
579 {
580 "type": "dropdown",
581 "label": "Chat notification phase",
582 "tooltip": "Show a chat notification if you or an ally have started, aborted or completed a new phase, and phases of all players in observer mode.",
583 "config": "gui.session.notifications.phase",
584 "list": [
585 { "value": "none", "label": "Disable" },
586 { "value": "completed", "label": "Completed" },
587 { "value": "all", "label": "All displayed" }
588 ]
589 },
590 {
591 "type": "boolean",
592 "label": "Attack range visualization",
593 "tooltip": "Display the attack range of selected defensive structures. (It can also be toggled with the hotkey during a game).",
594 "config": "gui.session.attackrange"
595 },
596 {
597 "type": "boolean",
598 "label": "Aura range visualization",
599 "tooltip": "Display the range of auras of selected units and structures. (It can also be toggled with the hotkey during a game).",
600 "config": "gui.session.aurasrange"
601 },
602 {
603 "type": "boolean",
604 "label": "Heal range visualization",
605 "tooltip": "Display the healing range of selected units. (It can also be toggled with the hotkey during a game).",
606 "config": "gui.session.healrange"
607 },
608 {
609 "type": "boolean",
610 "label": "Rank icon above status bar",
611 "tooltip": "Show rank icons above status bars.",
612 "config": "gui.session.rankabovestatusbar"
613 },
614 {
615 "type": "boolean",
616 "label": "Experience status bar",
617 "tooltip": "Show an experience status bar above each selected unit.",
618 "config": "gui.session.experiencestatusbar"
619 },
620 {
621 "type": "boolean",
622 "label": "Detailed tooltips",
623 "tooltip": "Show detailed tooltips for trainable units in unit-producing structures.",
624 "config": "showdetailedtooltips"
625 },
626 {
627 "type": "dropdown",
628 "label": "Sort resources and population tooltip",
629 "tooltip": "Dynamically sort players in the resources and population tooltip by value.",
630 "config": "gui.session.respoptooltipsort",
631 "list": [
632 { "value": 0, "label": "Unordered" },
633 { "value": -1, "label": "Ascending" },
634 { "value": 1, "label": "Descending" }
635 ]
636 },
637 {
638 "type": "color",
639 "label": "Diplomacy colors: self",
640 "tooltip": "Color of your units when diplomacy colors are enabled.",
641 "config": "gui.session.diplomacycolors.self"
642 },
643 {
644 "type": "color",
645 "label": "Diplomacy colors: ally",
646 "tooltip": "Color of allies when diplomacy colors are enabled.",
647 "config": "gui.session.diplomacycolors.ally"
648 },
649 {
650 "type": "color",
651 "label": "Diplomacy colors: neutral",
652 "tooltip": "Color of neutral players when diplomacy colors are enabled.",
653 "config": "gui.session.diplomacycolors.neutral"
654 },
655 {
656 "type": "color",
657 "label": "Diplomacy colors: enemy",
658 "tooltip": "Color of enemies when diplomacy colors are enabled.",
659 "config": "gui.session.diplomacycolors.enemy"
660 },
661 {
662 "type": "dropdown",
663 "label": "Snap to edges",
664 "tooltip": "This option allows to align new structures with nearby structures.",
665 "config": "gui.session.snaptoedges",
666 "list": [
667 {
668 "value": "disabled",
669 "label": "Hotkey to enable snapping",
670 "tooltip": "New structures are aligned with nearby structures while pressing the hotkey."
671 },
672 {
673 "value": "enabled",
674 "label": "Hotkey to disable snapping",
675 "tooltip": "New structures are aligned with nearby structures unless the hotkey is pressed."
676 }
677 ]
678 },
679 {
680 "type": "dropdown",
681 "label": "Control group membership",
682 "tooltip": "Decide whether units can be part of multiple control groups.",
683 "config": "gui.session.disjointcontrolgroups",
684 "list": [
685 {
686 "value": "true",
687 "label": "Single",
688 "tooltip": "When adding a Unit or Structure to a control group, they are removed from other control groups. Use this choice if you want control groups to refer to distinct armies."
689 },
690 {
691 "value": "false",
692 "label": "Multiple",
693 "tooltip": "Units and Structures can be part of multiple control groups. This is useful to keep control groups for distinct armies and a control group for the entire army simultaneously."
694 }
695 ]
696 },
697 {
698 "type": "dropdown",
699 "label": "Formation control",
700 "tooltip": "Decide whether formations are enabled for all orders or only 'Walk' and 'Patrol'.",
701 "config": "gui.session.formationwalkonly",
702 "list": [
703 {
704 "value": "true",
705 "label": "Walk/Patrol Only",
706 "tooltip": "Other orders will disband existing formations."
707 },
708 {
709 "value": "false",
710 "label": "No override",
711 "tooltip": "Units in formations stay in formations."
712 }
713 ]
714 }
715 ]
716 }
717]
Note: See TracBrowser for help on using the repository browser.