Commit Graph

33 Commits (ea9715d970911300b17f8a55dd1047f3706d22f4)

Author SHA1 Message Date
rubidium42 86c9ef8134 Codechange: remove SettingDescType in lieu of the actual classes 3 years ago
rubidium42 e666a962b1 Codechange: let OneOfMany and ManyOfMany be their own classes as well 3 years ago
rubidium42 860003458f Codechange: make BoolSettingDesc its own sub class 3 years ago
rubidium42 d8125fa46e Codechange: make sub classes of SettingDesc for the different types of settings 3 years ago
rubidium42 91b3d697c5 Codechange: make SettingDesc an instance in the setting table to allow for sub classes 3 years ago
rubidium42 3bb6ce8827 Codechange: use initializer_lists for the settings tables
Not using vectors as those require copying from the initializer list and that
makes unique_ptrs to the actual SettingDesc objects later impossible.
3 years ago
rubidium42 ac99a38175 Cleanup: remove and/or fix some confusing comments
The comments for SettingDescType; it is a byte, so not 4 bytes and since it is not a flag there are about 250 other possibilities left instead of 9.
SettingGuiFlag is uint16 so has 2 bytes allocated.
SettingDescGlobVarList and related comments imply that global vars cannot be used elsewhere, but they are used for settings just fine. Even then the type is not used anywhere else but the definition of the table.
3 years ago
rubidium42 0f062b3882 Codechange: clean up C-string support from settings 3 years ago
rubidium42 2022e34824 Codechange: move locale settings to std::string 3 years ago
rubidium42 16437b7c0d Codechange: move client name in settings to std::string 3 years ago
rubidium42 c73d64adf9 Codechange: move passwords in settings to std::string 3 years ago
rubidium42 b54d8a49fb Feature: allow non-ASCII currency separators 3 years ago
Michael Lutz 00c66e7096 Codechange: Allow early-load settings that are not misc settings. 3 years ago
Michael Lutz 7845434270 Codechange: Don't use cpp_offsetof in the save/load code.
Many of the member variables that are used in save/load are inside types
that are not standard layout types. Using pointer arithmetics to determine
addresses of members inside types that are not standard layout is generally
undefined behaviour. If we'd use C++17, it is conditionally supported, which means
each compiler may or may not support it. And even then using it for individual
array elements is syntactically not supported the the standard offsetof function.

Unfortunately, the trickery employed for saving linkgraph settings causes quite some
clutter in the settings ini files.
3 years ago
TechGeekNZ 012fea301d Cleanup: Add note explaining how settings.h is generated from source. 4 years ago
TechGeekNZ f246f8faef Cleanup: Fix typo in settings.h.preamble. 4 years ago
Michael Lutz a49fdb7ebb Codechange: Store base set related texts in std::strings. 4 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
JMcKiern 04f659e768 Fix: Some typos found using codespell 5 years ago
Charles Pigott 644f4c3547 Codechange: Set size of SettingGuiFlag & SettingDescType enums, and use them properly 5 years ago
peter1138 c0836bccef Codechange: NULL -> nullptr in settings files. 5 years ago
Charles Pigott 2aacddd412 Codechange: lengthof is not defined for runtime-length strings, use sizeof instead 6 years ago
matthijs 97decad061 (svn r24991) -Doc: Clarify comments regarding settings macros. 12 years ago
frosch 69a62452be (svn r24671) -Feature [FS#5355]: Add basic/advanced/expert filters to adv. settings GUI. (Eagle_rainbow) 12 years ago
alberth 1d58838a97 (svn r24234) -Add: Add help-string infrastructure to the ini files 12 years ago
frosch 615e435677 (svn r22522) -Fix (r22489): (size_t)(uint32)(-1) != (size_t)-1 13 years ago
alberth 9fe65f93fe (svn r22210) -Add: Add a variable for the value strings in the settings tables. 14 years ago
alberth 02bf850d95 (svn r22209) -Codechange: Move function declarations from settings.h.preamble to the ini file that uses it. 14 years ago
rubidium f90044d343 (svn r22202) -Codechange: make MusicFileSettings a proper citizen of the client settings 14 years ago
rubidium b8d3c42de2 (svn r22199) -Cleanup-ish: replace the shortcut macros for (gui)flags with their more clearly named (longer) constant names 14 years ago
rubidium e48967541a (svn r22198) -Codechange: make some constants name more explicit 14 years ago
rubidium 2636a4809b (svn r22197) -Cleanup: remove the distinction between conditional and non-conditional settings; with default from and to savegame versions all can be conditional. They previously were as well; the non-conditional ones were macros of the conditionals with to/from saveload versions hardcoded 14 years ago
alberth 7477f92029 (svn r22173) -Add: Add preamble and postamble files before and after the generated settings data. 14 years ago