Skip road vehicle cargo age period callback for known bad GRFs

pull/167/head
Jonathan G Rennison 4 years ago
parent 56c514f43b
commit e912e5dc63

@ -245,7 +245,12 @@ void RoadVehUpdateCache(RoadVehicle *v, bool same_length)
if (!(HasBit(u->vcache.cached_vis_effect, VE_ADVANCED_EFFECT) && GB(u->vcache.cached_vis_effect, 0, VE_ADVANCED_EFFECT) == VESM_NONE)) last_vis_effect = u;
/* Update cargo aging period. */
u->vcache.cached_cargo_age_period = GetVehicleProperty(u, PROP_ROADVEH_CARGO_AGE_PERIOD, EngInfo(u->engine_type)->cargo_age_period);
if (unlikely(v->GetGRFID() == BSWAP32(0x44450602))) {
/* skip callback for known bad GRFs */
u->vcache.cached_cargo_age_period = EngInfo(u->engine_type)->cargo_age_period;
} else {
u->vcache.cached_cargo_age_period = GetVehicleProperty(u, PROP_ROADVEH_CARGO_AGE_PERIOD, EngInfo(u->engine_type)->cargo_age_period);
}
}
SetBit(last_vis_effect->vcache.cached_veh_flags, VCF_LAST_VISUAL_EFFECT);

Loading…
Cancel
Save