Patric Stout
ed83c4b0da
Change: replace per-AI "start_date" with a global "competitors_interval" ( #10653 )
...
The per-AI "start_date" is a lot of custom code, and was rarely
used in the way it was meant.
While at it, also ported this part over to the new timer system.
1 year ago
Rubidium
bcfe0fb076
Codechange: introduce GetMainWindow() to properly account for nullptr checks
...
Some nullptr checks have been removed as they were not triggered with nullptr
with the null video driver and in dedicated server mode.
1 year ago
dP
548f0496a9
Change: Make _tick_counter 64bit to avoid wrapping ( #10035 )
2 years ago
glx22
6e627f35ac
Cleanup: Remove now unneeded ChunkHandler members
3 years ago
glx22
2c941cd8b3
Codechange: Use ChunkHandlers sub-classes
3 years ago
glx22
c1a9fe6fbd
Codechange: Use static array of references to ChunkHandler
3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
glx22
c27afdf3f6
Codechange: Remove FOR_ALL_CHUNK_HANDLERS
...
Co-Authored-By: Patric Stout <truebrain@openttd.org>
3 years ago
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.
3 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
3 years ago
TechGeekNZ
a10013dd00
Codechange: Spell 'Viewport' consistently
...
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
4 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
Charles Pigott
96a4787710
Codechange: Set ZoomLevel's base type to byte instead of using ZoomLevelByte
5 years ago
peter1138
4f052fc2a4
Cleanup: Fix alignment after NULL -> nullptr change.
5 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
5 years ago
Peter Nelson
9de12521ec
Codechange: Convert saveload numbers to enum values.
...
(This was mostly achieved with a few in-place regexes)
5 years ago
Peter Nelson
ea4ea62816
Codechange: Make saveload version upper bound exclusive, i.e. version object was removed instead of version object last appeared.
5 years ago
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
10 years ago
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
13 years ago
peter1138
81598273e9
(svn r23316) -Feature: Add ability to zoom in to 2x and 4x level.
13 years ago
peter1138
4e97261315
(svn r23314) -Add: Add settings to restrict viewport zoom levels.
13 years ago
michi_cc
08b7981f37
(svn r22713) -Feature: [NewGRF] Per vehicle custom cargo ageing period.
13 years ago
rubidium
7eba2bf4d3
(svn r21890) -Cleanup: remove some unneeded includes
14 years ago
smatz
2709454040
(svn r21802) -Cleanup (r2600): remove unused _vehicle_id_ctr_day
14 years ago
alberth
3e27739287
(svn r21284) -Codechange: Rename CheckSavegameVersion() to IsSavegameVersionBefore().
14 years ago
rubidium
30f2afac9b
(svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers
14 years ago
rubidium
b8487afe54
(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :)
14 years ago
rubidium
3bb544e54d
(svn r20184) -Codechange: make _trees_tick_ctr and _disaster_delay not use VARDEF and put them in a more logical location
14 years ago
frosch
86244ad31e
(svn r19977) -Add: Read current date during SL_LOAD_CHECK.
14 years ago
frosch
62ac138154
(svn r19973) -Codechange: Add another procedure to chunk handlers for checking savegames (empty for now).
14 years ago
rubidium
82fc28f77f
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
15 years ago
rubidium
429f3993f8
(svn r18384) -Fix (r18351): attempt to 'work around' MSVC's IMO stupid warning
15 years ago
rubidium
5a41a646c2
(svn r18351) -Fix [FS#3333]: endianness issue with saving the zoom level
15 years ago
rubidium
d6cded5380
(svn r17693) -Cleanup: remove some unneeded includes
15 years ago
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
15 years ago
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
15 years ago
rubidium
b23c967230
(svn r16330) -Fix (r16329): we were shortly visited by Mr. Kenobi.
15 years ago
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)
15 years ago
rubidium
6b2f9e8c9e
(svn r16328) -Fix: desync when removing lots of stations
15 years ago
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
15 years ago
yexo
fb7b0536e7
(svn r15584) -Codechange: Move several variables from variables.h to more appropriate headers.
15 years ago
smatz
0d3f5e6e74
(svn r15299) -Cleanup: remove many redundant includes
16 years ago
truebrain
89da8820e5
(svn r15075) -Fix: store _next_competitor_start as uint32, else it might overflow for values > 2.4 years
16 years ago
smatz
7368c740a6
(svn r14828) -Codechange: move most of save/load-specific code to separate files
16 years ago