From 736e3597b506c55899c4b318fb7f935af3be58a1 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Tue, 24 Oct 2006 07:10:37 +0000 Subject: [PATCH] (svn r6920) - Codechange: Ignore refit options of an engine if it has no capacity. --- train_gui.c | 2 +- vehicle_gui.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/train_gui.c b/train_gui.c index 3b36d82dd0..5aede8d979 100644 --- a/train_gui.c +++ b/train_gui.c @@ -293,7 +293,7 @@ void DrawTrainEnginePurchaseInfo(int x, int y, uint w, EngineID engine_number) /* Additional text from NewGRF */ y += ShowAdditionalText(x, y, w, engine_number); - y += ShowRefitOptionsList(x, y, w, engine_number); + if (rvi->capacity > 0) y += ShowRefitOptionsList(x, y, w, engine_number); } /** diff --git a/vehicle_gui.c b/vehicle_gui.c index 5c98881347..b8c0e9da4b 100644 --- a/vehicle_gui.c +++ b/vehicle_gui.c @@ -210,6 +210,9 @@ static RefitList *BuildRefitList(const Vehicle *v) uint32 cmask = EngInfo(u->engine_type)->refit_mask; byte callbackmask = EngInfo(u->engine_type)->callbackmask; + /* Skip this engine if it has no capacity */ + if (u->cargo_cap == 0) continue; + /* Loop through all cargos in the refit mask */ for (cid = 0; cmask != 0 && num_lines < max_lines; cmask >>= 1, cid++) { CargoID lcid; @@ -274,8 +277,7 @@ static RefitList *BuildRefitList(const Vehicle *v) } } } - u = u->next; - } while (v->type == VEH_Train && u != NULL && num_lines < max_lines); + } while (v->type == VEH_Train && (u = u->next) != NULL && num_lines < max_lines); list->num_lines = num_lines; list->items = refit;