summaryrefslogtreecommitdiff
path: root/src/saveload
diff options
context:
space:
mode:
Diffstat (limited to 'src/saveload')
-rw-r--r--src/saveload/afterload.cpp13
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);