Age | Commit message (Collapse) | Author | |
---|---|---|---|
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-17 | Cleanup: simplify some boolean expressions | Rubidium | |
2021-06-17 | Cleanup: [Script] Use nullptr instead of 0 or NULL | Rubidium | |
2021-06-15 | Change: prefix SL_ARR with the length of the array | Patric Stout | |
This means that during loading we can validate that what is saved is also that what is expected. Additionally, this makes all list types similar to how they are stored on disk: First a gamma to indicate length, followed by the data. The size still depends on the type. | |||
2021-06-15 | Cleanup: remove some unneeded c_str() calls | Rubidium | |
2021-06-13 | Codechange: convert printf DEBUG statements to fmt Debug statements | rubidium42 | |
2021-06-13 | Codechange: make the name of SettingDesc a std::string | rubidium42 | |
2021-06-12 | Fix #9353: [Script] Garbage collecting on priority queues could crash the game | rubidium42 | |
2021-06-11 | Fix 4079c47: Missed a file when removing generated .sq files from the repo ↵ | Loïc Guilloux | |
(#9350) | |||
2021-06-11 | Fix: [Script] doxygen_filter is very strict about DOXYGEN_API usage (#9351) | Loïc Guilloux | |
2021-06-10 | Fix: [Script] Ensure the saved script strings are properly validated and ↵ | rubidium42 | |
terminated when being read from the savegame | |||
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-06-03 | Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways ↵ | Patric Stout | |
we had While at it, replace OTTD_ASSERT with WITH_ASSERT, as this is always set if assert() is valid. No matter if NDEBUG is set or not. | |||
2021-05-31 | Codechange: 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-31 | Codechange: use AsIntSetting()->Read() wrapper if possible (#9324) | Patric Stout | |
2021-05-30 | Codechange: [Network] Let admin-game script use std::string | rubidium42 | |
2021-05-30 | Codechange: [Game] Pass the length instead of '\0' terminating (and undoing ↵ | rubidium42 | |
that) in the middle of a C-string | |||
2021-05-29 | Codechange: 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-29 | Codechange: Rename window related DeleteXXX to match new behaviour | glx22 | |
2021-05-29 | Codechange: move from C-string to std::string for DoCommand | rubidium42 | |
2021-05-29 | Codechange: move casting a "const char *" to "char *" to the caller | Patric Stout | |
It is not nice to have your definition say you won't change a value while in fact the whole reason for your existance is to change it. | |||
2021-05-29 | Fix: ScriptObject::DoCommand could modify "text" while defined "const" | Patric Stout | |
This could have unwanted side-effects, as it could change the source for ever and ever. | |||
2021-05-29 | Codechange: 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-27 | Codechange: remove SettingDescType in lieu of the actual classes | rubidium42 | |
2021-05-27 | Codechange: let SettingDesc extend SettingDescBase | rubidium42 | |
2021-05-27 | Codechange: just pass the SettingDesc to SetSettingValue and remove ↵ | rubidium42 | |
distinction between (non)company | |||
2021-05-16 | Codechange: [Network] Let NetworkClientInfo use std::string | rubidium42 | |
2021-05-15 | Change: Use gender-neutral pronouns | rubidium42 | |
2021-05-13 | Codechange: clean up C-string support from settings | rubidium42 | |
2021-05-13 | Codechange: move script settings to std::string | rubidium42 | |
2021-05-13 | Codechange: make explicit that virtual functions in a con/destructor are ↵ | Rubidium | |
resolved statically This as during construction the sub class has not been initialized yet, and during destruction the sub class has already been destroyed, so the overriding virtual function would be accessing uninitialized data. | |||
2021-05-13 | Codechange: Replace TILE_AREA_LOOP with range-based for loops | glx22 | |
2021-05-08 | Change: Use gender-neutral pronouns in console command messages (and ↵ | William Davis | |
comments) (#9203) | |||
2021-05-03 | Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loops | glx22 | |
2021-05-03 | Codechange: Replace FOR_ALL_TARS with range-based for loops | glx22 | |
2021-04-29 | Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops | glx22 | |
2021-04-29 | Fix: [MinGW] Set minimum OS version to Windows XP (#9135) | Loïc Guilloux | |
2021-04-22 | Codechange: Replace CMD_SET_GROUP_REPLACE_PROTECTION with generic ↵ | peter1138 | |
CMD_SET_GROUP_FLAG. | |||
2021-04-22 | Codechange: Replace Group::replace_protection with Group::flags | peter1138 | |
2021-04-17 | Fix #6322: [Script] Try to let the script die when no memory can be ↵ | Rubidium | |
allocated instead of crashing the whole game | |||
2021-04-17 | Change: [Script] Let Script_FatalError use std::string instead of const char * | Rubidium | |
2021-03-14 | Change: Heading for 1.12 now (#8862) | Patric Stout | |
2021-02-26 | Fix 02e770ff: allow estimating CloneVehicle if short on money (#8748) | Patric Stout | |
CheckCompanyHasMoney() was also executed when not using DC_EXEC, resulting in an error about shortage of money instead of the estimation. This mostly is a problem for AI players, as they will have no way to know how much it would have cost. | |||
2021-02-14 | Feature: [GS] Allow non-question type windows to have no buttons | dP | |
2021-01-22 | Feature: Allow GameScripts to add additional text to Industry view window | dP | |
2021-01-22 | Feature: Add tile parameter for GSCompany.ChangeBankBalance to show text ↵ | Pavel Stupnikov | |
effect if needed (#8573) | |||
2021-01-10 | Fix 218f40e: Warning about 32-bit shift implicitly converted to 64 bits | SamuXarick | |
2021-01-09 | Add: [Script] ScriptCargo::GetName, to get the human readable name of a ↵ | Patric Stout | |
cargo (#8544) Of course this translates into AICargo.GetName() for AIs and GSCargo.GetName() for GameScripts. | |||
2021-01-08 | Codechange: Remove min/max functions in favour of STL variants (#8502) | Charles Pigott | |
2020-12-28 | Fix #8453: [Script] Don't truncate loan variation to 32bit | glx22 | |