summaryrefslogtreecommitdiff
path: root/src/cargopacket.h
AgeCommit message (Collapse)Author
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.
2009-10-06(svn r17733) -Codechange: store the 'days in transit' cache as the sum of ↵rubidium
the days in transit instead of the average; the variable isn't requested that often (primarily station NewGRFs) that the dividing/testing for dividing by 0 step needs to be cached.
2009-10-06(svn r17732) -Codechange: reorder some variables of cargo packets/cargo ↵rubidium
lists to get better alignment *and* smaller structs; both from 40 bytes to 32 bytes on 64 bits.
2009-10-06(svn r17731) -Codechange: do not cache a boolean which states whether some ↵rubidium
other variable is not 0.
2009-10-06(svn r17730) -Codechange: do not cache the source of a packet in the cargo ↵rubidium
list. It's only used for (some) GUI/NewGRF purposes so precalculating it costs more than calculating when it's actually used.
2009-10-06(svn r17727) -Codechange: some coding style and documentation fixesrubidium
2009-10-06(svn r17721) -Codechange: replace a magic number with a constantrubidium
2009-10-06(svn r17720) -Codechange: guard the CargoPacket variables that are cached in ↵rubidium
CargoLists so they cannot be written from outside the CargoList class (based on patch by fonsinchen)
2009-09-19(svn r17570) -Fix: a number of Doxygen warnings about missing parameters, ↵rubidium
which were sometimes missing and sometimes just typos
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-08-08(svn r17113) -Change [FS#265][FS#2094][FS#2589]: apply the subsidy when ↵smatz
subsidy's destination is in station's catchment area and cargo packets originate from subsidy's source -Change [FS#1134]: subsidies aren't bound to stations after awarding anymore, they still apply to town or industry, no matter what station is used for loading and unloading. Awarded subsidies from older savegames are lost -Change [NoAI]: due to these changes, AISubsidy::GetSource and AISubsidy::GetDestination now return STATION_INVALID for awarded subsidies
2009-06-29(svn r16694) -Fix [FS#2995] (rgradual loading, rnewindustries): only pay for ↵rubidium
whatever has been actually unloaded and perform the payment when unloading has finished. This fixes, amongst others: * cheating by starting to unload and after getting paid rushing to the depot to get sold (or unloading, loading and getting paid again for the remainder) * cargo being dropped onto a station at the moment a stockpiling industry doesn't accept it anymore * industries getting cargo that has not been unloaded yet and subsequently dumping it back on the station in one go Note: you will now get paid after the unloading has finished, so you'll have to wait a bit longer for 'your' money.
2009-05-29(svn r16459) -Codechange: move definition of several cargopacket accessors ↵smatz
to header file
2009-05-22(svn r16380) -Codechange: rename pool.hpp to pool_type.hppsmatz
2009-05-22(svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation ↵smatz
time, binary size and run time (with asserts disabled) should be improved
2009-05-22(svn r16377) -Codechange: unify FOR_ALL_* macros, use separate index ↵smatz
variable instead of var->index
2009-05-17(svn r16338) -Codechange: split loading of references to two phasessmatz
In the first phase, indexes are stored. In the second phase, indexes are checked for validity and converted to pointers
2009-05-16(svn r16326) -Codechange: replace GetPoolItemPoolSize() by ↵smatz
PoolItem::GetPoolSize()
2009-05-16(svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index)smatz