(svn r6696) -Codechange: changed all comparision for refit cargo in orders against CT_NO_REFIT to checks for valid cargo IDs
authorbjarni
Sun, 08 Oct 2006 21:10:00 +0000
changeset 4782 3ee91034a50e
parent 4781 f944e20fac7b
child 4783 77a455254ab0
(svn r6696) -Codechange: changed all comparision for refit cargo in orders against CT_NO_REFIT to checks for valid cargo IDs
This should prevent any bugs made by mixing up CT_NO_REFIT and CT_INVALID
order_gui.c
vehicle.c
--- a/order_gui.c	Sun Oct 08 21:00:13 2006 +0000
+++ b/order_gui.c	Sun Oct 08 21:10:00 2006 +0000
@@ -170,11 +170,11 @@
 					if (order->flags & OF_FULL_LOAD) s++; /* service at */
 
 					SetDParam(1, s);
-					if (order->refit_cargo == CT_NO_REFIT) {
-						SetDParam(3, STR_EMPTY);
-					} else {
+					if (order->refit_cargo < NUM_CARGO) {
 						SetDParam(3, STR_REFIT_ORDER);
 						SetDParam(4, _cargoc.names_s[order->refit_cargo]);
+					} else {
+						SetDParam(3, STR_EMPTY);
 					}
 					break;
 				}
--- a/vehicle.c	Sun Oct 08 21:00:13 2006 +0000
+++ b/vehicle.c	Sun Oct 08 21:10:00 2006 +0000
@@ -1901,7 +1901,7 @@
 	}
 
 	FOR_VEHICLE_ORDERS(u, o) {
-		if (o->refit_cargo == CT_NO_REFIT) continue;
+		if (!(o->refit_cargo < NUM_CARGO)) continue;
 		if (!CanRefitTo(v->engine_type, o->refit_cargo)) continue;
 		if (!CanRefitTo(engine_type, o->refit_cargo)) return false;
 	}
@@ -2530,7 +2530,7 @@
 		v->current_order.type = OT_DUMMY;
 		v->current_order.flags = 0;
 
-		if (t.refit_cargo != CT_NO_REFIT) {
+		if (t.refit_cargo < NUM_CARGO) {
 			int32 cost;
 
 			_current_player = v->owner;