(svn r13678) -Fix (r13677): electric trains from pre elrail savegames would get stopped on load.

This commit is contained in:
rubidium
2008-07-06 11:08:40 +00:00
parent 22249a7317
commit 3a793ceea9
3 changed files with 24 additions and 20 deletions

View File

@@ -275,17 +275,8 @@ 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;
@@ -321,6 +312,19 @@ 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;