summaryrefslogtreecommitdiff
path: root/src/settings.cpp
AgeCommit message (Collapse)Author
2021-06-07Codechange: make [Save|Load]Settings() behave more like other Save/Load code ↵Patric Stout
(#9335) Prepare the full description and send it to SlObject. This does require some code to be able to read to a SLE_VAR_NULL, like strings etc, as there is no way to know their length beforehand.
2021-06-06Codechange: merge guiflags and flags in settings .ini filesPatric 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-06-06Codechange: move SLF_NO_NETWORK_SYNC into settingsPatric Stout
It is a settings-only flag, so don't pollute SaveLoad code with it.
2021-06-06Codechange: move SLF_NOT_IN_SAVE into settingsPatric Stout
It is a settings-only flag, so don't pollute SaveLoad code with it.
2021-06-06Codechange: remove the unused SLF_HEX flagPatric Stout
2021-06-06Codechange: Remove FOR_ALL_CHUNK_HANDLERSglx22
Co-Authored-By: Patric Stout <truebrain@openttd.org>
2021-06-03Codechange: rename SettingGuiFlag to SettingFlag (#9332)Patric Stout
It is a lovely organicly grown enum, where it started off with GUI-only flags, and after that a few flags got added that can be considered GUI-only (the GUI disables/enables based on them), to only have flags added that has nothing to do with the GUI. So be less confusing, and rename them to what they do. Additionally, I took this opportunity to rename 0ISDISABLED to reflect what it really does.
2021-05-31Codechange: C++-ify lists for SaveLoad (#9323)Patric Stout
Basically, this changes "SaveLoad *" to either: 1) "SaveLoadTable" if a list of SaveLoads was meant 2) "SaveLoad &" if a single entry was meant As added bonus, this removes SL_END / SLE_END / SLEG_END. This also adds core/span.hpp, a "std::span"-lite.
2021-05-30Codechange: add a wrapper function to find all settings based on prefix (#9312)Patric Stout
2021-05-30Codechange: use setting name instead of index for HandleOldDiffCustom() (#9311)Patric Stout
2021-05-29Codechange: use setting name instead of index for CmdChange(Company)Setting ↵Patric Stout
(#9306) This is mostly done as there are now constraints on settings.ini you might not expected. For example, conditional settings always have to come last, as otherwise they would influence the index.
2021-05-29Codechange: Rename window related DeleteXXX to match new behaviourglx22
2021-05-29Codechange: [Network] Use std::string in CommandPacketrubidium42
2021-05-29Codechange: move from C-string to std::string for DoCommandrubidium42
2021-05-29Codechange: rename str_validate to StrMakeValid(InPlace) (#9304)Patric Stout
This to be more explicit the function changes the value, and not returns yes/no.
2021-05-29Codechange: use separate pre and post callbacks for int settingsrubidium42
2021-05-29Codechange: use separate pre and post callbacks for string settingsrubidium42
2021-05-29Codechange: split Write_ValidateSetting to get separate functions for making ↵rubidium42
ints valid and writing ints
2021-05-29Codechange: split Write_ValidateSetting to get separate functions for making ↵rubidium42
strings valid and writing strings
2021-05-27Codechange: add helper functions to read an int setting valuerubidium42
2021-05-27Codechange: remove SettingDescType in lieu of the actual classesrubidium42
2021-05-27Codechange: let OneOfMany and ManyOfMany be their own classes as wellrubidium42
2021-05-27Codechange: make BoolSettingDesc its own sub classrubidium42
2021-05-27Cleanup: remove unneeded temporary variables and castsrubidium42
2021-05-27Codechange: move bits of SettingDesc down to the appropriate sub classesrubidium42
And by doing so remove the hack where ints were put into pointers so "def" could either be an int or a string
2021-05-27Codechange: make parsing of IniItems overridable functions of SettingDescrubidium42
2021-05-27Codechange: make Write_ValidateSetting a function of StringSettingDescrubidium42
2021-05-27Codechange: make Write_ValidateSetting a function of IntSettingDescrubidium42
2021-05-27Cleanup: use (config) formatting for console settings functionsrubidium42
2021-05-27Codechange: make formatting of values into strings a method of SettingDescrubidium42
2021-05-27Codechange: make SettingDesc an instance in the setting table to allow for ↵rubidium42
sub classes
2021-05-27Codechange: do not use SettingDescBase directly when not neededrubidium42
2021-05-27Codechange: use initializer_lists for the settings tablesrubidium42
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-27Codechange: let SettingDesc extend SettingDescBaserubidium42
2021-05-27Codechange: just pass the SettingDesc to SetSettingValue and remove ↵rubidium42
distinction between (non)company
2021-05-13Codechange: clean up C-string support from settingsrubidium42
2021-05-13Codechange: move script settings to std::stringrubidium42
2021-05-13Codechange: move passwords in settings to std::stringrubidium42
2021-05-13Change: further support for std::string in settingsrubidium42
2021-05-06Codechange: add SetDParamStr that accepts std::string&rubidium42
2021-05-05Change: [Network] Update server's NetworkServerGameInfo only when neededrubidium42
Split the updating in a "static" version that only needs to be called when a new map is loaded or some settings are changed, and a "dynamic" version that updates everything that changes regularly such as the current game date or the number of spectators.
2021-04-30Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.Peter Nelson
2021-04-27Fix: truncating strings in settings could leave invalid Utf8 charactersrubidium42
2021-04-27Codechange: writing and string validation to its own functionsrubidium42
2021-04-27Feature: allow non-ASCII currency separatorsrubidium42
2021-04-11Fix: Invalidate cached vehicle colourmaps when changing liveries setting. ↵PeterN
(#9006)
2021-03-26Feature: setting to indicate snow coverage for arctic climate (replaces snow ↵Patric Stout
line height) Setting the snow coverage (in % of the map) makes a lot more sense to the human, while still allowing the niche player to set (by finding the correct %) a snow line height they like. This makes for easier defaults, as it decoupled terrain height from amount of snow. Maps can never be 100% snow, as we do not have sprites for coastal tiles. Internally, this calculates the best snow line height to approach this coverage as close as possible.
2021-03-13Feature: allow setting maximum zoom level at which sprites are drawn (#8604)Matt Kimber
2021-02-17Codechange: Allow early-load settings that are not misc settings.Michael Lutz
2021-02-14Add: [OSX] Native font rendering without using FreeType.Michael Lutz