From 1a866c7552c1f29316984786252c68632fee9550 Mon Sep 17 00:00:00 2001 From: frosch Date: Thu, 13 Nov 2008 20:26:06 +0000 Subject: [PATCH] (svn r14578) -Fix (r2389, r10811)[FS#Vikthor]: Allow capacity callbacks (15, 36) to return zero capacity. --- src/roadveh_cmd.cpp | 2 -- src/train_cmd.cpp | 26 ++++++++++++-------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 6a7a75f705..65c040402b 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -2085,8 +2085,6 @@ CommandCost CmdRefitRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) } } - if (capacity == 0) continue; - total_capacity += capacity; if (IsHumanCompany(v->owner) && new_cid != v->cargo_type) { diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 43cf9265c3..c78d1ef54d 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2080,21 +2080,19 @@ CommandCost CmdRefitRailVehicle(TileIndex tile, uint32 flags, uint32 p1, uint32 } } - if (amount != 0) { - if (new_cid != v->cargo_type) { - cost.AddCost(GetRefitCost(v->engine_type)); - } + if (new_cid != v->cargo_type) { + cost.AddCost(GetRefitCost(v->engine_type)); + } - num += amount; - if (flags & DC_EXEC) { - v->cargo.Truncate((v->cargo_type == new_cid) ? amount : 0); - v->cargo_type = new_cid; - v->cargo_cap = amount; - v->cargo_subtype = new_subtype; - InvalidateWindow(WC_VEHICLE_DETAILS, v->index); - InvalidateWindow(WC_VEHICLE_DEPOT, v->tile); - InvalidateWindowClassesData(WC_TRAINS_LIST, 0); - } + num += amount; + if (flags & DC_EXEC) { + v->cargo.Truncate((v->cargo_type == new_cid) ? amount : 0); + v->cargo_type = new_cid; + v->cargo_cap = amount; + v->cargo_subtype = new_subtype; + InvalidateWindow(WC_VEHICLE_DETAILS, v->index); + InvalidateWindow(WC_VEHICLE_DEPOT, v->tile); + InvalidateWindowClassesData(WC_TRAINS_LIST, 0); } } } while ((v = v->Next()) != NULL && !only_this);