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 61183f30c..348cbb6c6 100644
--- a/src/saveload/afterload.cpp
+++ b/src/saveload/afterload.cpp
@@ -2295,6 +2295,19 @@ bool AfterLoadGame()
SetWaterClass(t, WATER_CLASS_INVALID);
}
}
+
+ /* Waypoints with custom name may have a non-unique town_cn,
+ * renumber those. First set all affected waypoints to the
+ * highest possible number to get them numbered in the
+ * order they have in the pool. */
+ Waypoint *wp;
+ FOR_ALL_WAYPOINTS(wp) {
+ if (wp->name != NULL) wp->town_cn = UINT16_MAX;
+ }
+
+ FOR_ALL_WAYPOINTS(wp) {
+ if (wp->name != NULL) MakeDefaultName(wp);
+ }
}
/* Road stops is 'only' updating some caches */