summaryrefslogtreecommitdiff
path: root/src/cargopacket.h
AgeCommit message (Collapse)Author
2021-06-14Codechange: use SLE_STRUCT(LIST) for Station chunksPatric Stout
2021-06-14Codechange: remove the special station/vehicle code from SaveLoadPatric 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-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.
2020-06-07Cleanup: Correct typographic errors in code comments.TechGeekNZ
2020-06-05Cleanup: StationCargoList::AreMergable doxygen comment references Vehicle ↵TechGeekNZ
instead of Station.
2019-12-21Codechange: Replace FOR_ALL_CARGOPACKETS with range-based for loopsglx
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-09-29Fix: Some typos found using codespellJMcKiern
2019-04-29Codechange: Remove SourceTypeByte typeCharles Pigott
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2014-06-21(svn r26660) -Fix: CargoPacket::SourceStation() returns a StationID.fonsinchen
2014-02-09(svn r26327) -Fix [FS#5901]: Take care of next_station when reassigning from ↵fonsinchen
MTA_DELIVER to MTA_TRANSFER.
2013-10-22(svn r25900) -Change [FS#5677]: Allow restricted flows to be picked for kept ↵fonsinchen
cargo.
2013-10-20(svn r25891) -Feature: Use smallstack to allow for multiple next hops when ↵fonsinchen
loading and unloading.
2013-06-23(svn r25434) -Fix: reroute cargo staged for unloading if a link breaksfonsinchen
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 linkgraphfonsinchen
2013-04-13(svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() ↵frosch
and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen)
2013-02-17(svn r25013) -Feature: show the amount of cargo that has already been ↵rubidium
reserved by full loading vehicles in the station (fonsinchen)
2013-02-17(svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load ↵rubidium
improved loading) instead of calculating if for every cycle
2013-02-17(svn r25010) -Codechange: Add general framework for cargo actions, i.e. ↵rubidium
loading, transfering, delivering and such, to contain this logic in a single place instead of spread around (fonsinchen)
2013-02-17(svn r25009) -Codechange: refactor bits of cargo packet (lists) to reduce ↵rubidium
duplicated code (fonsinchen)
2013-02-17(svn r25008) -Codechange: Make CargoList::Truncate behave similarly to ↵rubidium
CargoList::MoveTo, i.e. pass the amount to truncate (fonsinchen)
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2011-12-20(svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the ↵truebrain
others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC)
2011-05-21(svn r22482) -Codechange: Add some contants for the number of ticks between ↵frosch
certain cyclical tasks.
2011-02-19(svn r22116) -Codechange: use PoolBase::Clean() at more placessmatz
2011-02-19(svn r22111) -Codechange/fix-ish: upon cleaning a pool a destructor should ↵rubidium
not delete items from other pools
2011-01-19(svn r21849) -Codechange: move merging/splitting of cargopackets into a ↵rubidium
helper function (fonsinchen)
2011-01-19(svn r21848) -Codechange: unification of comment style for cargopacket.*rubidium
2011-01-18(svn r21844) -Codechange: move documentation towards the code to make it ↵rubidium
more likely to be updates [a-c].
2010-08-19(svn r20574) -Codechange: a little over 1 million vehicles should be enough ↵rubidium
for the forseeable future
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-10-21(svn r17840) -Codechange: use the new pool's concepts (caching + not ↵rubidium
zeroing). Improves average CargoPacket con/destruction time by ~20%, MoveTo/Append by 5-10% and application performance by up to 2%.
2009-10-21(svn r17837) -Fix (r17812): comment erroneously mentioned feeder sharerubidium
2009-10-20(svn r17836) -Codechange: split the CargoPacket constructor for creating ↵rubidium
'real' new CargoPackets and saveload. For saveload we do not need to set anything except two variables (the rest is always overwritten by the load), for new 'real' cargo also pass the source_xy; dereferencing st before calling is easier than resolving st->index back to st and then dereferencing. Also don't set loaded_at_xy because that is of no importance when not loaded in a vehicle.
2009-10-19(svn r17814) -Codechange: there's no need to invalidate the cache in the ↵rubidium
constructor of a CargoList; the list is empty, the CargoList is calloc-ed so all caches are 0.
2009-10-19(svn r17813) -Codechange: unify the CargoPacket related coding stylerubidium
2009-10-19(svn r17812) -Codechange: move the feeder_share cache from CargoList to ↵rubidium
VehicleCargoList; saves 512 bytes per station and 1-2% on CargoList::MoveTo.
2009-10-18(svn r17809) -Fix: MSVC compilation.frosch
2009-10-18(svn r17808) -Codechange: remove write 'access' from all of CargoPacket's ↵rubidium
variables
2009-10-18(svn r17807) -Codechange: move all 'updates' just after the 'load' ↵rubidium
constructor of CargoPackets to the constructor call itself
2009-10-18(svn r17806) -Codechange: split CargoPacket's 'afterload' to a separate functionrubidium
2009-10-18(svn r17804) -Codechange: move the CargoPacket 'invalidation' when stations ↵rubidium
get removed to CargoPacket.
2009-10-18(svn r17801) -Codechange: for StationCargoLists the 'loaded_at_xy' does not ↵rubidium
matter when merging CargoPackets
2009-10-18(svn r17800) -Codechange: first steps into making CargoList a templaterubidium
2009-10-18(svn r17795) -Codechange: split cargolist into one for vehicles and one for ↵rubidium
stations.
2009-10-07(svn r17736) -Codechange [FS#3135]: rewrite CargoList::MoveTo; don't require ↵rubidium
the secondary list, use cache updates instead of rebuilds. This is usually faster because of primarily gradual loading that only moves a (small) part of the cargo each time. Based on patch by fonsinchen.
2009-10-07(svn r17735) -Codechange: update the cache one inserting/removing ↵rubidium
CargoPackets from the CargoList via Append/Truncate instead of rebuilding the whole cache. For Append this changes the O(n) cache rebuild into a O(1) cache update. For Truncate no temporary list is needed anymore (based on patch by fonsinchen)
2009-10-06(svn r17734) -Fix (r17732): broke the assumption that 'this->packets == ↵rubidium
this', which broke loading old savegames. Now remove the (need for the) hack that needed that assumption.