@@ -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