Skip to content

Commit d1cf4e2

Browse files
clarencechenmemo33
authored andcommitted
Add new long-T intersection flags to SAMxRoad and SAMxOWR DxD intersections
1 parent 02fa8d5 commit d1cf4e2

3 files changed

Lines changed: 30 additions & 28 deletions

File tree

src/main/scala/module/MiscResolver.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@ class MiscResolver extends IdResolver {
261261
add(0x5f502200, Road~NS & Street~ES)
262262
add(0x5f502300, Road~CS & Street~NE)
263263
add(0x5f502400, Road~ES & Street~NE)
264-
add(0x5f504400, Road~ES & Street~CEN)
265-
add(0x5f504500, Road~NW & Street~CSW)
264+
add(0x5f504400, Road~ES & Street~(0,1,203,0))
265+
add(0x5f504500, Road~NW & Street~(203,0,0,0))
266266
add(0x00aa0800, Road~WE & Street~CS)
267267
add(0x00aa0400, Road~CE & Street~NS)
268268
add(0x00aa0100, Road~NC & Street~CS)
@@ -406,8 +406,8 @@ class MiscResolver extends IdResolver {
406406
add(0x5f503500, Onewayroad~NS & Street~CSE)
407407
add(0x5f503600, Onewayroad~ES & Street~NE)
408408
add(0x5f503700, Onewayroad~CS & Street~NE)
409-
add(0x5f504600, Onewayroad~ES & Street~CEN)
410-
add(0x5f504700, Onewayroad~NW & Street~CSW)
409+
add(0x5f504600, Onewayroad~ES & Street~(0,1,203,0))
410+
add(0x5f504700, Onewayroad~NW & Street~(203,0,0,0))
411411
add(0x09aa0800, Onewayroad~WE & Street~CS)
412412
add(0x09aa0400, Onewayroad~CE & Street~NS)
413413
add(0x09aa0100, Onewayroad~NC & Street~CS)

src/main/scala/module/SamResolver.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -308,15 +308,15 @@ class SamResolver extends IdResolver {
308308
add(0x5e630000 + offset, sam~WS & Dirtroad~SE) // SAM x Rhw2
309309

310310
// DxD T-intersections
311-
add(0x5e59c000 + offset, Road~ES & sam~CEN) // SAM-End Road 1
312-
add(0x5e59c080 + offset, Road~NW & sam~CSW) // SAM-End Road 2
313-
add(0x5e59e000 + offset, Onewayroad~ES & sam~CEN) // SAM-End OWR 1
314-
add(0x5e59e080 + offset, Onewayroad~NW & sam~CSW) // SAM-End OWR 2
315-
316-
add(0x5e585000 + offset, sam~EN & Road~CES) // SAM-Thru Road 1
317-
add(0x5e585080 + offset, sam~SW & Road~CNW) // SAM-Thru Road 2
318-
add(0x5e58f000 + offset, sam~EN & Onewayroad~CES) // SAM-Thru OWR 1
319-
add(0x5e58f080 + offset, sam~SW & Onewayroad~CNW) // SAM-Thru OWR 2
311+
add(0x5e59c000 + offset, Road~ES & sam~(0,1,203,0)) // SAM-End Road 1
312+
add(0x5e59c080 + offset, Road~NW & sam~(203,0,0,0)) // SAM-End Road 2
313+
add(0x5e59e000 + offset, Onewayroad~ES & sam~(0,1,203,0)) // SAM-End OWR 1
314+
add(0x5e59e080 + offset, Onewayroad~NW & sam~(203,0,0,0)) // SAM-End OWR 2
315+
316+
add(0x5e585000 + offset, sam~EN & Road~(0,0,201,3)) // SAM-Thru Road 1
317+
add(0x5e585080 + offset, sam~SW & Road~(201,0,0,0)) // SAM-Thru Road 2
318+
add(0x5e58f000 + offset, sam~EN & Onewayroad~(0,0,201,3)) // SAM-Thru OWR 1
319+
add(0x5e58f080 + offset, sam~SW & Onewayroad~(201,0,0,0)) // SAM-Thru OWR 2
320320

321321
//Transitions
322322
//Ortho

src/main/scala/module/SamRuleGenerator.scala

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -709,12 +709,12 @@ class SamRuleGenerator(var context: RuleTransducer.Context) extends RuleGenerato
709709
Rules += sam~NE & minor~WE | Street~CWS & minor~WE | sam~NE & minor~WE | sam~SW & minor~WE // DxO Ts into DxO + for Old-Style
710710

711711
// DxD T (sam end)
712-
Rules += sam~ES | (Street ~> sam)~CNW & minor~EN // DxD T End 1
713-
Rules += sam~NEC & minor~ES | (Street ~> sam)~WSC & minor~NW // DxD T End 2
712+
Rules += sam~ES | (Street ~> sam)~(1,203,0,0) & minor~EN // DxD T End 1
713+
Rules += sam~(0,1,203,0) & minor~ES | (Street ~> sam)~(203,0,0,0) & minor~NW // DxD T End 2
714714

715-
Rules += sam~NE & minor~ES | sam~WSC & minor~NW | sam~NEC & minor~ES | % // DxD T End 2 Alt (Truncate stub)
716-
Rules += sam~NE & minor~ES | minor~NW | sam~NEC & minor~ES | sam~WSC & minor~NW // DxD T End 2 Alt (Truncate and propagate)
717-
Rules += sam~NEC & minor~ES | minor~NW | % | sam~WSC & minor~NW // DxD T End 2 Alt (Propagate SAM end)
715+
Rules += sam~NE & minor~ES | sam~(203,0,0,0) & minor~NW | sam~(0,1,203,0) & minor~ES | % // DxD T End 2 Alt (Truncate stub)
716+
Rules += sam~NE & minor~ES | minor~NW | sam~(0,1,203,0) & minor~ES | sam~(203,0,0,0) & minor~NW // DxD T End 2 Alt (Truncate and propagate)
717+
Rules += sam~(0,1,203,0) & minor~ES | minor~NW | % | sam~(203,0,0,0) & minor~NW // DxD T End 2 Alt (Propagate SAM end)
718718
}
719719
}
720720

@@ -802,19 +802,21 @@ class SamRuleGenerator(var context: RuleTransducer.Context) extends RuleGenerato
802802
Rules += sam~NE & minor~CS | (Street ~> sam)~SW
803803

804804
// DxD T (sam thru)
805-
Rules += sam~ES | (Street ~> sam)~NW & minor~CNE // DxD Thru T 1
806-
// Rules += sam~ES | (Street ~> sam)~NW & minor~CEN // Eventual DxD Thru T 2 (pending base T-thru tile)
807-
Rules += sam~ES | (Street ~> sam)~NW & minor~CWS // Temp DxD Thru T 2 (works with DxD Thru T 1-2 Alt)
805+
// Rules += sam~ES | (Street ~> sam)~NW & minor~(0,201,3,0) // DxD Thru T 1 pending base long T tile
806+
// Rules += sam~ES | (Street ~> sam)~NW & minor~(0,201,0,0) // DxD Thru T 2 pending base long T tile
807+
Rules += sam~ES | Street~NW & minor~CNE | % | sam~NW & minor~(0,201,3,0) // DxD Thru T 1
808+
Rules += sam~ES | Street~NW & minor~CWS | % | sam~NW & minor~(203,0,0,1) // Temp DxD Thru T 2 (works with DxD Thru T 1-2 Alt)
808809

809-
// Rules += sam~ES & minor~CEN | (Street ~> sam)~NW & minor~CSW // Eventual DxD Thru T 1-2 (pending base T-thru tile)
810-
Rules += sam~ES & minor~CEN | Street~NW | % | sam~NW & minor~CSW // DxD Thru T 1-2 Alt
811-
Rules += sam~ES & minor~CEN | sam~NW | % | sam~NW & minor~CSW // DxD Thru T 1-2 Alt
812-
Rules += sam~NE & minor~CSE | (Street ~> sam)~WS & minor~CWN // DxD Thru T 2-1
810+
// Rules += sam~ES & minor~(0,1,203,0) | (Street ~> sam)~NW & minor~(203,0,0,0) // DxD Thru T 1-2 pending base long T tile
811+
// Rules += sam~NE & minor~(0,0,201,0) | (Street ~> sam)~WS & minor~(201,3,0,0) // DxD Thru T 2-1 pending base long T tile
812+
Rules += sam~ES & minor~(0,1,203,0) | Street~NW | % | sam~NW & minor~(203,0,0,0) // DxD Thru T 1-2 Alt
813+
Rules += sam~ES & minor~(0,1,203,0) | sam~NW | % | sam~NW & minor~(203,0,0,0) // DxD Thru T 1-2 Alt
814+
Rules += sam~NE & minor~(0,0,201,0) | Street~WS & minor~CWN | % | sam~WS & minor~(201,3,0,0) // DxD Thru T 2-1
813815

814816
// truncate minor stub on tile 1
815-
Rules += sam~ES & minor~EN | Street~NW | sam~ES & minor~CEN | sam~NW & minor~CSW // DxD T 2-1 Alt
816-
Rules += sam~ES & minor~EN | sam~NW | sam~ES & minor~CEN | sam~NW & minor~CSW // DxD T 2-1 Alt
817-
Rules += sam~ES & minor~EN | sam~NW & minor~CSW | sam~ES & minor~CEN | % // DxD T 2-1 Alt
817+
Rules += sam~ES & minor~EN | Street~NW | sam~ES & minor~(0,1,203,0) | sam~NW & minor~(203,0,0,0) // DxD T 2-1 Alt
818+
Rules += sam~ES & minor~EN | sam~NW | sam~ES & minor~(0,1,203,0) | sam~NW & minor~(203,0,0,0) // DxD T 2-1 Alt
819+
Rules += sam~ES & minor~EN | sam~NW & minor~(203,0,0,0) | sam~ES & minor~(0,1,203,0) | % // DxD T 2-1 Alt
818820

819821
// continue
820822
Rules += sam~ES & minor~(3,0,0,201) | (Street ~> sam)~NW // DxD Thru T 1

0 commit comments

Comments
 (0)