mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-07-05 11:59:41 +01:00
(svn r21865) -Fix (r21862): don't perform savegame conversion when reinitialising some vehicle structures due to NewGRF changes
This commit is contained in:
parent
89a135293a
commit
6a2ae92811
@ -296,31 +296,33 @@ void AfterLoadVehicles(bool part_of_load)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsSavegameVersionBefore(105)) {
|
if (part_of_load) {
|
||||||
/* Before 105 there was no order for shared orders, thus it messed up horribly */
|
if (IsSavegameVersionBefore(105)) {
|
||||||
FOR_ALL_VEHICLES(v) {
|
/* Before 105 there was no order for shared orders, thus it messed up horribly */
|
||||||
if (v->First() != v || v->orders.list != NULL || v->previous_shared != NULL || v->next_shared == NULL) continue;
|
FOR_ALL_VEHICLES(v) {
|
||||||
|
if (v->First() != v || v->orders.list != NULL || v->previous_shared != NULL || v->next_shared == NULL) continue;
|
||||||
|
|
||||||
v->orders.list = new OrderList(NULL, v);
|
v->orders.list = new OrderList(NULL, v);
|
||||||
for (Vehicle *u = v; u != NULL; u = u->next_shared) {
|
for (Vehicle *u = v; u != NULL; u = u->next_shared) {
|
||||||
u->orders.list = v->orders.list;
|
u->orders.list = v->orders.list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (IsSavegameVersionBefore(157)) {
|
if (IsSavegameVersionBefore(157)) {
|
||||||
/* The road vehicle subtype was converted to a flag. */
|
/* The road vehicle subtype was converted to a flag. */
|
||||||
RoadVehicle *rv;
|
RoadVehicle *rv;
|
||||||
FOR_ALL_ROADVEHICLES(rv) {
|
FOR_ALL_ROADVEHICLES(rv) {
|
||||||
if (rv->subtype == 0) {
|
if (rv->subtype == 0) {
|
||||||
/* The road vehicle is at the front. */
|
/* The road vehicle is at the front. */
|
||||||
rv->SetFrontEngine();
|
rv->SetFrontEngine();
|
||||||
} else if (rv->subtype == 1) {
|
} else if (rv->subtype == 1) {
|
||||||
/* The road vehicle is an articulated part. */
|
/* The road vehicle is an articulated part. */
|
||||||
rv->subtype = 0;
|
rv->subtype = 0;
|
||||||
rv->SetArticulatedPart();
|
rv->SetArticulatedPart();
|
||||||
} else {
|
} else {
|
||||||
NOT_REACHED();
|
NOT_REACHED();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -360,7 +362,7 @@ void AfterLoadVehicles(bool part_of_load)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Stop non-front engines */
|
/* Stop non-front engines */
|
||||||
if (IsSavegameVersionBefore(112)) {
|
if (part_of_load && IsSavegameVersionBefore(112)) {
|
||||||
FOR_ALL_VEHICLES(v) {
|
FOR_ALL_VEHICLES(v) {
|
||||||
if (v->type == VEH_TRAIN) {
|
if (v->type == VEH_TRAIN) {
|
||||||
Train *t = Train::From(v);
|
Train *t = Train::From(v);
|
||||||
|
Loading…
Reference in New Issue
Block a user