src/newgrf.cpp
changeset 10029 8253082647a9
parent 10025 4aef0b1dd009
child 10030 f57f0b2e056d
--- a/src/newgrf.cpp	Fri Aug 29 21:11:28 2008 +0000
+++ b/src/newgrf.cpp	Sat Aug 30 08:59:55 2008 +0000
@@ -539,6 +539,9 @@
 
 				if (ctype < NUM_CARGO && HasBit(_cargo_mask, ctype)) {
 					rvi->cargo_type = ctype;
+				} else if (ctype == 0xFF) {
+					/* 0xFF is specified as 'use first refittable' */
+					rvi->cargo_type = CT_INVALID;
 				} else {
 					rvi->cargo_type = CT_INVALID;
 					grfmsg(2, "RailVehicleChangeInfo: Invalid cargo type %d, using first refittable", ctype);
@@ -732,8 +735,9 @@
 
 				if (cargo < NUM_CARGO && HasBit(_cargo_mask, cargo)) {
 					rvi->cargo_type = cargo;
+				} else if (cargo == 0xFF) {
+					rvi->cargo_type = CT_INVALID;
 				} else {
-					rvi->cargo_type = CT_INVALID;
 					grfmsg(2, "RoadVehicleChangeInfo: Invalid cargo type %d, using first refittable", cargo);
 				}
 			} break;
@@ -849,6 +853,8 @@
 
 				if (cargo < NUM_CARGO && HasBit(_cargo_mask, cargo)) {
 					svi->cargo_type = cargo;
+				} else if (cargo == 0xFF) {
+					svi->cargo_type = CT_INVALID;
 				} else {
 					svi->cargo_type = CT_INVALID;
 					grfmsg(2, "ShipVehicleChangeInfo: Invalid cargo type %d, using first refittable", cargo);