Commit Graph

14 Commits

Author SHA1 Message Date
Peter Nelson a91d889646 Fix #13053: Payment transfers incorrect for non-passenger cargos. (#13054)
CargoPayment required cargo type to be set as state via SetCargo(). This was error prone as CargoPayment is per consist but cargo type can vary per vehicle part. Additionally if SetCargo was not called then the default "uninitialised" state was cargo slot 0, passengers.

Instead of trying to make sure it is set correctly, remove cargo type from CargoPayment and always pass it explicitly to the PayTransfer/PayFinalDelivery methods.
2024-11-03 18:53:01 +00:00
Peter Nelson 2fdc22e7ea Codechange: Shuffle CargoPayment members to reduce padding. 2023-09-14 09:50:58 +01:00
Patric Stout 9c49a61249 Fix: base cargo payment on load/unload tile, instead of station sign location (#11281) 2023-09-13 14:41:09 +00:00
glx 1c92ba8ebe Codechange: Replace FOR_ALL_CARGO_PAYMENTS 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
rubidium 446d50f658 (svn r25011) -Codechange: allow vehicle transfer and profit text effects to be shown at the same time (fonsinchen) 2013-02-17 14:50:54 +00:00
rubidium fb5ecb9499 (svn r22411) -Document: another bunch of bits 2011-05-02 17:42:12 +00:00
smatz b4273bcd35 (svn r22023) -Fix: verify we can allocate a CargoPacket and CargoPayment before we actually try to do so
-Codechange: increase the limit of number of CargoPayments to match the limit of Vehicles (Rubidium)
2011-02-08 18:27:21 +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 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 7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium 6e3d999dce (svn r16914) -Codechange: split Station and BaseStation into different files 2009-07-22 11:35:35 +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
rubidium 18bc39d00b (svn r16683) -Codechange: move the cargo payment handling to a seperate class. Based on ideas of fonso/fonsinchen. 2009-06-28 15:12:59 +00:00