diff --git a/src/articulated_vehicles.cpp b/src/articulated_vehicles.cpp --- a/src/articulated_vehicles.cpp +++ b/src/articulated_vehicles.cpp @@ -208,7 +208,7 @@ bool IsArticulatedVehicleCarryingDiffere switch (v->type) { case VEH_TRAIN: - v = (EngineHasArticPart((const Train *)v) ? GetNextArticPart((const Train *)v) : NULL); + v = (EngineHasArticPart(Train::From(v)) ? GetNextArticPart(Train::From(v)) : NULL); break; case VEH_ROAD: @@ -256,7 +256,7 @@ void CheckConsistencyOfArticulatedVehicl switch (v->type) { case VEH_TRAIN: - v = (EngineHasArticPart((const Train *)v) ? GetNextArticPart((const Train *)v) : NULL); + v = (EngineHasArticPart(Train::From(v)) ? GetNextArticPart(Train::From(v)) : NULL); break; case VEH_ROAD: @@ -305,7 +305,7 @@ void AddArticulatedParts(Vehicle *first, default: NOT_REACHED(); case VEH_TRAIN: { - Train *front = (Train *)first; + Train *front = Train::From(first); Train *t = new Train(); v->SetNext(t); v = t; @@ -328,7 +328,7 @@ void AddArticulatedParts(Vehicle *first, } break; case VEH_ROAD: { - RoadVehicle *front = (RoadVehicle *)first; + RoadVehicle *front = RoadVehicle::From(first); RoadVehicle *rv = new RoadVehicle(); v->SetNext(rv); v = rv;