summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2006-01-29 23:04:51 +0000
committerbjarni <bjarni@openttd.org>2006-01-29 23:04:51 +0000
commit8c7e594b08cfaabf1f4d273bfc939d73726fd4e1 (patch)
treecaede39d14b8200f70f0ecfa943c2a9e301e7885
parentb7beb3d87d68e6a6846a1c88d704763f824125a6 (diff)
downloadopenttd-8c7e594b08cfaabf1f4d273bfc939d73726fd4e1.tar.xz
(svn r3484) -fix: fixed issue in last commit where loading savegame versions 18 and 19 didn't init the multiheaded engine pointers
-rw-r--r--openttd.c5
-rw-r--r--train_cmd.c35
2 files changed, 2 insertions, 38 deletions
diff --git a/openttd.c b/openttd.c
index 181304ff6..50ca14de6 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 131e21cd2..ba350753d 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -3618,41 +3618,6 @@ void ConvertOldMultiheadToNew(void)
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)
}
}
}