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

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

There have been quite a bit of number of questions how to change scale of the gui, because this option is hidden from the user.

Use dropdown with values. Implement confirmation box with countdown to revert scale change because buttons can get unable to click.

Differential revision: D3037
Comments by: @vladislavbelov, @Stan, @wraitii, @pieq, @sera
Tested by: @Langbart

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