From 8c7e594b08cfaabf1f4d273bfc939d73726fd4e1 Mon Sep 17 00:00:00 2001 From: bjarni Date: Sun, 29 Jan 2006 23:04:51 +0000 Subject: [PATCH] (svn r3484) -fix: fixed issue in last commit where loading savegame versions 18 and 19 didn't init the multiheaded engine pointers --- openttd.c | 5 ++--- train_cmd.c | 35 ----------------------------------- 2 files changed, 2 insertions(+), 38 deletions(-) diff --git a/openttd.c b/openttd.c index 181304ff62..50ca14de65 100644 --- a/openttd.c +++ b/openttd.c @@ -1150,9 +1150,8 @@ bool AfterLoadGame(void) * 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 index 131e21cd2f..ba350753d5 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -3617,41 +3617,6 @@ void ConvertOldMultiheadToNew(void) break; 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) } }