Skip to content

Commit 18f7f59

Browse files
committed
Extends NWM T-int definitions and fixes diagonal stubs in NwmResolver.
1 parent 16eec96 commit 18f7f59

1 file changed

Lines changed: 125 additions & 23 deletions

File tree

src/main/scala/module/NwmResolver.scala

Lines changed: 125 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ class NwmResolver extends IdResolver {
110110

111111
if (NP.isSingleTile(n)) {
112112
add(id + 0x0200, n~orientA(ES)) // diag 1
113-
add(id + 0x0300, n~orientA(SWC)) // diag stub 1
113+
add(id + 0x0300, n~orientA(CWS)) // diag stub 1
114114
add(id + 0x0400, n~(0,-2,0,+11)) // 45 curve 1
115115
add(id + 0x0500, n~(0,0,-1,+13)) // 45 curve 1
116116
if (!n.isSymm) {
117117
add(id + 0x0900, n~orientA(SE)) // diag 2
118-
add(id + 0x0a00, n~orientA(CWS)) // diag stub 2
118+
add(id + 0x0a00, n~orientA(SWC)) // diag stub 2
119119
add(id + 0x0b00, n~(0,+2,0,-11)) // 45 curve 2
120120
add(id + 0x0c00, n~(0,0,+1,-13)) // 45 curve 2
121121
}
@@ -253,7 +253,7 @@ class NwmResolver extends IdResolver {
253253
//T-intersections
254254
//NWM-Thru
255255
//Single-Tile Networks except Tla3
256-
for (n <- Seq(Ave2, Ard3, Owr1, Owr3, Nrd4)) {
256+
for (n <- Seq(Ave2, Ard3, Owr1, Nrd4)) {
257257
//OxO
258258
add(nwmRangeId(n) + 0x3000, n~WE & Street~CS) // Street
259259
add(nwmRangeId(n) + 0x3100, n~WE & Road~CS) // Road
@@ -278,9 +278,9 @@ class NwmResolver extends IdResolver {
278278
add(nwmRangeId(n) + 0xA000, n~NS & Street~CSE) // Street
279279
add(nwmRangeId(n) + 0xA100, n~NS & Road~CSE) // Road
280280
add(nwmRangeId(n) + 0xA200, n~NS & Onewayroad~CSE) // Onewayroad
281-
add(nwmRangeId(n) + 0xA300, n~NS & Avenue~(0,0,0,1), when = n != Owr1) // Avenue
282-
add(nwmRangeId(n) + 0xA400, n~NS & Avenue~(1,0,0,3), when = n != Owr1) // Avenue
283-
add(nwmRangeId(n) + 0xA309, n~NS & Avenue~(0,0,0,3), when = n != Owr1) // Avenue
281+
add(nwmRangeId(n) + 0xA309, n~NS & Avenue~(0,0,0,1), when = (n != Owr1 && n != Owr3)) // Avenue
282+
add(nwmRangeId(n) + 0xA400, n~NS & Avenue~(1,0,0,3), when = (n != Owr1 && n != Owr3)) // Avenue
283+
add(nwmRangeId(n) + 0xA300, n~NS & Avenue~(0,0,0,3), when = (n != Owr1 && n != Owr3)) // Avenue
284284
add(nwmRangeId(n) + 0xAA00, n~NS & Tla3~CSE) // Tla3
285285
add(nwmRangeId(n) + 0xAB00, n~NS & Ave2~CSE) // Ave2
286286
add(nwmRangeId(n) + 0xAC00, n~NS & Ard3~ESC, when = n != Owr1) // Ard3
@@ -297,8 +297,8 @@ class NwmResolver extends IdResolver {
297297
add(nwmRangeId(n) + 0xB209, n~WN & Onewayroad~WC) // Onewayroad 2
298298
add(nwmRangeId(n) + 0xB309, n~EN & Avenue~CW) // Avenue 1a
299299
add(nwmRangeId(n) + 0xB300, n~SW & Avenue~CW) // Avenue 1b
300-
add(nwmRangeId(n) + 0xB400, n~EN & Avenue~WC) // Avenue 2a
301-
add(nwmRangeId(n) + 0xB409, n~SW & Avenue~WC) // Avenue 2b
300+
add(nwmRangeId(n) + 0xB400, n~SW & Avenue~WC) // Avenue 2a
301+
add(nwmRangeId(n) + 0xB409, n~EN & Avenue~WC) // Avenue 2b
302302
add(nwmRangeId(n) + 0xBA00, n~SE & Tla3~WC) // Tla3 1 - might need projection
303303
add(nwmRangeId(n) + 0xBA09, n~WN & Tla3~WC) // Tla3 2 - might need projection
304304
add(nwmRangeId(n) + 0xBB00, n~SE & Ave2~WC) // Ave2 1
@@ -362,12 +362,12 @@ class NwmResolver extends IdResolver {
362362
builder.addOne((Tla3~NS).projectRight & Road~CSE, IdTile(0x7100A100, R0F0, mirroredOnly)) // Road
363363
builder.addOne((Tla3~NS).projectLeft & Onewayroad~CSE, IdTile(0x5100A200, R0F0, nonMirroredOnly)) // Onewayroad
364364
builder.addOne((Tla3~NS).projectRight & Onewayroad~CSE, IdTile(0x7100A200, R0F0, mirroredOnly)) // Onewayroad
365-
builder.addOne((Tla3~NS).projectLeft & Avenue~(0,0,0,1), IdTile(0x5100A300, R0F0, nonMirroredOnly)) // Avenue
366-
builder.addOne((Tla3~NS).projectRight & Avenue~(0,0,0,1), IdTile(0x7100A300, R0F0, mirroredOnly)) // Avenue
365+
builder.addOne((Tla3~NS).projectLeft & Avenue~(0,0,0,1), IdTile(0x5100A309, R0F0, nonMirroredOnly)) // Avenue
366+
builder.addOne((Tla3~NS).projectRight & Avenue~(0,0,0,1), IdTile(0x7100A309, R0F0, mirroredOnly)) // Avenue
367367
builder.addOne((Tla3~NS).projectLeft & Avenue~(1,0,0,3), IdTile(0x5100A400, R0F0, nonMirroredOnly)) // Avenue
368368
builder.addOne((Tla3~NS).projectRight & Avenue~(1,0,0,3), IdTile(0x7100A400, R0F0, mirroredOnly)) // Avenue
369-
builder.addOne((Tla3~NS).projectLeft & Avenue~(0,0,0,3), IdTile(0x5100A309, R0F0, nonMirroredOnly)) // Avenue
370-
builder.addOne((Tla3~NS).projectRight & Avenue~(0,0,0,3), IdTile(0x7100A309, R0F0, mirroredOnly)) // Avenue
369+
builder.addOne((Tla3~NS).projectLeft & Avenue~(0,0,0,3), IdTile(0x5100A300, R0F0, nonMirroredOnly)) // Avenue
370+
builder.addOne((Tla3~NS).projectRight & Avenue~(0,0,0,3), IdTile(0x7100A300, R0F0, mirroredOnly)) // Avenue
371371
builder.addOne((Tla3~NS).projectLeft & (Tla3~CSE).projectLeft, IdTile(0x5100AA00, R0F0, nonMirroredOnly)) // Tla3
372372
builder.addOne((Tla3~NS).projectRight & (Tla3~CSE).projectRight, IdTile(0x7100AA00, R0F0, mirroredOnly)) // Tla3
373373
builder.addOne((Tla3~NS).projectLeft & Ave2~CSE, IdTile(0x5100AB00, R0F0, nonMirroredOnly)) // Ave2
@@ -397,10 +397,10 @@ class NwmResolver extends IdResolver {
397397
builder.addOne((Tla3~EN).projectRight & Avenue~CW, IdTile(0x7100B309, R0F0, mirroredOnly)) // Avenue 2
398398
builder.addOne((Tla3~SW).projectLeft & Avenue~CW, IdTile(0x5100B300, R0F0, nonMirroredOnly)) // Avenue 2
399399
builder.addOne((Tla3~SW).projectRight & Avenue~CW, IdTile(0x7100B300, R0F0, mirroredOnly)) // Avenue 2
400-
builder.addOne((Tla3~EN).projectLeft & Avenue~WC, IdTile(0x5100B400, R0F0, nonMirroredOnly)) // Avenue 2
401-
builder.addOne((Tla3~EN).projectRight & Avenue~WC, IdTile(0x5100B400, R0F0, mirroredOnly)) // Avenue 2
402-
builder.addOne((Tla3~SW).projectLeft & Avenue~WC, IdTile(0x7100B409, R0F0, nonMirroredOnly)) // Avenue 2
403-
builder.addOne((Tla3~SW).projectRight & Avenue~WC, IdTile(0x7100B409, R0F0, mirroredOnly)) // Avenue 2
400+
builder.addOne((Tla3~SW).projectLeft & Avenue~WC, IdTile(0x5100B400, R0F0, nonMirroredOnly)) // Avenue 2
401+
builder.addOne((Tla3~SW).projectRight & Avenue~WC, IdTile(0x7100B400, R0F0, mirroredOnly)) // Avenue 2
402+
builder.addOne((Tla3~EN).projectLeft & Avenue~WC, IdTile(0x5100B409, R0F0, nonMirroredOnly)) // Avenue 2
403+
builder.addOne((Tla3~EN).projectRight & Avenue~WC, IdTile(0x7100B409, R0F0, mirroredOnly)) // Avenue 2
404404
builder.addOne((Tla3~SE).projectLeft & (Tla3~WC).projectLeft, IdTile(0x5100BA00, R0F0, nonMirroredOnly)) // Tla3 1
405405
builder.addOne((Tla3~SE).projectRight & (Tla3~WC).projectRight, IdTile(0x7100BA00, R0F0, mirroredOnly)) // Tla3 1
406406
builder.addOne((Tla3~WN).projectLeft & (Tla3~WC).projectLeft, IdTile(0x5100BA09, R0F0, nonMirroredOnly)) // Tla3 2
@@ -486,6 +486,98 @@ class NwmResolver extends IdResolver {
486486
add(nwmRangeId(n) + 0x4D89, n~SN & Ave6m~EC) // AVE-Mb
487487
}
488488

489+
for (n <- Seq(Owr3)) {
490+
//OxO
491+
add(nwmRangeId(n) + 0x3000, n~WE & Street~CS) // Street
492+
add(nwmRangeId(n) + 0x3100, n~WE & Road~CS) // Road
493+
add(nwmRangeId(n) + 0x3200, n~WE & Onewayroad~CS) // Onewayroad
494+
add(nwmRangeId(n) + 0x4300, n~WE & Avenue~NC, when = n != Owr1) // Avenue
495+
add(nwmRangeId(n) + 0x3800, n~NS & Tla3~CE) // TLA-3
496+
add(nwmRangeId(n) + 0x3900, n~NS & Ave2~CE) // AVE-2
497+
add(nwmRangeId(n) + 0x3A00, n~NS & Ard3~EC, when = n != Owr1) // ARD-3a
498+
add(nwmRangeId(n) + 0x3B00, n~NS & Owr1~CE) // OWR-1
499+
add(nwmRangeId(n) + 0x3C00, n~NS & Owr3~CE, when = n != Ave2 || n != Owr1) // OWR-3
500+
add(nwmRangeId(n) + 0x3D00, n~NS & Nrd4~CE, when = n != Owr1) // NRD-4
501+
add(nwmRangeId(n) + 0x4800, n~NS & Tla5~EC, when = n != Owr1) // TLA-5
502+
add(nwmRangeId(n) + 0x4A00, n~NS & Rd4~EC, when = n != Owr1) // RD-4
503+
add(nwmRangeId(n) + 0x4B00, n~NS & Rd6~EC, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // RD-4
504+
add(nwmRangeId(n) + 0x4C00, n~NS & Ave6~EC, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // AVE-6
505+
add(nwmRangeId(n) + 0x4C09, n~NS & Tla7m~EC, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // TLA-M
506+
add(nwmRangeId(n) + 0x4D09, n~NS & Ave6m~EC, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // AVE-M
507+
add(nwmRangeId(n) + 0x4900, n~NS & Owr4~EC, when = n == Nrd4) // OWR-4
508+
add(nwmRangeId(n) + 0x4909, n~NS & Owr4m~EC, when = n == Nrd4) // OWR-4m
509+
add(nwmRangeId(n) + 0x4D00, n~NS & Ave8~EC, when = n == Nrd4) // AVE-8
510+
//OxD
511+
add(nwmRangeId(n) + 0xA000, n~NS & Street~CSE) // Street
512+
add(nwmRangeId(n) + 0xA100, n~NS & Road~CSE) // Road
513+
add(nwmRangeId(n) + 0xA200, n~NS & Onewayroad~CSE) // Onewayroad
514+
// add(nwmRangeId(n) + 0xA309, n~NS & Avenue~(0,0,0,1)) // Avenue
515+
// add(nwmRangeId(n) + 0xA400, n~NS & Avenue~(1,0,0,3)) // Avenue
516+
// add(nwmRangeId(n) + 0xA300, n~NS & Avenue~(0,0,0,3)) // Avenue
517+
builder.addOne((Owr3~NS).projectLeft & Avenue~(0,0,0,1), IdTile(0x5104A309, R0F0, nonMirroredOnly)) // Avenue
518+
builder.addOne((Owr3~NS).projectRight & Avenue~(0,0,0,1), IdTile(0x7104A309, R0F0, mirroredOnly)) // Avenue
519+
builder.addOne((Owr3~NS).projectLeft & Avenue~(1,0,0,3), IdTile(0x5104A400, R0F0, nonMirroredOnly)) // Avenue
520+
builder.addOne((Owr3~NS).projectRight & Avenue~(1,0,0,3), IdTile(0x7104A400, R0F0, mirroredOnly)) // Avenue
521+
builder.addOne((Owr3~NS).projectLeft & Avenue~(0,0,0,3), IdTile(0x5104A300, R0F0, nonMirroredOnly)) // Avenue
522+
builder.addOne((Owr3~NS).projectRight & Avenue~(0,0,0,3), IdTile(0x7104A300, R0F0, mirroredOnly)) // Avenue
523+
add(nwmRangeId(n) + 0xAA00, n~NS & Tla3~CSE) // Tla3
524+
add(nwmRangeId(n) + 0xAB00, n~NS & Ave2~CSE) // Ave2
525+
add(nwmRangeId(n) + 0xAC00, n~NS & Ard3~ESC, when = n != Owr1) // Ard3
526+
add(nwmRangeId(n) + 0xAC80, n~NS & Ard3~CSE, when = n != Owr1) // Ard3
527+
add(nwmRangeId(n) + 0xAD00, n~NS & Owr1~CSE) // Owr1
528+
add(nwmRangeId(n) + 0xAE00, n~NS & Owr3~CSE, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // Owr3
529+
add(nwmRangeId(n) + 0xAF00, n~NS & Nrd4~CSE, when = n != Owr1) // Nrd4
530+
//DxO
531+
add(nwmRangeId(n) + 0xB000, n~SE & Street~WC) // Street 1
532+
add(nwmRangeId(n) + 0xB009, n~WN & Street~WC) // Street 2
533+
add(nwmRangeId(n) + 0xB100, n~SE & Road~WC) // Road 1
534+
add(nwmRangeId(n) + 0xB109, n~WN & Road~WC) // Road 2
535+
add(nwmRangeId(n) + 0xB200, n~SE & Onewayroad~WC) // Onewayroad 1
536+
add(nwmRangeId(n) + 0xB209, n~WN & Onewayroad~WC) // Onewayroad 2
537+
add(nwmRangeId(n) + 0xB309, n~EN & Avenue~CW) // Avenue 1a
538+
add(nwmRangeId(n) + 0xB300, n~SW & Avenue~CW) // Avenue 1b
539+
add(nwmRangeId(n) + 0xB400, n~SW & Avenue~WC) // Avenue 2a
540+
add(nwmRangeId(n) + 0xB409, n~EN & Avenue~WC) // Avenue 2b
541+
add(nwmRangeId(n) + 0xBA00, n~SE & Tla3~WC) // Tla3 1 - might need projection
542+
add(nwmRangeId(n) + 0xBA09, n~WN & Tla3~WC) // Tla3 2 - might need projection
543+
add(nwmRangeId(n) + 0xBB00, n~SE & Ave2~WC) // Ave2 1
544+
add(nwmRangeId(n) + 0xBB09, n~WN & Ave2~WC) // Ave2 2
545+
add(nwmRangeId(n) + 0xBC00, n~SE & Ard3~WC, when = n != Owr1) // Ard3 1a
546+
add(nwmRangeId(n) + 0xBC09, n~WN & Ard3~WC, when = n != Owr1) // Ard3 1b
547+
add(nwmRangeId(n) + 0xBC80, n~SE & Ard3~CW, when = n != Owr1) // Ard3 2a
548+
add(nwmRangeId(n) + 0xBC89, n~WN & Ard3~CW, when = n != Owr1) // Ard3 2b
549+
add(nwmRangeId(n) + 0xBD00, n~SE & Owr1~WC) // Owr1 1
550+
add(nwmRangeId(n) + 0xBD09, n~WN & Owr1~WC) // Owr1 2
551+
add(nwmRangeId(n) + 0xBE00, n~SE & Owr3~WC, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // Owr3 1
552+
add(nwmRangeId(n) + 0xBE09, n~WN & Owr3~WC, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // Owr3 2
553+
add(nwmRangeId(n) + 0xBF00, n~SE & Nrd4~WC) // Nrd4 1
554+
add(nwmRangeId(n) + 0xBF09, n~WN & Nrd4~WC) // Nrd4 2
555+
//DxD
556+
add(nwmRangeId(n) + 0xC000, n~SE & Street~CSW) // Street 1
557+
add(nwmRangeId(n) + 0xC009, n~WN & Street~CEN) // Street 2
558+
add(nwmRangeId(n) + 0xC100, n~SE & Road~CSW) // Road 1
559+
add(nwmRangeId(n) + 0xC109, n~WN & Road~CEN) // Road 2
560+
add(nwmRangeId(n) + 0xC200, n~SE & Onewayroad~CSW) // Onewayroad 1
561+
add(nwmRangeId(n) + 0xC209, n~WN & Onewayroad~CEN) // Onewayroad 2
562+
add(nwmRangeId(n) + 0xC300, n~SE & Avenue~CSW) // Avenue 1a
563+
add(nwmRangeId(n) + 0xC309, n~SE & Avenue~(3,1,0,0)) // Avenue 2a
564+
add(nwmRangeId(n) + 0xC400, n~SE & Avenue~CNE) // Avenue 1b
565+
add(nwmRangeId(n) + 0xC409, n~SE & Avenue~(0,0,3,1)) // Avenue 2b
566+
add(nwmRangeId(n) + 0xCA00, n~SE & Tla3~CSW) // Tla3 1 - might need projection
567+
add(nwmRangeId(n) + 0xCA09, n~WN & Tla3~CEN) // Tla3 2 - might need projection
568+
add(nwmRangeId(n) + 0xCB00, n~SE & Ave2~CSW) // Ave2 1
569+
add(nwmRangeId(n) + 0xCB09, n~WN & Ave2~CEN) // Ave2 2
570+
add(nwmRangeId(n) + 0xCC00, n~SE & Ard3~WSC, when = n != Owr1) // Ard3 1a
571+
add(nwmRangeId(n) + 0xCC09, n~WN & Ard3~CEN, when = n != Owr1) // Ard3 1b
572+
add(nwmRangeId(n) + 0xCC80, n~SE & Ard3~CSW, when = n != Owr1) // Ard3 2a
573+
add(nwmRangeId(n) + 0xCC89, n~WN & Ard3~NEC, when = n != Owr1) // Ard3 2b
574+
add(nwmRangeId(n) + 0xCD00, n~SE & Owr1~CSW) // Owr1 1
575+
add(nwmRangeId(n) + 0xCD09, n~WN & Owr1~CEN) // Owr1 2
576+
add(nwmRangeId(n) + 0xCE00, n~SE & Owr3~CSW, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // Owr3 1
577+
add(nwmRangeId(n) + 0xCE09, n~WN & Owr3~CEN, when = (n == Ard3 || n == Owr3 || n == Nrd4)) // Owr3 2
578+
add(nwmRangeId(n) + 0xCF00, n~SE & Nrd4~CSW) // Nrd4 1
579+
add(nwmRangeId(n) + 0xCF09, n~WN & Nrd4~CEN) // Nrd4 2
580+
}
489581
//Multi-Tile Networks
490582
for (n <- Seq(Tla5, Owr4, Owr4m, Owr5, Rd4, Rd6, Ave6, Ave8)) {
491583
add(nwmRangeId(n) + 0x3000, n~EW & Street~NC) // Street Short
@@ -509,8 +601,8 @@ class NwmResolver extends IdResolver {
509601
add(nwmRangeId(n) + 0x3D00, n~EW & Nrd4~NC) // NRD-4 Short
510602
add(nwmRangeId(n) + 0x3D80, n~WE & Nrd4~NC) // NRD-4 Long
511603
add(nwmRangeId(n) + 0x3E00, n~WE & Tla5~NC) // TLA-5 Long
512-
add(nwmRangeId(n) + 0x3F00, n~WE & Owr4~NC) // OWR-4 Long
513-
add(nwmRangeId(n) + 0x3700, n~WE & Owr4m~NC) // OWR-4m Long
604+
add(nwmRangeId(n) + 0x3F00, n~WE & Owr4~NC, when = (n != Owr4 && n != Owr4m)) // OWR-4 Long
605+
add(nwmRangeId(n) + 0x3700, n~WE & Owr4m~NC, when = (n != Owr4 && n != Owr4m)) // OWR-4m Long
514606
add(nwmRangeId(n) + 0x4000, n~WE & Owr5~NC) // OWR-5 Long
515607
add(nwmRangeId(n) + 0x4100, n~WE & Rd4~NC) // RD-4 Long
516608
add(nwmRangeId(n) + 0x4200, n~WE & Rd6~NC) // RD-6 Long
@@ -537,9 +629,9 @@ class NwmResolver extends IdResolver {
537629
add(nwmRangeId(n) + 0xA700, n~NC & Onewayroad~WS) // Onewayroad 1 - dummy for OWR-3
538630
add(nwmRangeId(n) + 0xA709, n~SC & Onewayroad~WS) // Onewayroad 2 - dummy for OWR-3
539631
add(nwmRangeId(n) + 0xA800, n~CW & Avenue~ES, when = n != Owr3) // Avenue Short 1 - disabled for OWR-3
540-
add(nwmRangeId(n) + 0xA809, n~CW & Avenue~SharedDiagRight, when = n != Owr3) // Avenue Short 2 - disabled for OWR-3
632+
// add(nwmRangeId(n) + 0xA809, n~CW & Avenue~SharedDiagRight, when = n != Owr3) // Avenue Short 2 - disabled for OWR-3
541633
add(nwmRangeId(n) + 0xA900, n~SC & Avenue~SW) // Avenue Long 1
542-
// add(nwmRangeId(n) + 0xA909, n~CS & Avenue~SharedDiagLeft) // Avenue Long 1
634+
add(nwmRangeId(n) + 0xA909, n~SC & Avenue~SharedDiagLeft) // Avenue Long 1
543635
//DxO
544636
add(nwmRangeId(n) + 0xB500, n~CSE & Street~NS) // Street
545637
add(nwmRangeId(n) + 0xB600, n~CSE & Road~NS) // Road
@@ -553,15 +645,25 @@ class NwmResolver extends IdResolver {
553645
add(nwmRangeId(n) + 0xB800, n~CSE & Avenue~SN, when = n != Owr3) // Avenue Short - disabled for OWR-3
554646
add(nwmRangeId(n) + 0xB900, n~SEC & Avenue~EW) // Avenue Long 1
555647
add(nwmRangeId(n) + 0xB909, n~WNC & Avenue~EW) // Avenue Long 2
648+
//DxD
649+
add(nwmRangeId(n) + 0xC500, n~CSE & Street~WS) // Street 1
650+
add(nwmRangeId(n) + 0xC509, n~CWN & Street~NE) // Street 2
651+
add(nwmRangeId(n) + 0xC600, n~CSE & Road~WS) // Road 1
652+
add(nwmRangeId(n) + 0xC609, n~CWN & Road~NE) // Road 2
653+
add(nwmRangeId(n) + 0xC700, n~CSE & Onewayroad~WS) // Onewayroad 1
654+
add(nwmRangeId(n) + 0xC709, n~CWN & Onewayroad~NE) // Onewayroad 2
655+
add(nwmRangeId(n) + 0xC800, n~CSW & Avenue~ES) // Avenue Short
656+
add(nwmRangeId(n) + 0xC900, n~CSE & Avenue~NE) // Avenue Long 1
657+
add(nwmRangeId(n) + 0xC909, n~CES & Avenue~SharedDiagLeft) // Avenue Long 2
556658
}
557659

558660
//Multi-Tile Networks
559661
//OWR-5 does not have any valid T-ints with Maxis networks - just itself, RD-6, and the Triple-Tile networks
560662
for (n <- Seq(Tla5, Owr4, Owr4m, Rd4, Rd6, Ave6, Ave8, Tla7m, Ave6m)) {
561663
add(nwmRangeId(n) + 0x3400, n~NC & Avenue~WE, when = n != Owr5) // Avenue Long
562-
add(nwmRangeId(n) + 0x4500, n~CE & Road~NS) // Road - dummy for OWR-5/RD-6/AVE-6/AVE-8
563-
add(nwmRangeId(n) + 0x4600, n~CE & Onewayroad~NS) // Onewayroad - dummy for OWR-5/RD-6/AVE-6/AVE-8
564-
add(nwmRangeId(n) + 0x4700, n~CE & Street~NS, when = (n == Tla5 || n == Rd4)) // Street
664+
add(nwmRangeId(n) + 0x4500, n~EC & Road~NS) // Road - dummy for OWR-5/RD-6/AVE-6/AVE-8
665+
add(nwmRangeId(n) + 0x4600, n~EC & Onewayroad~NS) // Onewayroad - dummy for OWR-5/RD-6/AVE-6/AVE-8
666+
add(nwmRangeId(n) + 0x4700, n~EC & Street~NS, when = (n == Tla5 || n == Rd4)) // Street
565667
// add(nwmRangeId(n) + 0x3300, n~NC & Avenue~EW, when = (n == Tla5 || n == Rd4)) // Avenue Short - not currently supported for multi-tile networks, could add for Tla5 and Rd4
566668
}
567669

0 commit comments

Comments
 (0)