Peter Nelson
56085be9bd
Codechange: Move includes for common STL headers to stdafx.
2023-05-17 10:14:41 +01:00
Michael Lutz
72c7536325
Codechange: Use a dedicated variable for disaster vehicle action state. ( #10798 )
2023-05-12 21:41:36 +02:00
Peter Nelson
7ccdefa1c1
Change: Increase vehicle random data from 8 to 16 bits.
2023-05-04 21:42:28 +01:00
PeterN
ce046f6d17
Fix: Abort loading savegame if road vehicle is on invalid road type. ( #10622 )
...
This can happen if NewGRFs are missing so that engine or road type definitions are wrong.
2023-04-10 19:23:18 +01:00
Rubidium
9c70c38c5e
Fix: check for the existence of shadow and rotor vehicles for aircraft
...
Instead of just assuming that it exists in the savegame that got loaded.
2023-01-14 21:15:23 +01:00
Nicolas Chappe
f8a7b76675
Fix #9665 : [Linkgraph] Fix travel times of non-direct journeys
2022-10-29 18:39:03 +02:00
Niels Martin Hansen
e68bf58989
Codechange: Use anonymous union for vehicle orders/old orders list
2022-02-15 20:01:10 +01:00
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
3826703bc3
Add: store headers for chunks with SL_STRUCTLIST
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
4e4720f217
Codechange: remove the special station/vehicle code from SaveLoad
...
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-14 21:58:05 +02:00
Patric Stout
8f323855b1
Codechange: rename SL_LST to SL_REFLIST to highlight the "reference" part
...
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-10 19:18:24 +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
Michael Lutz
7da224d29d
Fix #8589 , 653e7fa548: Motion counter is NewGRF-visible but not saved, leading to desyncs. ( #8591 )
2021-01-18 21:11:38 +01:00
Matt Kimber
40d5fe1631
Fix eeb88e8: Trains reversed while paused do not correctly update sprite bounds ( #8540 )
2021-01-17 19:57:16 +01:00
Matt Kimber
9b28b15e67
Codechange: create MutableSpriteCache to remove the need to cast Vehicle to a mutable type in render methods
2021-01-05 11:42:25 +01:00
Michael Lutz
63ccb36ef3
Codechange: Use std::string for most of the user-settable custom names.
2020-05-21 20:02:34 +02:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
PeterN
6c6971fb43
Add: Road vehicle path cache. ( #7261 )
2019-03-08 23:52:45 +00:00
Peter Nelson
33e3f49161
Fix #7119 : When rotating a ship, apply an additional offset to avoid movement glitch.
2019-02-04 00:19:48 +00:00
Peter Nelson
e21ade375e
Codechange: Change from numeric to descriptive SLV enum labels for last entries.
2019-02-02 21:39:06 +00: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
Peter Nelson
67633606b0
Codechange: Remove value mangling and field misuse in SLE_WRITEBYTE.
...
The original translation functionality hasn't been used since 2007.
2019-01-30 17:11:40 +00:00
Peter Nelson
225790892d
Change: Make ships stop and change direction slowly instead of instantly turning.
2019-01-24 20:47:40 +00:00
Peter Nelson
81330b8d6e
Change: Add path cache for ships.
2019-01-19 23:11:17 +00:00
PeterN
a07394a63a
Change: Remove direction parameter from Vehicle::UpdateDeltaXY. ( #6792 )
...
The value is either unused or always the same as this->direction.
2018-05-22 18:43:34 +01:00
J0an Josep
cfb8092397
Fix b4b98e5165: Use FALLTHROUGH attribute with correct indentation.
2018-04-30 21:52:40 +02:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
peter1138
19d56a33e8
(svn r27822) -Feature: Vehicle Group Info: Add profits and occupancy display to group vehicle list (mtm, JGR)
2017-03-24 07:33:31 +00:00
frosch
117e73751c
(svn r27668) -Feature: [NewGRF] Allow composing vehicles from multiple sprites.
2016-10-16 14:59:44 +00:00
frosch
d2393b4f6c
(svn r27666) -Codechange: Pass vehicle sprites around using a struct VehicleSpriteSeq.
2016-10-16 14:57:56 +00:00
rubidium
51a1c712f2
(svn r26872) -Change: give the disaster vehicles the same treatment as aircraft in r26866; make the ascend and descend if needed to cross high mountains (based on patch by ic111)
2014-09-21 11:12:42 +00:00
rubidium
c0771b1657
(svn r26866) -Change: make aircraft ascend/descend when they are too close to the ground or too far away (based on patch by ic111)
2014-09-21 06:35:34 +00:00
rubidium
9e0f4b3847
(svn r26864) -Codechange: bring a bit more OO into the disaster vehicles
2014-09-20 15:46:44 +00:00
rubidium
6c2abf0930
(svn r26863) -Codechange: move a number of Vehicle* functions into the Vehicle class
2014-09-20 15:31:26 +00:00
rubidium
ad64b99eb0
(svn r26636) -Fix [FS#6026-ish]: (memory) size of variables saved for disaster vehicles was not correct in saveload description
2014-06-09 17:42:48 +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
frosch
41b7a04a68
(svn r26317) -Fix [FS#5897]: Check whether NewGRF change vehicle capacity when they are not supposed to, and truncate cargo appropiately if they are allowed to.
2014-02-07 23:48:56 +00:00
rubidium
3947453277
(svn r25259) -Codechange: track capacities and usage of links
2013-05-19 14:22:04 +00:00
frosch
22bb015f3d
(svn r25041) -Remove [FS#3764-ish]: ordered refit with subtypes, since the cases where it worked were corner cases rather than the general case.
2013-02-24 16:41:51 +00:00
rubidium
cdb0a76958
(svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load improved loading) instead of calculating if for every cycle
2013-02-17 14:54:50 +00:00