Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-06 | Cleanup: Remove now unneeded ChunkHandler members | glx22 | |
2021-07-06 | Codechange: Use ChunkHandlers sub-classes | glx22 | |
2021-07-06 | Codechange: Use static array of references to ChunkHandler | glx22 | |
2021-07-02 | Add: store headers for chunks with SL_STRUCTLIST | Patric Stout | |
2021-07-02 | Add: store headers for most savegame chunks | Patric Stout | |
When a header is added, the chunk changes from CH_ARRAY type to CH_TABLE type. | |||
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-15 | Codechange: mark chunks that are not stored as CH_READONLY | Patric Stout | |
This makes it easier to spot chunks that have a save_proc that is a nullptr, but also prevents confusion, where it looks like the CH_ type of a chunk has influence on how it is being read. It is not, it is only used for saving. | |||
2021-06-15 | Change: store length of SL_STRUCTLIST in the savegame | Patric Stout | |
This wasn't consistently done, and often variables were used that were read by an earlier blob. By moving it next to the struct itself, the code becomes a bit more self-contained and easier to read. Additionally, this allows for external tooling to know how many structs to expect, instead of having to know where to find the length-field or a hard-coded value that can change at any moment. | |||
2021-06-14 | Codechange: use as much of STNN code for STNS as possible | Patric Stout | |
There was a lot of code duplication for no real reason. Now with SLEG_STRUCT support, we can just re-use the code, hopefully making it easier for future-us to make changes to this, without breaking everything for old games. | |||
2021-06-14 | Codechange: use SLE_STRUCT(LIST) for Station chunks | Patric Stout | |
2021-06-14 | Codechange: remove the special station/vehicle code from SaveLoad | Patric Stout | |
With the new SLEG_STRUCT it is much easier to embed a struct in a struct, where the sub-struct has limitations on when it is being used. This makes both the code easier to read (less magic) and avoids the SaveLoad needing to know all these things about Stations and Vehicles. | |||
2021-06-10 | Codechange: rename SL_LST to SL_REFLIST to highlight the "reference" part | Patric Stout | |
You can easily mistake SlList / SL_LST to be a list of SL_VAR, but it is a list of SL_REF. With this rename, it hopefully saves a few people from "wtf?" moments. | |||
2021-06-06 | Codechange: Remove FOR_ALL_CHUNK_HANDLERS | glx22 | |
Co-Authored-By: Patric Stout <truebrain@openttd.org> | |||
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-13 | Codechange: Replace TILE_AREA_LOOP with range-based for loops | glx22 | |
2020-05-21 | Codechange: Use std::string for most of the user-settable custom names. | Michael Lutz | |
2020-05-06 | Fix #8021: limit savegame range for docking tiles fixing | glx | |
2020-03-30 | Fix #8020: Add missing docking tiles around industry neutral stations | SamuXarick | |
2019-12-21 | Codechange: Replace FOR_ALL_ROADSTOPS with range-based for loops | glx | |
2019-12-21 | Codechange: Replace vehicle related FOR_ALL with range-based for loops | glx | |
2019-12-21 | Codechange: Replace order related FOR_ALL with range-based for loops | glx | |
2019-12-21 | Codechange: Replace station related FOR_ALL with range-based for loops | glx | |
2019-11-10 | Cleanup: Removed SVN headers | S. D. Cloudt | |
2019-06-30 | Feature: Multi-tile docks and docking points. | peter1138 | |
2019-04-13 | Cleanup: Fix alignment after NULL -> nullptr change. | peter1138 | |
2019-04-10 | Codechange: Use null pointer literal instead of the NULL macro | Henry Wilson | |
2019-02-02 | Codechange: Change from numeric to descriptive SLV enum labels for last entries. | Peter Nelson | |
2019-02-02 | Codechange: Convert saveload numbers to enum values. | Peter Nelson | |
(This was mostly achieved with a few in-place regexes) | |||
2019-02-02 | Codechange: Make saveload version upper bound exclusive, i.e. version object ↵ | Peter Nelson | |
was removed instead of version object last appeared. | |||
2019-01-30 | Codechange: Remove value mangling and field misuse in SLE_WRITEBYTE. | Peter Nelson | |
The original translation functionality hasn't been used since 2007. | |||
2018-09-02 | Feature: [NewGRF] Increase size of persistent storage to 256. | Michael Lutz | |
2018-06-26 | Change: Increase cargo type limit to 64. | PeterN | |
2017-03-05 | (svn r27770) -Fix [FS#6540]: Initialize variables in station_sl.cpp (JGR) | fonsinchen | |
2014-09-21 | (svn r26878) -Change: move m6 to TileExtended to keep Tile 8 bytes and thus ↵ | rubidium | |
better alignable | |||
2014-08-22 | (svn r26753) -Fix: desync due to not always properly restoring game state ↵ | rubidium | |
from the savegame | |||
2014-05-11 | (svn r26580) -Codechange: s/GES_PICKUP/GES_RATING/ (it has nothing to do ↵ | rubidium | |
with actual pickup), s/acceptance_pickup/status/ (the enum isn't called GoodEntryStatus for a reason; it's not only acceptance and pickup anymore) | |||
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 | |||
2013-12-23 | (svn r26175) -Add: Log in desync output when persistent storage is discarded. | frosch | |
2013-11-23 | (svn r26057) -Fix: a number of possibly uninitialised variables | rubidium | |
2013-10-22 | (svn r25899) -Change: Restrict flows if links are restricted and don't ↵ | fonsinchen | |
normally pick them anymore. | |||
2013-06-09 | (svn r25362) -Feature: consider cargo waiting at other stations for rating ↵ | fonsinchen | |
at the origin station | |||
2013-06-09 | (svn r25361) -Feature: distribute cargo according to plan given by linkgraph | fonsinchen | |
2013-06-09 | (svn r25360) -Codechange: save and load flow stats | fonsinchen | |
2013-06-08 | (svn r25337) -Fix: saving only 8 bits of 16 causes endianness problems | fonsinchen | |
2013-06-01 | (svn r25312) -Fix-ish: missing spaces after comma + realignment of tables; ↵ | rubidium | |
quite boring with -x -w | |||
2013-02-17 | (svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load ↵ | rubidium | |
improved loading) instead of calculating if for every cycle | |||
2013-01-11 | (svn r24905) -Feature(ish): Implement station randomisation triggers. | peter1138 | |
2012-11-12 | (svn r24718) -Codechange: Rename GoodsEntry::days_since_pickup to ↵ | frosch | |
GoodsEntry::time_since_pickup. | |||
2012-01-03 | (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files | rubidium | |
2011-12-19 | (svn r23636) -Add: introduce ScriptText in parameters where it can be used | truebrain | |