(svn r16392) -Codechange: move some variables (the ones that aren't caches) from VehicleRail to Train
This commit is contained in:
@@ -912,7 +912,7 @@ bool AfterLoadGame()
|
||||
continue;
|
||||
}
|
||||
if (v->type == VEH_TRAIN) {
|
||||
((Train *)v)->u.rail.track = TRACK_BIT_WORMHOLE;
|
||||
((Train *)v)->track = TRACK_BIT_WORMHOLE;
|
||||
} else {
|
||||
((RoadVehicle *)v)->state = RVSB_WORMHOLE;
|
||||
}
|
||||
@@ -928,7 +928,7 @@ bool AfterLoadGame()
|
||||
if (v->type == VEH_TRAIN) {
|
||||
RailType rt = RailVehInfo(v->engine_type)->railtype;
|
||||
|
||||
((Train *)v)->u.rail.railtype = rt;
|
||||
((Train *)v)->railtype = rt;
|
||||
if (rt == RAILTYPE_ELECTRIC) min_rail = RAILTYPE_RAIL;
|
||||
}
|
||||
}
|
||||
@@ -1704,10 +1704,10 @@ bool AfterLoadGame()
|
||||
FOR_ALL_VEHICLES(u) {
|
||||
if (u->type == VEH_TRAIN) {
|
||||
Train *v = (Train *)u;
|
||||
if ((v->u.rail.track & TRACK_BIT_WORMHOLE) == TRACK_BIT_WORMHOLE) {
|
||||
if ((v->track & TRACK_BIT_WORMHOLE) == TRACK_BIT_WORMHOLE) {
|
||||
TryReserveRailTrack(v->tile, DiagDirToDiagTrack(GetTunnelBridgeDirection(v->tile)));
|
||||
} else if ((v->u.rail.track & TRACK_BIT_MASK) != TRACK_BIT_NONE) {
|
||||
TryReserveRailTrack(v->tile, TrackBitsToTrack(v->u.rail.track));
|
||||
} else if ((v->track & TRACK_BIT_MASK) != TRACK_BIT_NONE) {
|
||||
TryReserveRailTrack(v->tile, TrackBitsToTrack(v->track));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1079,10 +1079,10 @@ static uint16 _old_next_ptr;
|
||||
static VehicleID _current_vehicle_id;
|
||||
|
||||
static const OldChunks vehicle_train_chunk[] = {
|
||||
OCL_SVAR( OC_UINT8, VehicleRail, track ),
|
||||
OCL_SVAR( OC_UINT8, VehicleRail, force_proceed ),
|
||||
OCL_SVAR( OC_UINT16, VehicleRail, crash_anim_pos ),
|
||||
OCL_SVAR( OC_UINT8, VehicleRail, railtype ),
|
||||
OCL_SVAR( OC_UINT8, Train, track ),
|
||||
OCL_SVAR( OC_UINT8, Train, force_proceed ),
|
||||
OCL_SVAR( OC_UINT16, Train, crash_anim_pos ),
|
||||
OCL_SVAR( OC_UINT8, Train, railtype ),
|
||||
|
||||
OCL_NULL( 5 ), ///< Junk
|
||||
|
||||
@@ -1157,7 +1157,7 @@ static bool LoadOldVehicleUnion(LoadgameState *ls, int num)
|
||||
} else {
|
||||
switch (v->type) {
|
||||
default: NOT_REACHED();
|
||||
case VEH_TRAIN : res = LoadChunk(ls, &v->u.rail, vehicle_train_chunk); break;
|
||||
case VEH_TRAIN : res = LoadChunk(ls, v, vehicle_train_chunk); break;
|
||||
case VEH_ROAD : res = LoadChunk(ls, v, vehicle_road_chunk); break;
|
||||
case VEH_SHIP : res = LoadChunk(ls, v, vehicle_ship_chunk); break;
|
||||
case VEH_AIRCRAFT: res = LoadChunk(ls, v, vehicle_air_chunk); break;
|
||||
@@ -1315,7 +1315,7 @@ bool LoadOldVehicle(LoadgameState *ls, int num)
|
||||
};
|
||||
if (v->spritenum / 2 >= lengthof(spriteset_rail)) return false;
|
||||
v->spritenum = spriteset_rail[v->spritenum / 2]; // adjust railway sprite set offset
|
||||
((Train *)v)->u.rail.railtype = type == 0x25 ? 1 : 0; // monorail / rail
|
||||
((Train *)v)->railtype = type == 0x25 ? 1 : 0; // monorail / rail
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -24,7 +24,7 @@ void ConnectMultiheadedTrains()
|
||||
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
if (v->type == VEH_TRAIN) {
|
||||
((Train *)v)->u.rail.other_multiheaded_part = NULL;
|
||||
((Train *)v)->other_multiheaded_part = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ void ConnectMultiheadedTrains()
|
||||
bool sequential_matching = IsFrontEngine(v);
|
||||
|
||||
for (Train *u = (Train *)v; u != NULL; u = (Train *)GetNextVehicle(u)) {
|
||||
if (u->u.rail.other_multiheaded_part != NULL) continue; // we already linked this one
|
||||
if (u->other_multiheaded_part != NULL) continue; // we already linked this one
|
||||
|
||||
if (IsMultiheaded(u)) {
|
||||
if (!IsTrainEngine(u)) {
|
||||
@@ -60,7 +60,7 @@ void ConnectMultiheadedTrains()
|
||||
Train *w;
|
||||
if (sequential_matching) {
|
||||
for (w = GetNextVehicle(u); w != NULL; w = GetNextVehicle(w)) {
|
||||
if (w->engine_type != eid || w->u.rail.other_multiheaded_part != NULL || !IsMultiheaded(w)) continue;
|
||||
if (w->engine_type != eid || w->other_multiheaded_part != NULL || !IsMultiheaded(w)) continue;
|
||||
|
||||
/* we found a car to partner with this engine. Now we will make sure it face the right way */
|
||||
if (IsTrainEngine(w)) {
|
||||
@@ -72,7 +72,7 @@ void ConnectMultiheadedTrains()
|
||||
} else {
|
||||
uint stack_pos = 0;
|
||||
for (w = GetNextVehicle(u); w != NULL; w = GetNextVehicle(w)) {
|
||||
if (w->engine_type != eid || w->u.rail.other_multiheaded_part != NULL || !IsMultiheaded(w)) continue;
|
||||
if (w->engine_type != eid || w->other_multiheaded_part != NULL || !IsMultiheaded(w)) continue;
|
||||
|
||||
if (IsTrainEngine(w)) {
|
||||
stack_pos++;
|
||||
@@ -84,8 +84,8 @@ void ConnectMultiheadedTrains()
|
||||
}
|
||||
|
||||
if (w != NULL) {
|
||||
w->u.rail.other_multiheaded_part = u;
|
||||
u->u.rail.other_multiheaded_part = w;
|
||||
w->other_multiheaded_part = u;
|
||||
u->other_multiheaded_part = w;
|
||||
} else {
|
||||
/* we got a front car and no rear cars. We will fake this one for forget that it should have been multiheaded */
|
||||
ClearMultiheaded(u);
|
||||
@@ -525,13 +525,13 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
|
||||
static const SaveLoad _train_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle, type, VEH_TRAIN),
|
||||
SLE_VEH_INCLUDEX(),
|
||||
SLE_VARX(cpp_offsetof(Vehicle, u) + cpp_offsetof(VehicleRail, crash_anim_pos), SLE_UINT16),
|
||||
SLE_VARX(cpp_offsetof(Vehicle, u) + cpp_offsetof(VehicleRail, force_proceed), SLE_UINT8),
|
||||
SLE_VARX(cpp_offsetof(Vehicle, u) + cpp_offsetof(VehicleRail, railtype), SLE_UINT8),
|
||||
SLE_VARX(cpp_offsetof(Vehicle, u) + cpp_offsetof(VehicleRail, track), SLE_UINT8),
|
||||
SLE_VAR(Train, crash_anim_pos, SLE_UINT16),
|
||||
SLE_VAR(Train, force_proceed, SLE_UINT8),
|
||||
SLE_VAR(Train, railtype, SLE_UINT8),
|
||||
SLE_VAR(Train, track, SLE_UINT8),
|
||||
|
||||
SLE_CONDVARX(cpp_offsetof(Vehicle, u) + cpp_offsetof(VehicleRail, flags), SLE_FILE_U8 | SLE_VAR_U16, 2, 99),
|
||||
SLE_CONDVARX(cpp_offsetof(Vehicle, u) + cpp_offsetof(VehicleRail, flags), SLE_UINT16, 100, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Train, flags, SLE_FILE_U8 | SLE_VAR_U16, 2, 99),
|
||||
SLE_CONDVAR(Train, flags, SLE_UINT16, 100, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(2, 2, 59),
|
||||
|
||||
SLE_CONDNULL(2, 2, 19),
|
||||
|
Reference in New Issue
Block a user