summaryrefslogtreecommitdiff
path: root/src/openttd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-10-25 13:51:47 +0000
committerrubidium <rubidium@openttd.org>2008-10-25 13:51:47 +0000
commita14ad77a36c836fd3f6940eadeb8161e7ad02f92 (patch)
treeba7c12966aad60d82c8e03bb0593bce949ec2b86 /src/openttd.cpp
parent9075a2bbfc7c33a089fe100c42b96b831521d6d8 (diff)
downloadopenttd-a14ad77a36c836fd3f6940eadeb8161e7ad02f92.tar.xz
(svn r14528) -Codechange: cache the closest town for all road tiles instead of only roads owned by tiles. This replaces a O(n) search over all towns from the road's tileloop with a O(1) lookup (PhilSophus)
Diffstat (limited to 'src/openttd.cpp')
-rw-r--r--src/openttd.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/openttd.cpp b/src/openttd.cpp
index 66c416557..b3ccfcb83 100644
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -71,6 +71,7 @@
#include "tree_map.h"
#include "rail_map.h"
#include "road_map.h"
+#include "road_cmd.h"
#include "station_map.h"
#include "town_map.h"
#include "industry_map.h"
@@ -2561,6 +2562,9 @@ bool AfterLoadGame()
}
if (CheckSavegameVersion(103)) {
+ /* Non-town-owned roads now store the closest town */
+ InvalidateTownForRoadTile();
+
/* signs with invalid owner left from older savegames */
Sign *si;
FOR_ALL_SIGNS(si) {