(svn r11047) -Fix (r11011) [FS#1205]: desync due to wrong cached vehicle length on articulated vehicle construction.
--- a/src/articulated_vehicles.cpp Wed Sep 05 10:33:42 2007 +0000
+++ b/src/articulated_vehicles.cpp Wed Sep 05 17:53:14 2007 +0000
@@ -77,6 +77,7 @@
const RailVehicleInfo *rvi_artic = RailVehInfo(engine_type);
u = new (u) Train();
+ previous->SetNext(u);
u->u.rail.track = v->u.rail.track;
u->u.rail.railtype = v->u.rail.railtype;
u->u.rail.first_engine = v->engine_type;
@@ -92,6 +93,7 @@
const RoadVehicleInfo *rvi_artic = RoadVehInfo(engine_type);
u = new (u) RoadVehicle();
+ previous->SetNext(u);
u->u.road.first_engine = v->engine_type;
u->u.road.cached_veh_length = GetRoadVehLength(u);
u->u.road.state = RVSB_IN_DEPOT;
@@ -107,8 +109,6 @@
} break;
}
- previous->SetNext(u);
-
if (flip_image) u->spritenum++;
VehiclePositionChanged(u);