summaryrefslogtreecommitdiff
path: root/src/settings_internal.h
AgeCommit message (Collapse)Author
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-27Codechange: make formatting of values into strings a method of SettingDescrubidium42
2021-05-27Codechange: make sub classes of SettingDesc for the different types of settingsrubidium42
2021-05-27Codechange: make SettingDesc an instance in the setting table to allow for ↵rubidium42
sub classes
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-27Cleanup: remove and/or fix some confusing commentsrubidium42
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-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-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-02-17Codechange: Allow early-load settings that are not misc settings.Michael Lutz
2020-05-21Codechange: Store base set related texts in std::strings.Michael Lutz
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-29Codechange: Set size of SettingGuiFlag & SettingDescType enums, and use them ↵Charles Pigott
properly
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2012-12-26(svn r24862) -Add: Settings type filter to adv. settings GUI.frosch
2012-12-26(svn r24860) -Codechange: Add SettingDesc::GetType().frosch
2012-12-05(svn r24787) -Fix: Unify checks for editability of settings.frosch
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 filesalberth
2012-05-12(svn r24233) -Codechange: Rename 'val_str' to 'str_val' to better match with ↵alberth
'strval' in the ini files.
2012-05-06(svn r24210) -Feature: Split the renew-months setting text in two string ↵alberth
values (one before life time and one after).
2012-05-06(svn r24209) -Cleanup: Remove now unused SGF_NOCOMMA value.alberth
2012-01-03(svn r23735) -Codechange: remove ~50 includes from headers that weren't neededrubidium
2011-07-03(svn r22626) -Fix [FS#4622]: Also initialise _old_vds with newgame settings; ↵frosch
TTD savegames do not contain these settings.
2011-05-29(svn r22522) -Fix (r22489): (size_t)(uint32)(-1) != (size_t)-1frosch
2011-03-06(svn r22210) -Add: Add a variable for the value strings in the settings tables.alberth
2010-12-22(svn r21593) -Codechange: endif comment correcttions.alberth
2010-12-11(svn r21467) -Doc: Add a few doxygen comments to config file settings code.alberth
2010-08-01(svn r20286) -Codechange: Unify end of doxygen comments.frosch
2010-08-01(svn r20283) -Codechange: Unify start of doygen comments.frosch
2010-05-20(svn r19865) -Fix [FS#3830]: crash when changing locale settings from ↵rubidium
console due to strcpy-ing a string into a pointer
2010-03-23(svn r19507) -Codechange: remove semicolon after DECLARE_POSTFIX_INCREMENT ↵smatz
and DECLARE_ENUM_AS_BIT_SET
2010-01-28(svn r18943) -Feature [FS#2885]: make it possible to change newgame settings ↵yexo
from within a game via the console (use setting_newgame instead of setting)
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2009-09-26(svn r17644) -Fix [FS#3219]: some inconsistencies with the difficulty ↵rubidium
settings in the scenario editor. Also re-enable changing some difficulty settings (e.g. max loan) in the scenario editor.
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-05-26(svn r16439) -Change: Make the default vehicle servicing settings ↵yexo
company-based settings, so in a multiplayer game everyone can change them.