changeset 4933:ff3b3cdeb7af draft

(svn r6920) - Codechange: Ignore refit options of an engine if it has no capacity.
author peter1138 <peter1138@openttd.org>
date Tue, 24 Oct 2006 07:10:37 +0000
parents cdf09c2f959c
children 0ff4afedd011
files train_gui.c vehicle_gui.c
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/train_gui.c
+++ b/train_gui.c
@@ -293,7 +293,7 @@
 
 	/* 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);
 }
 
 /**
--- a/vehicle_gui.c
+++ b/vehicle_gui.c
@@ -210,6 +210,9 @@
 		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 @@
 				}
 			}
 		}
-		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;