Add road tile cached one way state, one way road section detection

This commit is contained in:
Jonathan G Rennison
2020-10-26 22:17:25 +00:00
parent 2fe5d4339b
commit ffe3c769a3
16 changed files with 441 additions and 104 deletions

View File

@@ -124,10 +124,22 @@
</li>
</ul>
<ul>
<li>
<li style="color: blue">
<a name="RailType"></a>
Bits 11..6: Secondary Railtype. Used for some tiles with rail (rail, tunnelbridge). Used for lower or right track when two parallel tracks on tile.
</li>
<li style="color: blue">
<a name="RoadCachedOneWayState"></a>
Bits 14..12: Road cached one way state. Used for all tiles with road (road, station, tunnelbridge).
<table border="1" style="width: 30em;">
<tr><td style="width: 5em;"><tt>00</tt></td><td align=left>road is not one-way</td></tr>
<tr><td><tt>01</tt></td><td align=left>road is one-way in 'A' direction</td></tr>
<tr><td><tt>02</tt></td><td align=left>road is one-way in 'B' direction</td></tr>
<tr><td><tt>03</tt></td><td align=left>road is disallowed in both directions</td></tr>
<tr><td><tt>04</tt></td><td align=left>road is a one-way side junction</td></tr>
<tr><td><tt>05</tt></td><td align=left>road is a one-way side junction, with no exit access</td></tr>
</table>
</li>
</ul>
</li>
<li><span style="font-weight: bold;">m7:</span><br>
@@ -578,6 +590,7 @@
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of road type 1 (tram); OWNER_NONE (<tt>10</tt>) is stored as OWNER_TOWN (<tt>0F</tt>)
<li>m4 bits 5..0: <a href="#RoadType">Roadtype</a></li>
<li>m7 bit 5 set = on snow or desert</li>
<li style="color: blue">m8 bits 14..12: <a href="#RoadCachedOneWayState">Road cached one way state</a></li>
<li>m8 bits 11..6: <a href="#TramType">Tramtype</a></li>
<li>m5 bits 7 clear: road or level-crossing
<ul>
@@ -1022,6 +1035,7 @@
<li>m7 bits 4..0: <a href="#OwnershipInfo">owner</a> of road (road stops)</li>
<li>m7: animation frame (railway stations/waypoints, airports)</li>
<li style="color: blue">m8 bits 14..12: <a href="#RoadCachedOneWayState">Road cached one way state</a></li>
<li>m8 bits 11..6: <a href="#TramType">Tramtype</a></li>
<li>m8 bits 5..0: <a href="#TrackType">track type</a> for railway stations/waypoints</li>
</ul>
@@ -1812,6 +1826,7 @@
</tr>
</table>
</li>
<li style="color: blue">m8 bits 14..12: <a href="#RoadCachedOneWayState">Road cached one way state</a></li>
<li>m8 bits 11..6: <a href="#TramType">Tramtype</a></li>
<li>m8 bits 5..0: <a href="#TrackType">track type</a> for railway</li>
<li style="color: blue">m8 bits 11..6 = <a name="TrackType">secondary track type</a> for railway (used for bridge-bypassing track when two parallel tracks on custom bridge head)</li>

View File

@@ -149,7 +149,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
<td class="bits"><span class="free">OO</span>X<span class="free">O</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX XX<span class="free">OO OOOO</span></td>
<td class="bits"><span class="free">O</span><span class="used_p">PPP</span> XXXX XX<span class="free">OO OOOO</span></td>
</tr>
<tr>
<td class="caption">level crossing</td>
@@ -162,7 +162,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">XXXX <span class="free">OO</span><span class="used_p">P</span>X</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX XXXX XXXX</td>
<td class="bits"><span class="free">O<span class="used_p">PPP</span></span> XXXX XXXX XXXX</td>
</tr>
<tr>
<td class="caption">road depot</td>
@@ -243,7 +243,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX XX<span class="free">OO OOOO</span></td>
<td class="bits"><span class="free">O<span class="used_p">PPP</span></span> XXXX XX<span class="free">OO OOOO</span></td>
</tr>
<tr>
<td class="caption">dock</td>
@@ -363,7 +363,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">X<span class="free">OO</span>X XXXX</td>
<td class="bits"><span class="used_p">PP</span><span class="free">OO OO</span><span class="used_p">PP</span></td>
<td class="bits"><span class="used_p">PP</span>XX XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX XXXX XXXX</td>
<td class="bits"><span class="free">O<span class="used_p">PPP</span></span> XXXX XXXX XXXX</td>
</tr>
<tr>
<td>bridge ramp</td>
@@ -376,7 +376,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits"><span class="free"></span><span class="used_p">PP</span>XX XX<span class="used_p">PP</span></td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO</span> <span class="abuse">PPPP PP</span>XX XXXX</td>
<td class="bits"><span class="free">O<span class="used_p">PPP</span></span> <span class="abuse">PPPP PP</span>XX XXXX</td>
</tr>
<tr>
<td rowspan=2>A</td>