summaryrefslogtreecommitdiff
path: root/aircraft_cmd.c
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2006-06-04 17:49:16 +0000
committerpeter1138 <peter1138@openttd.org>2006-06-04 17:49:16 +0000
commit18b0ea5473fb0179f0969db91162cae65a21b5cb (patch)
treedc2b05bb9be51dab29333186522ff5a64b983479 /aircraft_cmd.c
parent2802c4b9c6751d1a22869e244f73d657d1bf8db5 (diff)
downloadopenttd-18b0ea5473fb0179f0969db91162cae65a21b5cb.tar.xz
(svn r5104) - When refitting a vehicle to its existing cargo type, don't lose the cargo onboard (useful when adding wagons to a train)
Diffstat (limited to 'aircraft_cmd.c')
-rw-r--r--aircraft_cmd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/aircraft_cmd.c b/aircraft_cmd.c
index dc736e491..94411d3b2 100644
--- a/aircraft_cmd.c
+++ b/aircraft_cmd.c
@@ -538,7 +538,13 @@ int32 CmdRefitAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
u = v->next;
mail = (new_cid != CT_PASSENGERS) ? 0 : avi->mail_capacity;
u->cargo_cap = mail;
- v->cargo_count = u->cargo_count = 0;
+ if (v->cargo_type == new_cid) {
+ v->cargo_count = min(pass, v->cargo_count);
+ u->cargo_count = min(mail, u->cargo_count);
+ } else {
+ v->cargo_count = 0;
+ u->cargo_count = 0;
+ }
v->cargo_type = new_cid;
v->cargo_subtype = new_subtype;
InvalidateWindow(WC_VEHICLE_DETAILS, v->index);