summaryrefslogtreecommitdiff
path: root/src/saveload/misc_sl.cpp
AgeCommit message (Collapse)Author
2021-07-06Cleanup: Remove now unneeded ChunkHandler membersglx22
2021-07-06Codechange: Use ChunkHandlers sub-classesglx22
2021-07-06Codechange: Use static array of references to ChunkHandlerglx22
2021-07-02Add: store headers for most savegame chunksPatric Stout
When a header is added, the chunk changes from CH_ARRAY type to CH_TABLE type.
2021-07-02Feature: framework to make savegames self-descriptivePatric 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-15Change: rework several CH_RIFF chunks to use CH_ARRAY insteadPatric Stout
This adds two byte extra to those chunks, and might feel a bit silly at first. But in later changes we will prefix CH_ARRAY with a table header, and then this change shines. Without this, we could still add headers to these chunks, but any external reader wouldn't know if the CH_RIFF has them or not. This way is much more practical, as they are now more like any other chunk.
2021-06-06Codechange: Remove FOR_ALL_CHUNK_HANDLERSglx22
Co-Authored-By: Patric Stout <truebrain@openttd.org>
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-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2020-07-27Codechange: Spell 'Viewport' consistentlyTechGeekNZ
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'. This patch makes everything consistent.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-29Codechange: Set ZoomLevel's base type to byte instead of using ZoomLevelByteCharles Pigott
2019-04-13Cleanup: Fix alignment after NULL -> nullptr change.peter1138
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-02-02Codechange: Convert saveload numbers to enum values.Peter Nelson
(This was mostly achieved with a few in-place regexes)
2019-02-02Codechange: Make saveload version upper bound exclusive, i.e. version object ↵Peter Nelson
was removed instead of version object last appeared.
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2012-01-03(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp filesrubidium
2011-11-24(svn r23316) -Feature: Add ability to zoom in to 2x and 4x level.peter1138
2011-11-24(svn r23314) -Add: Add settings to restrict viewport zoom levels.peter1138
2011-08-03(svn r22713) -Feature: [NewGRF] Per vehicle custom cargo ageing period.michi_cc
2011-01-22(svn r21890) -Cleanup: remove some unneeded includesrubidium
2011-01-15(svn r21802) -Cleanup (r2600): remove unused _vehicle_id_ctr_daysmatz
2010-11-21(svn r21284) -Codechange: Rename CheckSavegameVersion() to ↵alberth
IsSavegameVersionBefore().
2010-08-26(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to ↵rubidium
some headers
2010-07-19(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be ↵rubidium
missed :)
2010-07-19(svn r20184) -Codechange: make _trees_tick_ctr and _disaster_delay not use ↵rubidium
VARDEF and put them in a more logical location
2010-06-13(svn r19977) -Add: Read current date during SL_LOAD_CHECK.frosch
2010-06-13(svn r19973) -Codechange: Add another procedure to chunk handlers for ↵frosch
checking savegames (empty for now).
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-12-02(svn r18384) -Fix (r18351): attempt to 'work around' MSVC's IMO stupid warningrubidium
2009-11-30(svn r18351) -Fix [FS#3333]: endianness issue with saving the zoom levelrubidium
2009-10-04(svn r17693) -Cleanup: remove some unneeded includesrubidium
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-05-17(svn r16338) -Codechange: split loading of references to two phasessmatz
In the first phase, indexes are stored. In the second phase, indexes are checked for validity and converted to pointers
2009-05-17(svn r16330) -Fix (r16329): we were shortly visited by Mr. Kenobi.rubidium
2009-05-17(svn r16329) -Fix: possible desync when removing lots of towns in-game (not ↵rubidium
that we allow removing towns now, but better not have desync prone code lingering around)
2009-05-17(svn r16328) -Fix: desync when removing lots of stationsrubidium
2009-05-06(svn r16242) -Codechange: rework pausingrubidium
-Fix [FS#2864]: autopause and manual pausing conflict with eachother -Fix: new game + pause on new game + autopause make the game not unpause on the first join
2009-02-25(svn r15584) -Codechange: Move several variables from variables.h to more ↵yexo
appropriate headers.
2009-01-31(svn r15299) -Cleanup: remove many redundant includessmatz
2009-01-13(svn r15075) -Fix: store _next_competitor_start as uint32, else it might ↵truebrain
overflow for values > 2.4 years
2009-01-04(svn r14828) -Codechange: move most of save/load-specific code to separate filessmatz