1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-21 13:39:09 +00:00

(svn r23112) -Codechange: Check if vehicle chain lengths stays constant when auto-refitting.

This commit is contained in:
michi_cc
2011-11-04 15:04:29 +00:00
parent ad2fdd8d6f
commit a3e6e113fe
6 changed files with 30 additions and 22 deletions

View File

@@ -84,22 +84,6 @@ byte FreightWagonMult(CargoID cargo)
return _settings_game.vehicle.freight_trains;
}
/**
* Logs a bug in GRF and shows a warning message if this
* is for the first time this happened.
* @param u first vehicle of chain
*/
static void RailVehicleLengthChanged(const Train *u)
{
/* show a warning once for each engine in whole game and once for each GRF after each game load */
const Engine *engine = u->GetEngine();
uint32 grfid = engine->grf_prop.grffile->grfid;
GRFConfig *grfconfig = GetGRFConfig(grfid);
if (GamelogGRFBugReverse(grfid, engine->grf_prop.local_id) || !HasBit(grfconfig->grf_bugs, GBUG_VEH_LENGTH)) {
ShowNewGrfVehicleError(u->engine_type, STR_NEWGRF_BROKEN, STR_NEWGRF_BROKEN_VEHICLE_LENGTH, GBUG_VEH_LENGTH, true);
}
}
/** Checks if lengths of all rail vehicles are valid. If not, shows an error message. */
void CheckTrainsLengths()
{
@@ -244,7 +228,7 @@ void Train::ConsistChanged(bool same_length)
veh_len = VEHICLE_LENGTH - Clamp(veh_len, 0, VEHICLE_LENGTH - 1);
/* verify length hasn't changed */
if (same_length && veh_len != u->gcache.cached_veh_length) RailVehicleLengthChanged(u);
if (same_length && veh_len != u->gcache.cached_veh_length) VehicleLengthChanged(u);
/* update vehicle length? */
if (!same_length) u->gcache.cached_veh_length = veh_len;