Mercurial > hg > openttd
changeset 2928:6a7dbba467e4 draft
(svn r3484) -fix: fixed issue in last commit where loading savegame versions 18 and 19 didn't init the multiheaded engine pointers
author | bjarni <bjarni@openttd.org> |
---|---|
date | Sun, 29 Jan 2006 23:04:51 +0000 |
parents | 20bdea584ca5 |
children | e29a0c68639c |
files | openttd.c train_cmd.c |
diffstat | 2 files changed, 2 insertions(+), 38 deletions(-) [+] |
line wrap: on
line diff
--- 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);
--- 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) } } }