Henrik Rydgård and Claude Opus 5.5
729047d449
Config: Make the setting tables constexpr
...
SETTING now takes offsets with offsetof and passes them along with the
setting's type, instead of the block and member pointers, and the
ConfigSetting constructors are constexpr. So the tables are built at compile
time, and later per-setting metadata can be checked by the compiler too.
Defaults that weren't constants had to change:
- AutoFrameSkip called IsVREnabled() during static initialization, before VR
is set up. It's now a default callback, evaluated when the config is
loaded or reset, which can turn it on by default on VR devices.
- DisplayRefreshRate read g_Config's own initial value, which is 60.
Path defaults now share the string member of the default union.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-22 15:34:47 +02:00
Henrik Rydgård
14111097da
Claude found this code buggy, and it's not used, so delete it.
2026-08-31 16:37:55 +02:00
Henrik Rydgård
51c3058cf6
Replace "ForceFullScreen" with a way to prevent specific settings from being saved.
2026-02-02 09:25:49 +01:00
Henrik Rydgård
38ebb9d729
Set a few defaults automatically as a proof-of-concept (to reduce duplication)
...
See #18888
2026-01-05 19:03:43 +01:00
Henrik Rydgård
b71ee0ba89
Fix some bugs around game-specific config load/save ( #21033 )
2025-11-24 14:05:23 +01:00
Henrik Rydgård
063c7d4f7e
Get separate touch screen config for portrait working
2025-11-05 21:01:37 +01:00
Henrik Rydgård
1246b2d131
Correct handling of fallbacks and defaulting
2025-11-05 14:13:11 +01:00
Henrik Rydgård
2b863aafe1
Prepare for the new defaulting mechanism, IniFile cleanup
2025-11-05 12:49:52 +01:00
Henrik Rydgård
2651a3a241
Add base struct ConfigBlock
2025-11-05 12:49:52 +01:00
Henrik Rydgård
4467357e09
Add "fallback sections" to config reading, so we can "upgrade" settings
2025-11-05 12:49:51 +01:00
Henrik Rydgård
67010ff2af
Split the display layout config between landscape and portrait orientations
2025-11-05 12:49:51 +01:00
Henrik Rydgård
14ddad5ce3
Change how defaults work in the inifile reader (more flexible this way)
2025-10-31 21:57:52 +01:00
Henrik Rydgård
c98b7591d3
Improve the overload resolution in IniFile
2025-10-31 15:43:52 +01:00
Henrik Rydgård
5a1ed5a53b
Remove constexpr from ConfigSetting constructors
...
We can't take full advantage of it until we start requiring C++20
anyway.
Also remove the CfgFlags defaults while at it.
Fixes #20938
2025-10-31 10:11:25 +01:00
Henrik Rydgård
c30df3084c
Access config setting data by owner pointer and offset, instead of by direct pointer
2025-10-29 17:23:27 +01:00
Henrik Rydgård
0626d3266d
Compute offsets when initializing ConfigSettings
2025-10-29 17:06:43 +01:00
Henrik Rydgård
60aed95e7b
More config refactor
2025-10-29 15:49:43 +01:00
Henrik Rydgård
7578a1935b
More config refactor
2025-10-29 15:41:41 +01:00
Henrik Rydgård
a26529fd03
Prepare to change the representation of config settings
2025-10-29 15:07:51 +01:00
Henrik Rydgård
461f8586b6
Use config defaults in the headless binary.
...
Fixes #19332
2025-09-24 11:56:51 -06:00
Henrik Rydgård
60608b2b39
Allow customizing the proAdhoc server list by editing the ini
2025-08-15 16:35:25 +02:00
Henrik Rydgård
01b06b76c9
Infrastructure username handling: Add separate username, pick Nickname as default if valid.
2025-01-07 17:43:02 +01:00
Henrik Rydgård
4d6905672e
Bunch more linting
2024-10-10 11:57:10 +02:00
Giovanni Cocco
931eafd565
Keep only the LUT addition
2024-09-26 19:15:17 +02:00
Giovanni Cocco
bff850dadd
per game settings UI PoC
2024-08-06 14:50:23 +02:00
Henrik Rydgård
88a209a342
Move the report bool into the flags field
2023-04-08 09:22:02 +02:00
Henrik Rydgård
d077a75aa4
Merge "save" and "perGame" into a flags field
2023-04-08 09:22:02 +02:00
Henrik Rydgård
b84f723a7f
Make the save and per-game flags non-optional
2023-04-08 09:22:02 +02:00
Henrik Rydgård
b3d85ae89a
Prepare for settings move
2023-04-08 09:22:02 +02:00
Henrik Rydgård
6ac45ddba1
Extract the ConfigSetting implementation into its own file.
2023-04-08 09:22:02 +02:00
Henrik Rydgård
5a1e9ed8f1
Add ConfigSettings.cpp/h
2023-04-08 09:22:02 +02:00