Commit Graph

80 Commits

Author SHA1 Message Date
Jonathan G Rennison
ab6119cb76 Merge branch 'infrastructure_sharing' into jgrpp 2018-01-28 17:28:12 +00:00
Jonathan G Rennison
decc0f210c Fix incorrect comment 2018-01-28 17:24:25 +00:00
Jonathan G Rennison
8c0c9274ea Merge branch 'infrastructure_sharing' into jgrpp
# Conflicts:
#	src/economy.cpp
#	src/misc.cpp
#	src/openttd.cpp
#	src/saveload/extended_ver_sl.cpp
2018-01-26 18:47:08 +00:00
Jonathan G Rennison
9000d74f3c Pay all cargo payment incomes when cargo finally delivered 2018-01-26 18:28:57 +00:00
Jonathan G Rennison
a422cb6753 Use a deque instead of list for CargoPacketList and StationCargoPacketMap. 2016-09-13 22:58:00 +01:00
fonsinchen
3f19e19952 (svn r26660) -Fix: CargoPacket::SourceStation() returns a StationID. 2014-06-21 19:52:52 +00:00
fonsinchen
fbd6707afc (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
809df5aaf6 (svn r25900) -Change [FS#5677]: Allow restricted flows to be picked for kept cargo. 2013-10-22 16:15:59 +00:00
fonsinchen
fff00b6460 (svn r25891) -Feature: Use smallstack to allow for multiple next hops when loading and unloading. 2013-10-20 13:47:58 +00:00
fonsinchen
6ce6fd05d8 (svn r25434) -Fix: reroute cargo staged for unloading if a link breaks 2013-06-23 08:28:53 +00:00
fonsinchen
1de46050f6 (svn r25362) -Feature: consider cargo waiting at other stations for rating at the origin station 2013-06-09 13:04:32 +00:00
fonsinchen
f022550df9 (svn r25361) -Feature: distribute cargo according to plan given by linkgraph 2013-06-09 13:03:48 +00:00
frosch
c5d7445704 (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
d27e49d078 (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
7dd2354a13 (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
79b74a5925 (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
4301d77d65 (svn r25009) -Codechange: refactor bits of cargo packet (lists) to reduce duplicated code (fonsinchen) 2013-02-17 14:17:06 +00:00
rubidium
84ca041564 (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
f00d9976f9 (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
truebrain
aa1a0053b0 (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
62b6d0eb0e (svn r22482) -Codechange: Add some contants for the number of ticks between certain cyclical tasks. 2011-05-21 11:26:37 +00:00
smatz
c85e1c3089 (svn r22116) -Codechange: use PoolBase::Clean() at more places 2011-02-19 23:05:47 +00:00
rubidium
7e4ff17e35 (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
c7c9dd970f (svn r21849) -Codechange: move merging/splitting of cargopackets into a helper function (fonsinchen) 2011-01-19 16:25:00 +00:00
rubidium
943eb0809f (svn r21848) -Codechange: unification of comment style for cargopacket.* 2011-01-19 16:20:26 +00:00
rubidium
f0ad5fd749 (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
bd5be9a942 (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
9467b7c6d6 (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
5f1e16027d (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
a30ac59fd2 (svn r17837) -Fix (r17812): comment erroneously mentioned feeder share 2009-10-21 10:05:22 +00:00
rubidium
61720eede3 (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
75c375de54 (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
fe575367f9 (svn r17813) -Codechange: unify the CargoPacket related coding style 2009-10-19 09:15:47 +00:00
rubidium
3adaa57a2e (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
f1d37fab37 (svn r17809) -Fix: MSVC compilation. 2009-10-18 18:47:43 +00:00
rubidium
756f813040 (svn r17808) -Codechange: remove write 'access' from all of CargoPacket's variables 2009-10-18 17:53:34 +00:00
rubidium
ef38feefda (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
93cc3e6106 (svn r17806) -Codechange: split CargoPacket's 'afterload' to a separate function 2009-10-18 17:47:38 +00:00
rubidium
8234230f9e (svn r17804) -Codechange: move the CargoPacket 'invalidation' when stations get removed to CargoPacket. 2009-10-18 17:26:10 +00:00
rubidium
be57392ba3 (svn r17801) -Codechange: for StationCargoLists the 'loaded_at_xy' does not matter when merging CargoPackets 2009-10-18 14:30:37 +00:00
rubidium
e553983e39 (svn r17800) -Codechange: first steps into making CargoList a template 2009-10-18 14:28:26 +00:00
rubidium
760a329622 (svn r17795) -Codechange: split cargolist into one for vehicles and one for stations. 2009-10-18 13:39:00 +00:00
rubidium
b7b1224ef3 (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
de43874182 (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
96d098e120 (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
702deb8366 (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
0a621eae7e (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
27d62a7ec6 (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
49739b3c67 (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
10428de7a3 (svn r17727) -Codechange: some coding style and documentation fixes 2009-10-06 19:52:27 +00:00