# HG changeset patch # User bjarni # Date 1138575891 0 # Node ID 6a7dbba467e4e03ba088fdb9c96d32dbdbf034eb # Parent 20bdea584ca5b0e876f7cf5cdf0c5ed75e745993 (svn r3484) -fix: fixed issue in last commit where loading savegame versions 18 and 19 didn't init the multiheaded engine pointers diff --git a/openttd.c b/openttd.c --- a/openttd.c +++ b/openttd.c @@ -1150,9 +1150,8 @@ * subtype to the new format */ if (CheckSavegameVersionOldStyle(17, 1)) ConvertOldMultiheadToNew(); - /* Connect front and rear engines of multiheaded trains - since this info were no longer saved in savegame version 20 */ - if (!CheckSavegameVersion(20)) ConnectMultiheadedTrains(); + /* Connect front and rear engines of multiheaded trains */ + ConnectMultiheadedTrains(); // Update current year SetDate(_date); diff --git a/train_cmd.c b/train_cmd.c --- a/train_cmd.c +++ b/train_cmd.c @@ -3618,41 +3618,6 @@ default: NOT_REACHED(); break; } END_ENUM_WAGONS(u) - u = v; - BEGIN_ENUM_WAGONS(u) - const RailVehicleInfo *rvi = RailVehInfo(u->engine_type); - - if (u->u.rail.other_multiheaded_part != NULL) continue; - - if (rvi->flags & RVI_MULTIHEAD) { - if (!IsTrainEngine(u)) { - /* we got a rear car without a front car. We will convert it to a front one */ - SetTrainEngine(u); - u->spritenum--; - } - - { - Vehicle *w; - - for(w = u->next; w != NULL && (w->engine_type != u->engine_type || w->u.rail.other_multiheaded_part != NULL); w = GetNextVehicle(w)); - if (w != NULL) { - /* we found a car to partner with this engine. Now we will make sure it face the right way */ - if (IsTrainEngine(w)) { - ClearTrainEngine(w); - w->spritenum++; - } - } - - if (w != NULL) { - w->u.rail.other_multiheaded_part = u; - u->u.rail.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); - } - } - } - END_ENUM_WAGONS(u) } } }