summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2023-01-10 12:49:55 +0100
committerTor Andersson <tor@ccxvii.net>2023-02-18 13:02:39 +0100
commit39da77aa0351b2c207310acc3eb5b20450019b70 (patch)
tree7fc1c6658adcd705971b76f551e651de3b13dca3
parent0529cc0a1697c78996c4f41971d6cfbdbed9bae2 (diff)
downloadnevsky-39da77aa0351b2c207310acc3eb5b20450019b70.tar.gz
Fix adjacency data with multiple ways between same locales.
-rw-r--r--data.js4
-rw-r--r--tools/gendata.js23
2 files changed, 16 insertions, 11 deletions
diff --git a/data.js b/data.js
index 5ddc6fa..c714cba 100644
--- a/data.js
+++ b/data.js
@@ -13,12 +13,12 @@ locales:[
{"name":"Harrien","type":"region","stronghold":0,"walls":0,"vp":0,"region":"Danish Estonia","ways":[[3,33],[17,34]],"box":{"x":567,"y":3983,"w":200,"h":100},"adjacent":[3,17],"adjacent_by_trackway":[3,17],"adjacent_by_waterway":[]},
{"name":"Revala","type":"region","stronghold":0,"walls":0,"vp":0,"region":"Danish Estonia","ways":[[0,25],[1,26]],"box":{"x":1030,"y":3410,"w":200,"h":100},"adjacent":[0,1],"adjacent_by_trackway":[0,1],"adjacent_by_waterway":[]},
{"name":"Wierland","type":"region","stronghold":0,"walls":0,"vp":0,"region":"Danish Estonia","ways":[[2,27],[23,29],[1,31]],"box":{"x":1999,"y":3680,"w":200,"h":100},"adjacent":[1,2,23],"adjacent_by_trackway":[1,2,23],"adjacent_by_waterway":[]},
-{"name":"Dorpat","type":"bishopric","stronghold":3,"walls":4,"vp":2,"region":"Crusader Livonia","ways":[[12,0,3],[22,0],[2,2],[38,2],[49,2],[11,3],[23,36]],"box":{"x":1625,"y":4589,"w":253,"h":91},"adjacent":[2,11,12,22,23,38,49],"adjacent_by_trackway":[12,22,23],"adjacent_by_waterway":[2,11,38,49]},
+{"name":"Dorpat","type":"bishopric","stronghold":3,"walls":4,"vp":2,"region":"Crusader Livonia","ways":[[12,0,3],[22,0],[2,2],[38,2],[49,2],[11,3],[23,36]],"box":{"x":1625,"y":4589,"w":253,"h":91},"adjacent":[2,11,12,22,23,38,49],"adjacent_by_trackway":[12,22,23],"adjacent_by_waterway":[2,11,12,38,49]},
{"name":"Leal","type":"bishopric","stronghold":3,"walls":4,"vp":2,"region":"Crusader Livonia","ways":[[3,35],[15,37]],"box":{"x":108,"y":4266,"w":205,"h":91},"adjacent":[3,15],"adjacent_by_trackway":[3,15],"adjacent_by_waterway":[]},
{"name":"Riga","type":"bishopric","stronghold":3,"walls":4,"vp":2,"region":"Crusader Livonia","ways":[[13,8]],"box":{"x":273,"y":6231,"w":205,"h":91},"adjacent":[13],"adjacent_by_trackway":[],"adjacent_by_waterway":[13]},
{"name":"Adsel","type":"castle","stronghold":2,"walls":4,"vp":1,"region":"Crusader Livonia","ways":[[13,9],[18,44],[21,44],[14,45]],"box":{"x":1504,"y":5612,"w":185,"h":60},"adjacent":[13,14,18,21],"adjacent_by_trackway":[14,18,21],"adjacent_by_waterway":[13]},
{"name":"Fellin","type":"castle","stronghold":2,"walls":4,"vp":1,"region":"Crusader Livonia","ways":[[7,3],[12,3],[15,7],[17,7],[20,38]],"box":{"x":1013,"y":4583,"w":184,"h":61},"adjacent":[7,12,15,17,20],"adjacent_by_trackway":[20],"adjacent_by_waterway":[7,12,15,17]},
-{"name":"Odenpäh","type":"castle","stronghold":2,"walls":4,"vp":1,"region":"Crusader Livonia","ways":[[7,0,3],[22,0],[11,3],[14,46]],"box":{"x":1378,"y":5103,"w":250,"h":61},"adjacent":[7,11,14,22],"adjacent_by_trackway":[7,14,22],"adjacent_by_waterway":[11]},
+{"name":"Odenpäh","type":"castle","stronghold":2,"walls":4,"vp":1,"region":"Crusader Livonia","ways":[[7,0,3],[22,0],[11,3],[14,46]],"box":{"x":1378,"y":5103,"w":250,"h":61},"adjacent":[7,11,14,22],"adjacent_by_trackway":[7,14,22],"adjacent_by_waterway":[7,11]},
{"name":"Wenden","type":"castle","stronghold":2,"walls":4,"vp":1,"region":"Crusader Livonia","ways":[[9,8],[10,9],[19,40],[21,41]],"box":{"x":909,"y":5759,"w":232,"h":60},"adjacent":[9,10,19,21],"adjacent_by_trackway":[19,21],"adjacent_by_waterway":[9,10]},
{"name":"Kirrumpäh","type":"town","stronghold":0,"walls":0,"vp":0,"region":"Crusader Livonia","ways":[[10,45],[12,46],[32,47]],"box":{"x":1877,"y":5389,"w":175,"h":30},"adjacent":[10,12,32],"adjacent_by_trackway":[10,12,32],"adjacent_by_waterway":[]},
{"name":"Pernau","type":"town","stronghold":0,"walls":0,"vp":0,"region":"Crusader Livonia","ways":[[11,7],[17,7],[8,37]],"box":{"x":517,"y":4580,"w":118,"h":30},"adjacent":[8,11,17],"adjacent_by_trackway":[8],"adjacent_by_waterway":[11,17]},
diff --git a/tools/gendata.js b/tools/gendata.js
index 0a1f5b4..c671cf6 100644
--- a/tools/gendata.js
+++ b/tools/gendata.js
@@ -307,15 +307,20 @@ locales.forEach(loc => {
loc.adjacent = []
loc.adjacent_by_trackway = []
loc.adjacent_by_waterway = []
- for (let [to, way] of loc.ways) {
- if (!loc.adjacent.includes(to))
- loc.adjacent.push(to)
- if (ways[way].type === "trackway")
- if (!loc.adjacent_by_trackway.includes(to))
- loc.adjacent_by_trackway.push(to)
- if (ways[way].type === "waterway")
- if (!loc.adjacent_by_waterway.includes(to))
- loc.adjacent_by_waterway.push(to)
+ for (let data of loc.ways) {
+ let to = data[0]
+ for (let i = 1; i < data.length; ++i) {
+ let way = data[i]
+ console.log("WAY", loc.name, to, way)
+ if (!loc.adjacent.includes(to))
+ loc.adjacent.push(to)
+ if (ways[way].type === "trackway")
+ if (!loc.adjacent_by_trackway.includes(to))
+ loc.adjacent_by_trackway.push(to)
+ if (ways[way].type === "waterway")
+ if (!loc.adjacent_by_waterway.includes(to))
+ loc.adjacent_by_waterway.push(to)
+ }
}
loc.adjacent.sort(cmpnum)
loc.adjacent_by_trackway.sort(cmpnum)