|
|
|
@ -275,8 +275,17 @@ void AfterLoadVehicles(bool clear_te_id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FOR_ALL_VEHICLES(v) {
|
|
|
|
|
assert(v->First() != NULL);
|
|
|
|
|
assert(v->first != NULL);
|
|
|
|
|
|
|
|
|
|
if (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v))) {
|
|
|
|
|
if (IsFrontEngine(v)) v->u.rail.last_speed = v->cur_speed; // update displayed train speed
|
|
|
|
|
TrainConsistChanged(v);
|
|
|
|
|
} else if (v->type == VEH_ROAD && IsRoadVehFront(v)) {
|
|
|
|
|
RoadVehUpdateCache(v);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FOR_ALL_VEHICLES(v) {
|
|
|
|
|
switch (v->type) {
|
|
|
|
|
case VEH_ROAD:
|
|
|
|
|
v->u.road.roadtype = HasBit(EngInfo(v->engine_type)->misc_flags, EF_ROAD_TRAM) ? ROADTYPE_TRAM : ROADTYPE_ROAD;
|
|
|
|
@ -312,19 +321,6 @@ void AfterLoadVehicles(bool clear_te_id)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void InitializeVehicleCaches()
|
|
|
|
|
{
|
|
|
|
|
Vehicle *v;
|
|
|
|
|
FOR_ALL_VEHICLES(v) {
|
|
|
|
|
if (v->type == VEH_TRAIN && (IsFrontEngine(v) || IsFreeWagon(v))) {
|
|
|
|
|
if (IsFrontEngine(v)) v->u.rail.last_speed = v->cur_speed; // update displayed train speed
|
|
|
|
|
TrainConsistChanged(v);
|
|
|
|
|
} else if (v->type == VEH_ROAD && IsRoadVehFront(v)) {
|
|
|
|
|
RoadVehUpdateCache(v);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Vehicle::Vehicle()
|
|
|
|
|
{
|
|
|
|
|
this->type = VEH_INVALID;
|
|
|
|
|