mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-23 15:44:43 +00:00
(svn r5104) - When refitting a vehicle to its existing cargo type, don't lose the cargo onboard (useful when adding wagons to a train)
This commit is contained in:
parent
f00c3e7e25
commit
0a623bc333
@ -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);
|
||||
|
@ -1061,7 +1061,7 @@ int32 CmdRefitShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
}
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
v->cargo_count = 0;
|
||||
v->cargo_count = (v->cargo_type == new_cid) ? min(v->cargo_cap, v->cargo_count) : 0;
|
||||
v->cargo_type = new_cid;
|
||||
v->cargo_subtype = new_subtype;
|
||||
InvalidateWindow(WC_VEHICLE_DETAILS, v->index);
|
||||
|
@ -1789,7 +1789,7 @@ int32 CmdRefitRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
if (new_cid != v->cargo_type) cost += _price.build_railvehicle >> 8;
|
||||
num += amount;
|
||||
if (flags & DC_EXEC) {
|
||||
v->cargo_count = 0;
|
||||
v->cargo_count = (v->cargo_type == new_cid) ? min(amount, v->cargo_count) : 0;
|
||||
v->cargo_type = new_cid;
|
||||
v->cargo_cap = amount;
|
||||
v->cargo_subtype = new_subtype;
|
||||
|
Loading…
Reference in New Issue
Block a user