fonsinchen
88787412b6
(svn r26327) -Fix [FS#5901]: Take care of next_station when reassigning from MTA_DELIVER to MTA_TRANSFER.
2014-02-09 21:10:25 +00:00
fonsinchen
bd230f34f4
(svn r25900) -Change [FS#5677]: Allow restricted flows to be picked for kept cargo.
2013-10-22 16:15:59 +00:00
fonsinchen
54db96be43
(svn r25891) -Feature: Use smallstack to allow for multiple next hops when loading and unloading.
2013-10-20 13:47:58 +00:00
fonsinchen
3dd811e179
(svn r25434) -Fix: reroute cargo staged for unloading if a link breaks
2013-06-23 08:28:53 +00:00
fonsinchen
741c431caa
(svn r25362) -Feature: consider cargo waiting at other stations for rating at the origin station
2013-06-09 13:04:32 +00:00
fonsinchen
04e3eb6fab
(svn r25361) -Feature: distribute cargo according to plan given by linkgraph
2013-06-09 13:03:48 +00:00
frosch
5eddbb338b
(svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen)
2013-04-13 13:42:08 +00:00
rubidium
4367224b35
(svn r25013) -Feature: show the amount of cargo that has already been reserved by full loading vehicles in the station (fonsinchen)
2013-02-17 14:59:27 +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
rubidium
d6e2a8aa56
(svn r25010) -Codechange: Add general framework for cargo actions, i.e. loading, transfering, delivering and such, to contain this logic in a single place instead of spread around (fonsinchen)
2013-02-17 14:36:40 +00:00
rubidium
71bbc130fc
(svn r25009) -Codechange: refactor bits of cargo packet (lists) to reduce duplicated code (fonsinchen)
2013-02-17 14:17:06 +00:00
rubidium
2795ed5b09
(svn r25008) -Codechange: Make CargoList::Truncate behave similarly to CargoList::MoveTo, i.e. pass the amount to truncate (fonsinchen)
2013-02-17 14:10:15 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
truebrain
1c9bec1999
(svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC)
2011-12-20 17:57:56 +00:00
frosch
474b4799e8
(svn r22482) -Codechange: Add some contants for the number of ticks between certain cyclical tasks.
2011-05-21 11:26:37 +00:00
smatz
756cc6cf65
(svn r22116) -Codechange: use PoolBase::Clean() at more places
2011-02-19 23:05:47 +00:00
rubidium
68bc93f950
(svn r22111) -Codechange/fix-ish: upon cleaning a pool a destructor should not delete items from other pools
2011-02-19 18:02:17 +00:00
rubidium
2707186f6a
(svn r21849) -Codechange: move merging/splitting of cargopackets into a helper function (fonsinchen)
2011-01-19 16:25:00 +00:00
rubidium
07e14525b8
(svn r21848) -Codechange: unification of comment style for cargopacket.*
2011-01-19 16:20:26 +00:00
rubidium
6c9078fd30
(svn r21844) -Codechange: move documentation towards the code to make it more likely to be updates [a-c].
2011-01-18 22:17:15 +00:00
rubidium
1fa98e1695
(svn r20574) -Codechange: a little over 1 million vehicles should be enough for the forseeable future
2010-08-19 20:58:30 +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
547677a782
(svn r17840) -Codechange: use the new pool's concepts (caching + not zeroing). Improves average CargoPacket con/destruction time by ~20%, MoveTo/Append by 5-10% and application performance by up to 2%.
2009-10-21 19:42:49 +00:00
rubidium
a4d054eabc
(svn r17837) -Fix (r17812): comment erroneously mentioned feeder share
2009-10-21 10:05:22 +00:00
rubidium
69b8e8e755
(svn r17836) -Codechange: split the CargoPacket constructor for creating '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-20 22:24:34 +00:00
rubidium
7f6d9d8c11
(svn r17814) -Codechange: there's no need to invalidate the cache in the constructor of a CargoList; the list is empty, the CargoList is calloc-ed so all caches are 0.
2009-10-19 15:36:35 +00:00
rubidium
08ac51fada
(svn r17813) -Codechange: unify the CargoPacket related coding style
2009-10-19 09:15:47 +00:00
rubidium
2cca30d2e3
(svn r17812) -Codechange: move the feeder_share cache from CargoList to VehicleCargoList; saves 512 bytes per station and 1-2% on CargoList::MoveTo.
2009-10-19 01:12:51 +00:00
frosch
fea06c5755
(svn r17809) -Fix: MSVC compilation.
2009-10-18 18:47:43 +00:00
rubidium
e613107e02
(svn r17808) -Codechange: remove write 'access' from all of CargoPacket's variables
2009-10-18 17:53:34 +00:00
rubidium
f11cebfe9b
(svn r17807) -Codechange: move all 'updates' just after the 'load' constructor of CargoPackets to the constructor call itself
2009-10-18 17:52:44 +00:00
rubidium
4ad30fecde
(svn r17806) -Codechange: split CargoPacket's 'afterload' to a separate function
2009-10-18 17:47:38 +00:00
rubidium
62a6e9509b
(svn r17804) -Codechange: move the CargoPacket 'invalidation' when stations get removed to CargoPacket.
2009-10-18 17:26:10 +00:00
rubidium
f76de82679
(svn r17801) -Codechange: for StationCargoLists the 'loaded_at_xy' does not matter when merging CargoPackets
2009-10-18 14:30:37 +00:00
rubidium
138e7233bc
(svn r17800) -Codechange: first steps into making CargoList a template
2009-10-18 14:28:26 +00:00
rubidium
2e766884f6
(svn r17795) -Codechange: split cargolist into one for vehicles and one for stations.
2009-10-18 13:39:00 +00:00
rubidium
c53682810f
(svn r17736) -Codechange [FS#3135]: rewrite CargoList::MoveTo; don't require 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 08:31:42 +00:00
rubidium
705615fd91
(svn r17735) -Codechange: update the cache one inserting/removing 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-07 08:25:12 +00:00
rubidium
446363aac4
(svn r17734) -Fix (r17732): broke the assumption that 'this->packets == this', which broke loading old savegames. Now remove the (need for the) hack that needed that assumption.
2009-10-06 23:01:35 +00:00
rubidium
9b045ac7b2
(svn r17733) -Codechange: store the 'days in transit' cache as the sum of 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 21:24:03 +00:00
rubidium
80f0df17ba
(svn r17732) -Codechange: reorder some variables of cargo packets/cargo lists to get better alignment *and* smaller structs; both from 40 bytes to 32 bytes on 64 bits.
2009-10-06 21:19:20 +00:00
rubidium
d52fa73bb1
(svn r17731) -Codechange: do not cache a boolean which states whether some other variable is not 0.
2009-10-06 21:12:35 +00:00
rubidium
31acc42b21
(svn r17730) -Codechange: do not cache the source of a packet in the cargo 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 21:06:26 +00:00
rubidium
1e2dc25582
(svn r17727) -Codechange: some coding style and documentation fixes
2009-10-06 19:52:27 +00:00
rubidium
e0e5eae1ee
(svn r17721) -Codechange: replace a magic number with a constant
2009-10-06 17:28:06 +00:00
rubidium
5f59d0c5b4
(svn r17720) -Codechange: guard the CargoPacket variables that are cached in CargoLists so they cannot be written from outside the CargoList class (based on patch by fonsinchen)
2009-10-06 17:23:15 +00:00
rubidium
e8ddf001c8
(svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos
2009-09-19 09:51:14 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
smatz
2a430d981f
(svn r17113) -Change [FS#265][FS#2094][FS#2589]: apply the subsidy when 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-08-08 16:42:55 +00:00
rubidium
985608c713
(svn r16694) -Fix [FS#2995] (rgradual loading, rnewindustries): only pay for 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-06-29 19:55:36 +00:00