@@ -188,7 +188,199 @@ class RhwResolver extends IdResolver {
188188 add(n~ SE & n2~ WS , id + 0x9000 + off8Diag + (dir1 & msk1a | dir2 & msk2a), when = ! n.isSymm && asymmOrShared(n2))
189189 }
190190
191- // T intersections with viaducts
191+ // T intersections at ground level
192+ // Rhw2
193+ // OxO
194+ add(0x57600700 , Dirtroad ~ NS & Tla3 ~ EC )
195+ add(0x57600800 , Dirtroad ~ NS & Ave2 ~ EC )
196+ add(0x57600900 , Dirtroad ~ NS & Ard3 ~ EC )
197+ add(0x57600A00 , Dirtroad ~ NS & Owr1 ~ EC )
198+ add(0x57600B00 , Dirtroad ~ NS & Owr3 ~ EC ) // dummy intersection to enable Rhw3 support
199+ add(0x57600C00 , Dirtroad ~ NS & Nrd4 ~ EC )
200+ add(0x57600D00 , Dirtroad ~ NS & Tla5 ~ EC )
201+ add(0x57609000 , Dirtroad ~ NS & Rd4 ~ CE ) // dummy intersection to enable Rhw3 support
202+ add(0x57609100 , Dirtroad ~ NS & Rd6 ~ CE ) // dummy intersection to enable Rhw3 support
203+ add(0x57609200 , Dirtroad ~ NS & Ave6 ~ CE ) // dummy intersection to enable Rhw3 support
204+ add(0x57609280 , Dirtroad ~ NS & Tla7m ~ CE ) // dummy intersection to enable Rhw3 support
205+ add(0x57609380 , Dirtroad ~ NS & Ave6m ~ CE ) // dummy intersection to enable Rhw3 support
206+ add(0x57601700 , Dirtroad ~ CE & Tla3 ~ NS )
207+ add(0x57601800 , Dirtroad ~ CE & Ave2 ~ NS )
208+ add(0x57601900 , Dirtroad ~ CE & Ard3 ~ NS )
209+ add(0x57601909 , Dirtroad ~ CE & Ard3 ~ SN )
210+ add(0x57601A00 , Dirtroad ~ CE & Owr1 ~ NS )
211+ add(0x57601B00 , Dirtroad ~ CE & Owr3 ~ NS ) // dummy intersection to enable Rhw3 support
212+ add(0x57601C00 , Dirtroad ~ CE & Nrd4 ~ NS )
213+ add(0x57601D00 , Dirtroad ~ CE & Tla5 ~ SN ) // Short-T
214+ add(0x57601D09 , Dirtroad ~ CE & Tla5 ~ NS ) // Long-T
215+ add(0x57601D00 , Dirtroad ~ CE & Owr4 ~ SN ) // Short-T
216+ add(0x57601D09 , Dirtroad ~ CE & Owr4 ~ NS ) // Long-T
217+ add(0x57608400 , Dirtroad ~ CE & Owr4m ~ SN ) // Short-T
218+ add(0x57608409 , Dirtroad ~ CE & Owr4m ~ NS ) // Long-T
219+ add(0x57601F00 , Dirtroad ~ CE & Owr5 ~ SN ) // Short-T
220+ add(0x57601F09 , Dirtroad ~ CE & Owr5 ~ NS ) // Long-T
221+ add(0x57608000 , Dirtroad ~ CE & Rd4 ~ SN ) // Short-T
222+ add(0x57608009 , Dirtroad ~ CE & Rd4 ~ NS ) // Long-T
223+ add(0x57608100 , Dirtroad ~ CE & Rd6 ~ SN ) // Short-T
224+ add(0x57608109 , Dirtroad ~ CE & Rd6 ~ NS ) // Long-T
225+ add(0x57608200 , Dirtroad ~ CE & Ave6 ~ SN ) // Short-T
226+ add(0x57608209 , Dirtroad ~ CE & Ave6 ~ NS ) // Long-T
227+ add(0x57608300 , Dirtroad ~ CE & Ave8 ~ SN ) // Short-T
228+ add(0x57608309 , Dirtroad ~ CE & Ave8 ~ NS ) // Long-T
229+
230+ // Rhw3
231+ // OxO
232+ add(0x57610700 , Rhw3 ~ NS & Tla3 ~ EC )
233+ add(0x57610800 , Rhw3 ~ NS & Ave2 ~ EC )
234+ add(0x57610900 , Rhw3 ~ NS & Ard3 ~ EC )
235+ add(0x57610A00 , Rhw3 ~ NS & Owr1 ~ EC )
236+ add(0x57610B00 , Rhw3 ~ NS & Owr3 ~ EC )
237+ add(0x57610C00 , Rhw3 ~ NS & Nrd4 ~ EC )
238+ add(0x57610D00 , Rhw3 ~ NS & Tla5 ~ EC )
239+ add(0x57619000 , Rhw3 ~ NS & Rd4 ~ CE )
240+ add(0x57619100 , Rhw3 ~ NS & Rd6 ~ CE )
241+ add(0x57619200 , Rhw3 ~ NS & Ave6 ~ CE )
242+ add(0x57619280 , Rhw3 ~ NS & Tla7m ~ CE )
243+ add(0x57619380 , Rhw3 ~ NS & Ave6m ~ CE )
244+ add(0x57611700 , Rhw3 ~ EC & Tla3 ~ NS )
245+ add(0x57611800 , Rhw3 ~ EC & Ave2 ~ NS )
246+ add(0x57611900 , Rhw3 ~ EC & Ard3 ~ NS )
247+ add(0x57611909 , Rhw3 ~ EC & Ard3 ~ SN )
248+ add(0x57611A00 , Rhw3 ~ EC & Owr1 ~ NS )
249+ add(0x57611B00 , Rhw3 ~ EC & Owr3 ~ NS ) // dummy intersection to enable Rhw3 support
250+ add(0x57611C00 , Rhw3 ~ EC & Nrd4 ~ NS )
251+ add(0x57611D00 , Rhw3 ~ EC & Tla5 ~ SN ) // Short-T
252+ add(0x57611D09 , Rhw3 ~ EC & Tla5 ~ NS ) // Long-T
253+ add(0x57611D00 , Rhw3 ~ EC & Owr4 ~ SN ) // Short-T
254+ add(0x57611D09 , Rhw3 ~ EC & Owr4 ~ NS ) // Long-T
255+ add(0x57618400 , Rhw3 ~ EC & Owr4m ~ SN ) // Short-T
256+ add(0x57618409 , Rhw3 ~ EC & Owr4m ~ NS ) // Long-T
257+ add(0x57611F00 , Rhw3 ~ EC & Owr5 ~ SN ) // Short-T
258+ add(0x57611F09 , Rhw3 ~ EC & Owr5 ~ NS ) // Long-T
259+ add(0x57618000 , Rhw3 ~ EC & Rd4 ~ SN ) // Short-T
260+ add(0x57618009 , Rhw3 ~ EC & Rd4 ~ NS ) // Long-T
261+ add(0x57618100 , Rhw3 ~ EC & Rd6 ~ SN ) // Short-T
262+ add(0x57618109 , Rhw3 ~ EC & Rd6 ~ NS ) // Long-T
263+ add(0x57618200 , Rhw3 ~ EC & Ave6 ~ SN ) // Short-T
264+ add(0x57618209 , Rhw3 ~ EC & Ave6 ~ NS ) // Long-T
265+ add(0x57618300 , Rhw3 ~ EC & Ave8 ~ SN ) // Short-T
266+ add(0x57618309 , Rhw3 ~ EC & Ave8 ~ NS ) // Long-T
267+ // Reverse for Thru-Ts
268+ add(0x57610780 , Rhw3 ~ SN & Tla3 ~ EC )
269+ add(0x57610880 , Rhw3 ~ SN & Ave2 ~ EC )
270+ add(0x57610980 , Rhw3 ~ SN & Ard3 ~ EC )
271+ add(0x57610A80 , Rhw3 ~ SN & Owr1 ~ EC )
272+ add(0x57610B80 , Rhw3 ~ SN & Owr3 ~ EC )
273+ add(0x57610C80 , Rhw3 ~ SN & Nrd4 ~ EC )
274+ add(0x57610D80 , Rhw3 ~ SN & Tla5 ~ EC )
275+ add(0x57619080 , Rhw3 ~ SN & Rd4 ~ CE )
276+ add(0x57619180 , Rhw3 ~ SN & Rd6 ~ CE )
277+ add(0x57619280 , Rhw3 ~ SN & Ave6 ~ CE )
278+ add(0x57619280 , Rhw3 ~ SN & Tla7m ~ CE )
279+ add(0x57619380 , Rhw3 ~ SN & Ave6m ~ CE )
280+
281+ // Mis
282+ // OxO
283+ add(0x57620700 , Mis ~ NS & Tla3 ~ EC )
284+ add(0x57620800 , Mis ~ NS & Ave2 ~ EC )
285+ // add(0x57620900, Mis~NS & Ard3~EC)
286+ add(0x57620A00 , Mis ~ NS & Owr1 ~ EC )
287+ // add(0x57620B00, Mis~NS & Owr3~EC)
288+ // add(0x57620C00, Mis~NS & Nrd4~EC)
289+ // add(0x57620D00, Mis~NS & Tla5~EC)
290+ // add(0x57629000, Mis~NS & Rd4~CE)
291+ // add(0x57629100, Mis~NS & Rd6~CE)
292+ // add(0x57629200, Mis~NS & Ave6~CE)
293+ // add(0x57629280, Mis~NS & Tla7m~CE)
294+ // add(0x57629380, Mis~NS & Ave6m~CE)
295+ add(0x57621700 , Mis ~ EC & Tla3 ~ NS )
296+ add(0x57621800 , Mis ~ EC & Ave2 ~ NS )
297+ add(0x57621900 , Mis ~ EC & Ard3 ~ NS )
298+ add(0x57621909 , Mis ~ EC & Ard3 ~ SN )
299+ add(0x57621A00 , Mis ~ EC & Owr1 ~ NS )
300+ add(0x57621B00 , Mis ~ EC & Owr3 ~ NS ) // dummy intersection to enable Mis support
301+ add(0x57621C00 , Mis ~ EC & Nrd4 ~ NS )
302+ add(0x57621D00 , Mis ~ EC & Tla5 ~ SN ) // Short-T
303+ add(0x57621D09 , Mis ~ EC & Tla5 ~ NS ) // Long-T
304+ add(0x57621D00 , Mis ~ EC & Owr4 ~ SN ) // Short-T
305+ add(0x57621D09 , Mis ~ EC & Owr4 ~ NS ) // Long-T
306+ add(0x57628400 , Mis ~ EC & Owr4m ~ SN ) // Short-T
307+ add(0x57628409 , Mis ~ EC & Owr4m ~ NS ) // Long-T
308+ add(0x57621F00 , Mis ~ EC & Owr5 ~ SN ) // Short-T
309+ add(0x57621F09 , Mis ~ EC & Owr5 ~ NS ) // Long-T
310+ add(0x57628000 , Mis ~ EC & Rd4 ~ SN ) // Short-T
311+ add(0x57628009 , Mis ~ EC & Rd4 ~ NS ) // Long-T
312+ add(0x57628100 , Mis ~ EC & Rd6 ~ SN ) // Short-T
313+ add(0x57628109 , Mis ~ EC & Rd6 ~ NS ) // Long-T
314+ add(0x57628200 , Mis ~ EC & Ave6 ~ SN ) // Short-T
315+ add(0x57628209 , Mis ~ EC & Ave6 ~ NS ) // Long-T
316+ add(0x57628300 , Mis ~ EC & Ave8 ~ SN ) // Short-T
317+ add(0x57628309 , Mis ~ EC & Ave8 ~ NS ) // Long-T
318+ // Reverse for Thru-Ts
319+ add(0x57620780 , Mis ~ SN & Tla3 ~ EC )
320+ add(0x57620880 , Mis ~ SN & Ave2 ~ EC )
321+ // add(0x57620980, Mis~SN & Ard3~EC)
322+ add(0x57620A80 , Mis ~ SN & Owr1 ~ EC )
323+ // add(0x57620B80, Mis~SN & Owr3~EC)
324+ // add(0x57620C80, Mis~SN & Nrd4~EC)
325+ // add(0x57620D80, Mis~SN & Tla5~EC)
326+ // add(0x57629080, Mis~SN & Rd4~CE)
327+ // add(0x57629180, Mis~SN & Rd6~CE)
328+ // add(0x57629280, Mis~SN & Ave6~CE)
329+ // add(0x57629280, Mis~SN & Tla7m~CE)
330+ // add(0x57629380, Mis~SN & Ave6m~CE)
331+
332+ // Rhw4
333+ // OxO
334+ add(0x57630700 , Rhw4 ~ NS & Tla3 ~ EC )
335+ add(0x57630800 , Rhw4 ~ NS & Ave2 ~ EC )
336+ add(0x57630900 , Rhw4 ~ NS & Ard3 ~ EC )
337+ add(0x57630A00 , Rhw4 ~ NS & Owr1 ~ EC )
338+ add(0x57630B00 , Rhw4 ~ NS & Owr3 ~ EC ) // enabled for double RHW-4 setups
339+ add(0x57630C00 , Rhw4 ~ NS & Nrd4 ~ EC ) // enabled for double RHW-4 setups
340+ add(0x57630D00 , Rhw4 ~ NS & Tla5 ~ EC ) // enabled for double RHW-4 setups
341+ add(0x57639000 , Rhw4 ~ NS & Rd4 ~ CE )
342+ add(0x57639100 , Rhw4 ~ NS & Rd6 ~ CE ) // enabled for double RHW-4 setups
343+ add(0x57639200 , Rhw4 ~ NS & Ave6 ~ CE ) // enabled for double RHW-4 setups
344+ add(0x57639280 , Rhw4 ~ NS & Tla7m ~ CE ) // enabled for double RHW-4 setups
345+ add(0x57639380 , Rhw4 ~ NS & Ave6m ~ CE ) // enabled for double RHW-4 setups
346+ add(0x57631700 , Rhw4 ~ EC & Tla3 ~ NS )
347+ add(0x57631800 , Rhw4 ~ EC & Ave2 ~ NS )
348+ add(0x57631900 , Rhw4 ~ EC & Ard3 ~ NS )
349+ add(0x57631909 , Rhw4 ~ EC & Ard3 ~ SN )
350+ // add(0x57631A00, Rhw4~EC & Owr1~NS)
351+ add(0x57631B00 , Rhw4 ~ EC & Owr3 ~ NS ) // dummy intersection to enable Rhw4 support
352+ add(0x57631C00 , Rhw4 ~ EC & Nrd4 ~ NS )
353+ add(0x57631D00 , Rhw4 ~ EC & Tla5 ~ SN ) // Short-T
354+ add(0x57631D09 , Rhw4 ~ EC & Tla5 ~ NS ) // Long-T
355+ add(0x57631D00 , Rhw4 ~ EC & Owr4 ~ SN ) // Short-T
356+ add(0x57631D09 , Rhw4 ~ EC & Owr4 ~ NS ) // Long-T
357+ add(0x57638400 , Rhw4 ~ EC & Owr4m ~ SN ) // Short-T
358+ add(0x57638409 , Rhw4 ~ EC & Owr4m ~ NS ) // Long-T
359+ add(0x57631F00 , Rhw4 ~ EC & Owr5 ~ SN ) // Short-T
360+ add(0x57631F09 , Rhw4 ~ EC & Owr5 ~ NS ) // Long-T
361+ add(0x57638000 , Rhw4 ~ EC & Rd4 ~ SN ) // Short-T
362+ add(0x57638009 , Rhw4 ~ EC & Rd4 ~ NS ) // Long-T
363+ add(0x57638100 , Rhw4 ~ EC & Rd6 ~ SN ) // Short-T
364+ add(0x57638109 , Rhw4 ~ EC & Rd6 ~ NS ) // Long-T
365+ add(0x57638200 , Rhw4 ~ EC & Ave6 ~ SN ) // Short-T
366+ add(0x57638209 , Rhw4 ~ EC & Ave6 ~ NS ) // Long-T
367+ add(0x57638300 , Rhw4 ~ EC & Ave8 ~ SN ) // Short-T
368+ add(0x57638309 , Rhw4 ~ EC & Ave8 ~ NS ) // Long-T
369+ // Reverse for Thru-Ts
370+ add(0x57630780 , Rhw4 ~ SN & Tla3 ~ EC )
371+ add(0x57630880 , Rhw4 ~ SN & Ave2 ~ EC )
372+ add(0x57630980 , Rhw4 ~ SN & Ard3 ~ EC )
373+ add(0x57630A80 , Rhw4 ~ SN & Owr1 ~ EC )
374+ // add(0x57630B80, Rhw4~SN & Owr3~EC)
375+ add(0x57630C80 , Rhw4 ~ SN & Nrd4 ~ EC )
376+ add(0x57630D80 , Rhw4 ~ SN & Tla5 ~ EC )
377+ add(0x57639080 , Rhw4 ~ SN & Rd4 ~ CE )
378+ // add(0x57639180, Rhw4~SN & Rd6~CE)
379+ // add(0x57639280, Rhw4~SN & Ave6~CE)
380+ // add(0x57639280, Rhw4~SN & Tla7m~CE)
381+ // add(0x57639380, Rhw4~SN & Ave6m~CE)
382+
383+ // T intersections with viaducts
192384 // Rhw2
193385 add(0x57600110 , L1Rhw2 ~ NS & L1Road ~ EC )
194386 add(0x57600120 , L2Rhw2 ~ NS & L2Road ~ EC )
0 commit comments