mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-30 01:49:10 +00:00
(svn r3394) - NewGRF fix: ignore non-climate dependent cargo types. The spec is rather vague on this, but we don't support newcargos anyway.
This commit is contained in:
18
newgrf.c
18
newgrf.c
@@ -308,7 +308,11 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||
FOR_EACH_OBJECT {
|
||||
uint8 ctype = grf_load_byte(&buf);
|
||||
|
||||
rvi[i].cargo_type = ctype;
|
||||
if (ctype < NUM_CARGO) {
|
||||
rvi[i].cargo_type = ctype;
|
||||
} else {
|
||||
grfmsg(GMS_NOTICE, "RailVehicleChangeInfo: Invalid cargo type %d, ignoring.", ctype);
|
||||
}
|
||||
}
|
||||
} break;
|
||||
case 0x16: { /* Weight */
|
||||
@@ -492,7 +496,11 @@ static bool RoadVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||
FOR_EACH_OBJECT {
|
||||
uint8 cargo = grf_load_byte(&buf);
|
||||
|
||||
rvi[i].cargo_type = cargo;
|
||||
if (cargo < NUM_CARGO) {
|
||||
rvi[i].cargo_type = cargo;
|
||||
} else {
|
||||
grfmsg(GMS_NOTICE, "RoadVehicleChangeInfo: Invalid cargo type %d, ignoring.", cargo);
|
||||
}
|
||||
}
|
||||
} break;
|
||||
case 0x11: { /* Cost factor */
|
||||
@@ -610,7 +618,11 @@ static bool ShipVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||
// assume otherwise.
|
||||
cargo = local_cargo_id_ctype[cargo];
|
||||
#endif
|
||||
svi[i].cargo_type = cargo;
|
||||
if (cargo < NUM_CARGO) {
|
||||
svi[i].cargo_type = cargo;
|
||||
} else {
|
||||
grfmsg(GMS_NOTICE, "ShipVehicleChangeInfo: Invalid cargo type %d, ignoring.", cargo);
|
||||
}
|
||||
}
|
||||
} break;
|
||||
case 0x0D: { /* Cargo capacity */
|
||||
|
Reference in New Issue
Block a user