diff options
author | rubidium <rubidium@openttd.org> | 2009-06-29 19:55:36 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-06-29 19:55:36 +0000 |
commit | 985608c71332b413b2abe2bbf89a140c2c19d8f1 (patch) | |
tree | dc2ea79e6123a72f2407bc63234c81cbb20dd709 /src/saveload/cargopacket_sl.cpp | |
parent | 80043e688e7e70eae69e1fad6d8a26caf19e3067 (diff) | |
download | openttd-985608c71332b413b2abe2bbf89a140c2c19d8f1.tar.xz |
(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.
Diffstat (limited to 'src/saveload/cargopacket_sl.cpp')
-rw-r--r-- | src/saveload/cargopacket_sl.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/saveload/cargopacket_sl.cpp b/src/saveload/cargopacket_sl.cpp index 08710dc34..d0a7783b8 100644 --- a/src/saveload/cargopacket_sl.cpp +++ b/src/saveload/cargopacket_sl.cpp @@ -8,13 +8,15 @@ #include "saveload.h" static const SaveLoad _cargopacket_desc[] = { - SLE_VAR(CargoPacket, source, SLE_UINT16), - SLE_VAR(CargoPacket, source_xy, SLE_UINT32), - SLE_VAR(CargoPacket, loaded_at_xy, SLE_UINT32), - SLE_VAR(CargoPacket, count, SLE_UINT16), - SLE_VAR(CargoPacket, days_in_transit, SLE_UINT8), - SLE_VAR(CargoPacket, feeder_share, SLE_INT64), - SLE_VAR(CargoPacket, paid_for, SLE_BOOL), + SLE_VAR(CargoPacket, source, SLE_UINT16), + SLE_VAR(CargoPacket, source_xy, SLE_UINT32), + SLE_VAR(CargoPacket, loaded_at_xy, SLE_UINT32), + SLE_VAR(CargoPacket, count, SLE_UINT16), + SLE_VAR(CargoPacket, days_in_transit, SLE_UINT8), + SLE_VAR(CargoPacket, feeder_share, SLE_INT64), + + /* Used to be paid_for, but that got changed. */ + SLE_CONDNULL(1, 0, 120), SLE_END() }; |