diff options
Diffstat (limited to 'src/saveload')
-rw-r--r-- | src/saveload/afterload.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 36dca96bc..911e687dd 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1841,6 +1841,19 @@ bool AfterLoadGame() } } + if (CheckSavegameVersion(121)) { + /* Delete small ufos heading for non-existing vehicles */ + Vehicle *v; + FOR_ALL_DISASTERVEHICLES(v) { + if (v->subtype == 2/*ST_SMALL_UFO*/ && v->current_order.GetDestination() != 0) { + const Vehicle *u = Vehicle::GetIfValid(v->dest_tile); + if (u == NULL || u->type != VEH_ROAD || !IsRoadVehFront(u)) { + delete v; + } + } + } + } + AfterLoadLabelMaps(); GamelogPrintDebug(1); |