Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-09 | Codechange: use the name string in SaveLoad for the name of the Setting as well | Rubidium | |
2021-07-02 | Cleanup: remove SLE_NULL and friends | Patric Stout | |
We no longer need them. If you want to remove a field .. just remove it! Because of the headers in the savegame, on loading, it will do the right thing and skip the field. Do remember to bump the savegame version, as otherwise older clients can still load the game, but will reset the field you have removed .. that might be unintentially. | |||
2021-07-02 | Feature: framework to make savegames self-descriptive | Patric Stout | |
We won't be able to make it fully self-descriptive (looking at you MAP-chunks), but anything else can. With this framework, we can add headers for each chunk explaining how each chunk looks like in detail. They also will all be tables, making it a lot easier to read in external tooling, and opening the way to consider a database (like SQLite) to use as savegame format. Lastly, with the headers in the savegame, you can freely add fields without needing a savegame version bump; older versions of OpenTTD will simply ignore the new field. This also means we can remove all the SLE_CONDNULL, as they are irrelevant. The next few commits will start using this framework. | |||
2021-06-26 | Fix #9386: compilers failing to compile with LTO by using variants instead ↵ | rubidium42 | |
of new + unique_ptr With std::variant all memory can be figured out at compile time, so the compiler needs to keep track of fewer elements. It also saves out a unique_ptr and its memory management, over a slight impact for resolving a setting. | |||
2021-06-06 | Codechange: merge guiflags and flags in settings .ini files | Patric Stout | |
It was rather confusing which one was for what, especially as some SaveLoad flags were settings-only. Clean up this mess a bit by having only Setting flags. | |||
2021-05-29 | Codechange: use separate pre and post callbacks for int settings | rubidium42 | |
2021-05-29 | Codechange: use separate pre and post callbacks for string settings | rubidium42 | |
2021-05-27 | Codechange: remove SettingDescType in lieu of the actual classes | rubidium42 | |
2021-05-27 | Codechange: let OneOfMany and ManyOfMany be their own classes as well | rubidium42 | |
2021-05-27 | Codechange: make BoolSettingDesc its own sub class | rubidium42 | |
2021-05-27 | Codechange: make sub classes of SettingDesc for the different types of settings | rubidium42 | |
2021-05-27 | Codechange: make SettingDesc an instance in the setting table to allow for ↵ | rubidium42 | |
sub classes | |||
2021-05-27 | Codechange: use initializer_lists for the settings tables | rubidium42 | |
Not using vectors as those require copying from the initializer list and that makes unique_ptrs to the actual SettingDesc objects later impossible. | |||
2021-05-27 | Cleanup: remove and/or fix some confusing comments | rubidium42 | |
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. | |||
2021-05-13 | Codechange: clean up C-string support from settings | rubidium42 | |
2021-05-13 | Codechange: move locale settings to std::string | rubidium42 | |
2021-05-13 | Codechange: move client name in settings to std::string | rubidium42 | |
2021-05-13 | Codechange: move passwords in settings to std::string | rubidium42 | |
2021-04-27 | Feature: allow non-ASCII currency separators | rubidium42 | |
2021-02-17 | Codechange: Allow early-load settings that are not misc settings. | Michael Lutz | |
2021-02-13 | Codechange: Don't use cpp_offsetof in the save/load code. | Michael Lutz | |
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. | |||
2020-06-05 | Cleanup: Add note explaining how settings.h is generated from source. | TechGeekNZ | |
2020-06-05 | Cleanup: Fix typo in settings.h.preamble. | TechGeekNZ | |
2020-05-21 | Codechange: Store base set related texts in std::strings. | Michael Lutz | |
2019-11-10 | Cleanup: Removed SVN headers | S. D. Cloudt | |
2019-09-29 | Fix: Some typos found using codespell | JMcKiern | |
2019-04-29 | Codechange: Set size of SettingGuiFlag & SettingDescType enums, and use them ↵ | Charles Pigott | |
properly | |||
2019-04-11 | Codechange: NULL -> nullptr in settings files. | peter1138 | |
2018-06-27 | Codechange: lengthof is not defined for runtime-length strings, use sizeof ↵ | Charles Pigott | |
instead | |||
2013-02-14 | (svn r24991) -Doc: Clarify comments regarding settings macros. | matthijs | |
2012-11-08 | (svn r24671) -Feature [FS#5355]: Add basic/advanced/expert filters to adv. ↵ | frosch | |
settings GUI. (Eagle_rainbow) | |||
2012-05-12 | (svn r24234) -Add: Add help-string infrastructure to the ini files | alberth | |
2011-05-29 | (svn r22522) -Fix (r22489): (size_t)(uint32)(-1) != (size_t)-1 | frosch | |
2011-03-06 | (svn r22210) -Add: Add a variable for the value strings in the settings tables. | alberth | |
2011-03-06 | (svn r22209) -Codechange: Move function declarations from ↵ | alberth | |
settings.h.preamble to the ini file that uses it. | |||
2011-03-05 | (svn r22202) -Codechange: make MusicFileSettings a proper citizen of the ↵ | rubidium | |
client settings | |||
2011-03-05 | (svn r22199) -Cleanup-ish: replace the shortcut macros for (gui)flags with ↵ | rubidium | |
their more clearly named (longer) constant names | |||
2011-03-05 | (svn r22198) -Codechange: make some constants name more explicit | rubidium | |
2011-03-05 | (svn r22197) -Cleanup: remove the distinction between conditional and ↵ | rubidium | |
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 | |||
2011-03-03 | (svn r22173) -Add: Add preamble and postamble files before and after the ↵ | alberth | |
generated settings data. |