--- 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);