glx22
6e627f35ac
Cleanup: Remove now unneeded ChunkHandler members
2021-07-06 22:29:08 +02:00
glx22
2c941cd8b3
Codechange: Use ChunkHandlers sub-classes
2021-07-06 22:29:08 +02:00
glx22
c1a9fe6fbd
Codechange: Use static array of references to ChunkHandler
2021-07-06 22:29:08 +02:00
Patric Stout
cdb3dd0493
Add: store headers for most savegame chunks
...
When a header is added, the chunk changes from CH_ARRAY type to
CH_TABLE type.
2021-07-02 22:21:58 +02:00
Patric Stout
7dd5fd6ed4
Feature: framework to make savegames self-descriptive
...
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-07-02 22:21:58 +02:00
Patric Stout
88edfd4ef1
Change: rework several CH_RIFF chunks to use CH_ARRAY instead
...
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-15 19:36:15 +02:00
glx22
c27afdf3f6
Codechange: Remove FOR_ALL_CHUNK_HANDLERS
...
Co-Authored-By: Patric Stout <truebrain@openttd.org>
2021-06-06 19:35:06 +02:00
Patric Stout
9fff00ba20
Codechange: C++-ify lists for SaveLoad ( #9323 )
...
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 22:26:44 +02:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
TechGeekNZ
a10013dd00
Codechange: Spell 'Viewport' consistently
...
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Charles Pigott
96a4787710
Codechange: Set ZoomLevel's base type to byte instead of using ZoomLevelByte
2019-04-29 17:40:22 +01:00
peter1138
4f052fc2a4
Cleanup: Fix alignment after NULL -> nullptr change.
2019-04-13 20:35:10 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Peter Nelson
9de12521ec
Codechange: Convert saveload numbers to enum values.
...
(This was mostly achieved with a few in-place regexes)
2019-02-02 21:39:06 +00:00
Peter Nelson
ea4ea62816
Codechange: Make saveload version upper bound exclusive, i.e. version object was removed instead of version object last appeared.
2019-02-02 21:39:06 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
peter1138
81598273e9
(svn r23316) -Feature: Add ability to zoom in to 2x and 4x level.
2011-11-24 12:38:48 +00:00
peter1138
4e97261315
(svn r23314) -Add: Add settings to restrict viewport zoom levels.
2011-11-24 12:20:14 +00:00
michi_cc
08b7981f37
(svn r22713) -Feature: [NewGRF] Per vehicle custom cargo ageing period.
2011-08-03 20:55:08 +00:00
rubidium
7eba2bf4d3
(svn r21890) -Cleanup: remove some unneeded includes
2011-01-22 14:52:20 +00:00
smatz
2709454040
(svn r21802) -Cleanup (r2600): remove unused _vehicle_id_ctr_day
2011-01-15 14:20:34 +00:00
alberth
3e27739287
(svn r21284) -Codechange: Rename CheckSavegameVersion() to IsSavegameVersionBefore().
2010-11-21 12:47:04 +00:00
rubidium
30f2afac9b
(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers
2010-08-26 22:01:16 +00:00
rubidium
b8487afe54
(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :)
2010-07-19 17:28:27 +00:00
rubidium
3bb544e54d
(svn r20184) -Codechange: make _trees_tick_ctr and _disaster_delay not use VARDEF and put them in a more logical location
2010-07-19 15:51:06 +00:00
frosch
86244ad31e
(svn r19977) -Add: Read current date during SL_LOAD_CHECK.
2010-06-13 14:14:20 +00:00
frosch
62ac138154
(svn r19973) -Codechange: Add another procedure to chunk handlers for checking savegames (empty for now).
2010-06-13 14:11:59 +00:00
rubidium
82fc28f77f
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
2010-01-15 16:41:15 +00:00
rubidium
429f3993f8
(svn r18384) -Fix (r18351): attempt to 'work around' MSVC's IMO stupid warning
2009-12-02 18:14:34 +00:00
rubidium
5a41a646c2
(svn r18351) -Fix [FS#3333]: endianness issue with saving the zoom level
2009-11-30 11:29:52 +00:00
rubidium
d6cded5380
(svn r17693) -Cleanup: remove some unneeded includes
2009-10-04 17:16:41 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
smatz
570af0ce44
(svn r16338) -Codechange: split loading of references to two phases
...
In the first phase, indexes are stored. In the second phase, indexes are checked for validity and converted to pointers
2009-05-17 16:28:29 +00:00
rubidium
b23c967230
(svn r16330) -Fix (r16329): we were shortly visited by Mr. Kenobi.
2009-05-17 10:59:40 +00:00
rubidium
f457cff73c
(svn r16329) -Fix: possible desync when removing lots of towns in-game (not that we allow removing towns now, but better not have desync prone code lingering around)
2009-05-17 10:35:13 +00:00
rubidium
6b2f9e8c9e
(svn r16328) -Fix: desync when removing lots of stations
2009-05-17 10:19:00 +00:00
rubidium
2664f2a2d9
(svn r16242) -Codechange: rework pausing
...
-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-05-06 15:06:57 +00:00
yexo
fb7b0536e7
(svn r15584) -Codechange: Move several variables from variables.h to more appropriate headers.
2009-02-25 21:45:14 +00:00
smatz
0d3f5e6e74
(svn r15299) -Cleanup: remove many redundant includes
2009-01-31 20:16:06 +00:00
truebrain
89da8820e5
(svn r15075) -Fix: store _next_competitor_start as uint32, else it might overflow for values > 2.4 years
2009-01-13 21:32:47 +00:00
smatz
7368c740a6
(svn r14828) -Codechange: move most of save/load-specific code to separate files
2009-01-04 15:32:25 +00:00