1
0
Fork 0

(svn r12027) -Documentation: Update 'landscape.html' and 'landscape_grid.html' to reflect reality and add some details.

release/0.6
frosch 2008-01-31 15:18:07 +00:00
parent 2ef11e0b8b
commit ef35cefddc
2 changed files with 537 additions and 403 deletions

View File

@ -38,8 +38,8 @@
<a name = "tropic_zone"> <a name = "tropic_zone">
Bits 1..0 : Bits 1..0 :
<table border="1"> <table border="1">
<tr bgcolor="#CCCCCC"><td colspan="2">Only meaningfull in tropic climate.<br>It contains the definition of the two available zones</td></tr> <tr bgcolor="#CCCCCC"><td colspan="2">Only meaningfull in tropic climate.<br>It contains the definition of the available zones</td></tr>
<tr><td><tt>00</tt>&nbsp; </td><td>invalid zone</td></tr> <tr><td><tt>00</tt>&nbsp; </td><td>normal</td></tr>
<tr><td><tt>01</tt>&nbsp; </td><td>desert</td></tr> <tr><td><tt>01</tt>&nbsp; </td><td>desert</td></tr>
<tr><td><tt>02</tt>&nbsp; </td><td>rain forest</td></tr> <tr><td><tt>02</tt>&nbsp; </td><td>rain forest</td></tr>
</table> </table>
@ -79,78 +79,92 @@
<td> <td>
<ul> <ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>)</li> <li>m1: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>)</li>
<li>m2: see fields</li>
<li>m3 bits 3..0: see fields</li>
<li>m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)</li> <li>m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)</li>
<li>m4 bits 4..2: same as 7..5, but for the SE border</li> <li>m4 bits 4..2: same as 7..5, but for the SE border</li>
<li>m5 bits 7..5: update counter, incremented on every periodic processing for tile types, <li>m5 bits 7..5: update counter, incremented on every periodic processing for tile types,
other than <tt>03</tt>, <tt>07</tt>, <tt>0B</tt>, <tt>10</tt> and above.<BR> other than <tt>03</tt>, <tt>07</tt>, <tt>0B</tt>, <tt>10</tt> and above.<BR>
on wraparound, the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased).<BR> on wraparound, the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased).<BR>
For snow and desert, these bits are not used, tile is updated on every periodic processing.</li> For snow and desert, these bits are not used, tile is updated on every periodic processing.</li>
<li>m5 bits 4..0: tile type: <li>m5 bits 4..2: tile type:
<table> <table>
<tr> <tr>
<td nowrap valign=top><tt>00</tt>&nbsp; </td> <td nowrap valign=top><tt>0</tt>&nbsp; </td>
<td align=left>bare land</td> <td align=left>bare land / grass</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>01</tt>&nbsp; </td> <td nowrap valign=top><tt>1</tt>&nbsp; </td>
<td align=left>1/3 grass</td> <td align=left>rough land (density must be 3)</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>02</tt>&nbsp; </td> <td nowrap valign=top><tt>2</tt>&nbsp; </td>
<td align=left>2/3 grass</td> <td align=left>rocks (density must be 3)</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>03</tt>&nbsp; </td> <td nowrap valign=top><tt>3</tt>&nbsp; </td>
<td align=left>full grass</td> <td align=left>fields (density must be 3)
<ul>
<li>m2: index into the array of industries (farms), INVALID_INDUSTRY (0xFFFF) if farm has been removed</li>
<li>m3 bits 3..0: field type (legal values: 0 through 9)</li>
</ul>
</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>07</tt>&nbsp; </td> <td nowrap valign=top><tt>4</tt>&nbsp; </td>
<td align=left>rough land</td> <td align=left>snow</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>0B</tt>&nbsp; </td> <td nowrap valign=top><tt>5</tt>&nbsp; </td>
<td align=left>rocks</td> <td align=left>desert (density must be 1 or 3)</td>
</tr>
</table>
</li>
<li>m5 bits 1..0: density:
<table>
<tr>
<td nowrap valign=top><tt>0</tt>&nbsp; </td>
<td>bare land</td>
<td></td>
<td></td>
<td></td>
<td>1/4 snow</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>0F</tt>&nbsp; </td> <td nowrap valign=top><tt>1</tt>&nbsp; </td>
<td align=left>fields; type of fields in m3 bits 3..0 (legal values: 0 through 9)<br> <td>1/3 grass</td>
m2: Index into the array of industries (farms), INVALID_INDUSTRY (0xFFFF) if farm has been removed</td> <td></td>
<td></td>
<td></td>
<td>2/4 snow;&nbsp;</td>
<td>1/2 desert</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>10</tt>&nbsp; </td> <td nowrap valign=top><tt>2</tt>&nbsp; </td>
<td align=left>1/4 snow</td> <td>2/3 grass</td>
<td></td>
<td></td>
<td></td>
<td>3/4 snow</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>11</tt>&nbsp; </td> <td nowrap valign=top><tt>3</tt>&nbsp; </td>
<td align=left>2/4 snow</td> <td>full grass;&nbsp;</td>
</tr> <td>rough land;&nbsp;</td>
<td>rocks;&nbsp;</td>
<tr> <td>fields;&nbsp;</td>
<td nowrap valign=top><tt>12</tt>&nbsp; </td> <td>full snow;&nbsp;</td>
<td align=left>3/4 snow</td> <td>full desert</td>
</tr>
<tr>
<td nowrap valign=top><tt>13</tt>&nbsp; </td>
<td align=left>full snow</td>
</tr>
<tr>
<td nowrap valign=top><tt>15</tt>&nbsp; </td>
<td align=left>partial desert</td>
</tr>
<tr>
<td nowrap valign=top><tt>17</tt>&nbsp; </td>
<td align=left>full desert</td>
</tr> </tr>
</table> </table>
</li> </li>
@ -168,9 +182,9 @@
<td valign=top nowrap>&nbsp;</td> <td valign=top nowrap>&nbsp;</td>
<td> <td>
<ul> <ul>
<li>m5 bit 7 clear: railway track <li>m1: <a href="#OwnershipInfo">owner</a> of the tile</li>
<ul> <li>m2: see waypoint and signals</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the track</li> <li>m3 bits 7..4: see signals</li>
<li>m3 bits 3..0 = <a name="TrackType">track type</a>: <li>m3 bits 3..0 = <a name="TrackType">track type</a>:
<table> <table>
<tr> <tr>
@ -194,7 +208,8 @@
</tr> </tr>
</table> </table>
</li> </li>
<li>m4 bits 3..0: <li>m4 bits 7..4: see signals</li>
<li>m4 bits 3..0: Ground type (values with fences are not valid for depots and checkpoints)
<table> <table>
<tr> <tr>
<td nowrap valign=top><tt>0</tt>&nbsp; </td> <td nowrap valign=top><tt>0</tt>&nbsp; </td>
@ -267,6 +282,8 @@
</tr> </tr>
</table> </table>
</li> </li>
<li>m5 bit 7 clear: railway track
<ul>
<li>m5 bits 5..0: track layout: bit set = track present: <li>m5 bits 5..0: track layout: bit set = track present:
<table> <table>
<tr> <tr>
@ -300,69 +317,64 @@
</tr> </tr>
</table> </table>
</li> </li>
</ul> <li>m5 bit 6 set = with signals:<BR>
</li> There are at most 4 signals on a tile. The signals 0..3 belong to the directions:
<li>m5 bit 7 set: railway depot / checkpoints
<ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the depot / checkpoint</li>
<li>m2: For waypoints, index into the array of waypoints.</li>
<li>m3 bits 3..0 = <a href="#TrackType">track type</a></li>
<li>m4 bits 3..0 = ground type, as per m4 bits 3..0 for railway tiles.</li>
<li>m5 value C0..C3: railway depot
<table> <table>
<tr> <tr>
<td colspan=2>m5 bits 1..0</td> <td></td>
<td>Track <tt>0</tt> (X)&nbsp;</td>
<td>Track <tt>1</tt> (Y)&nbsp;</td>
<td>Track <tt>2</tt> (north)&nbsp;</td>
<td>Track <tt>3</tt> (south)&nbsp;</td>
<td>Track <tt>4</tt> (west)&nbsp;</td>
<td>Track <tt>5</tt> (east)</td>
</tr> </tr>
<tr> <tr>
<td colspan=2>direction: exit towards:</td> <td align=left>Signal <tt>0</tt>&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td>west</td>
<td></td>
<td>south</td>
</tr> </tr>
<tr> <tr>
<td><tt>00</tt>&nbsp; </td> <td align=left>Signal <tt>1</tt>&nbsp;</td>
<td>NE</td> <td></td>
<td></td>
<td></td>
<td>east</td>
<td></td>
<td>north</td>
</tr> </tr>
<tr> <tr>
<td><tt>01</tt>&nbsp; </td> <td align=left>Signal <tt>2</tt>&nbsp;</td>
<td>SE</td> <td>south-west</td>
<td>north-west</td>
<td>west</td>
<td></td>
<td>south</td>
<td></td>
</tr> </tr>
<tr> <tr>
<td><tt>02</tt>&nbsp; </td> <td align=left>Signal <tt>3</tt>&nbsp;</td>
<td>SW</td> <td>north-east</td>
</tr> <td>south-east</td>
<td>east</td>
<tr> <td></td>
<td><tt>03</tt>&nbsp; </td> <td>north</td>
<td>NW</td> <td></td>
</tr> </tr>
</table> </table>
</li>
<li>m5 value 80..81: checkpoint
<table>
<tr>
<td colspan=2>bit 0</td>
</tr>
<tr>
<td>clear</td>
<td>in X direction</td>
</tr>
<tr>
<td>set</td>
<td>in Y direction</td>
</tr>
</table>
</li>
</ul>
</li>
<li>m5 bit 6 set = with signals:
<ul> <ul>
<li>m4 bits 7..4: bit clear = signal shows red; same bits as in m3</li> <li>m2 bit 6: Signal 0 and 1: set = semaphore signals, clear = light signals</li>
<li>m2 bit 2 <i>(6)</i>: set = semaphore signals, clear = light signals <i>(lower and right tracks)</i></li> <li>m2 bit 2: Signal 2 and 3: set = semaphore signals, clear = light signals</li>
<li>m2 bits 1..0 <i>(5..4)</i>: type of signal <i>(lower and right tracks)</i> <li>m2 bits 5..4: type of signal 0 and 1 (same values as m2 bits 1..0)</li>
<li>m2 bits 1..0: type of signal 2 and 3
<table> <table>
<tr> <tr>
<td nowrap="nowrap" valign="top"><tt>00</tt>: </td> <td nowrap="nowrap" valign="top"><tt>00</tt>: </td>
@ -386,84 +398,55 @@
</table> </table>
</li> </li>
<li>m3 bits 7..4: bit set = signal present: <li>m3 bits 7..4: bit set = signal 3..0 present</li>
<li>m4 bits 7..4: bit clear = signal 3..0 shows red</li>
</ul>
</li>
</ul>
</li>
<li>m5 bit 7 set, bit 6 clear: checkpoint
<ul> <ul>
<li>For track in the X direction: <li>m2: index into the array of waypoints.</li>
<li>m5 bit 0:
<table> <table>
<tr> <tr>
<td nowrap="nowrap" valign="top">bit 6: </td> <td><tt>0</tt>&nbsp; </td>
<td align="left">signal in the SW direction</td> <td>in X direction</td>
</tr> </tr>
<tr> <tr>
<td nowrap="nowrap" valign="top">bit 7: </td> <td><tt>1</tt>&nbsp; </td>
<td align="left">signal in the NE direction</td> <td>in Y direction</td>
</tr>
</table>
</li>
<li>For track in the Y direction:
<table>
<tr>
<td nowrap="nowrap" valign="top">bit 6: </td>
<td align="left">signal in the NW direction</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 7: </td>
<td align="left">signal in the SE direction</td>
</tr>
</table>
</li>
<li>For tracks in the W-E direction:
<table>
<tr>
<td nowrap="nowrap" valign="top">bit 4: </td>
<td align="left">signal in the W direction on the track in the S corner</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 5: </td>
<td align="left">signal in the E direction on the track in the S corner</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 6: </td>
<td align="left">signal in the W direction on the track in the N corner</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 7: </td>
<td align="left">signal in the E direction on the track in the N corner</td>
</tr>
</table>
</li>
<li>For tracks in the N-S direction:
<table>
<tr>
<td nowrap="nowrap" valign="top">bit 4: </td>
<td align="left">signal in the S direction on the track in the E corner</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 5: </td>
<td align="left">signal in the N direction on the track in the E corner</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 6: </td>
<td align="left">signal in the S direction on the track in the W corner</td>
</tr>
<tr>
<td nowrap="nowrap" valign="top">bit 7: </td>
<td align="left">signal in the N direction on the track in the W corner</td>
</tr> </tr>
</table> </table>
</li> </li>
</ul> </ul>
</li> </li>
<li>m5 bit 7 set, bit 6 set: railway depot
<ul>
<li>m5 bits 1..0: exit towards
<table>
<tr>
<td><tt>0</tt>&nbsp; </td>
<td>NE</td>
</tr>
<tr>
<td><tt>1</tt>&nbsp; </td>
<td>SE</td>
</tr>
<tr>
<td><tt>2</tt>&nbsp; </td>
<td>SW</td>
</tr>
<tr>
<td><tt>3</tt>&nbsp; </td>
<td>NW</td>
</tr>
</table>
</li>
</ul> </ul>
</li> </li>
<li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li> <li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li>
@ -480,11 +463,28 @@
<td valign=top nowrap>&nbsp;</td> <td valign=top nowrap>&nbsp;</td>
<td> <td>
<ul> <ul>
<li>m5 bits 7..6 clear: road
<ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the road type #1</li>
<li>m2: Index into the array of towns, 0 for non-town roads</li>
<li>m3 bit 7 set = on snow or desert</li> <li>m3 bit 7 set = on snow or desert</li>
<li>m7 bits 7..5: present road types
<table>
<tr>
<td>bit 0&nbsp; </td>
<td>normal road</td>
</tr>
<tr>
<td>bit 1&nbsp; </td>
<td>tram</td>
</tr>
<tr>
<td>bit 2&nbsp; </td>
<td>reserved</td>
</tr>
</table>
</li>
<li>m5 bits 7 clear: road or level-crossing
<ul>
<li>m2: Index into the array of towns, 0 for non-town roads</li>
<li>m3 bits 6..4: <li>m3 bits 6..4:
<table> <table>
<tr> <tr>
@ -517,57 +517,96 @@
</tr> </tr>
</table> </table>
</li> </li>
<li>m5 bits 3..0: <a href="#OwnershipInfo">owner</a> of road type 1 (tram); OWNER_NONE (<tt>10</tt>) is stored as OWNER_TOWN (<tt>0F</tt>)
<li>m7 bits 4..0: <a href="#OwnershipInfo">owner</a> of road type 2 (reserved)
<li>m5 bit 6 clear: road
<ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m3 bits 3..0: counter for the roadworks</li> <li>m3 bits 3..0: counter for the roadworks</li>
<li>m4 bits 3..0: road layout road type #1: bit set = road piece present: <li>m4 bits 3..0: road layout road type 0 (normal road): bit set = road piece present:
<table> <table>
<tr> <tr>
<td nowrap valign=top>bit 0: </td> <td align=left>bit 0: </td>
<td align=left>NW piece</td> <td>NW piece</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top>bit 1: </td> <td align=left>bit 1: </td>
<td align=left>SW piece</td> <td>SW piece</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top>bit 2: </td> <td align=left>bit 2: </td>
<td align=left>SE piece</td> <td>SE piece</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top>bit 3: </td> <td align=left>bit 3: </td>
<td align=left>NE piece</td> <td>NE piece</td>
</tr> </tr>
</table> </table>
</li> </li>
<li>m4 bits 7..4: road layout road type #2 <li>m4 bits 7..4: road layout road type 1 (tram)</li>
<li>m6 bits 5..2: road layout road type 2 (reserved)</li>
<li>m5 bits 5..4: bits to disallow vehicles to go a specific direction <li>m5 bits 5..4: bits to disallow vehicles to go a specific direction
<li>m5 bits 3..0: owner of road type #2 <table>
<li>m6 bits 5..2: road layout road type #3 <tr>
<li>m7 bits 7..5: road types <td align=left>bit 0: </td>
<li>m7 bits 4..0: owner of road type #3 <td>set = disallow driving in south-west or south-east direction</td>
</tr>
<tr>
<td align=left>bit 1: </td>
<td>set = disallow driving in north-west or north-east direction</td>
</tr>
</table>
</li>
</ul>
</li>
<li>m5 bit 6 set: level crossing
<ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the railway track</li>
<li>m3 bits 3..0: <a href="#TrackType">railway track type</a></li>
<li>m4 bit 6: direction
<table>
<tr>
<td align=left><tt>0</tt>&nbsp; </td>
<td align=left>road in the X direction, rail in Y</td>
</tr>
<tr>
<td align=left><tt>1</tt>&nbsp; </td>
<td align=left>road in the Y direction, rail in X</td>
</tr>
</table>
</li>
<li>m4 bit 5: set if crossing lights are on</li>
<li>m4 bits 4..0: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
</ul>
</li> </li>
</ul> </ul>
</li> </li>
<li>m5 bit 7 set, bit 6 clear: road depot <li>m5 bit 7 set, bit 6 clear: road depot
<ul> <ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the depot</li> <li>m1: <a href="#OwnershipInfo">owner</a> of the depot</li>
<li>m3 bit 7 set = on snow or desert (not displayed, but set internally)</li> <li>m5 bits 3..0: exit towards:
<li>m5 bits 3..0 - direction: exit towards: <tt>0</tt> = NE, <tt>1</tt> = SE, <tt>2</tt> = SW, <tt>3</tt> = NW</li> <table>
<li>m7 bits 7..5: road types <tr>
</ul> <td><tt>0</tt>&nbsp; </td>
<td>NE</td>
</tr>
<tr>
<td><tt>1</tt>&nbsp; </td>
<td>SE</td>
</tr>
<tr>
<td><tt>2</tt>&nbsp; </td>
<td>SW</td>
</tr>
<tr>
<td><tt>3</tt>&nbsp; </td>
<td>NW</td>
</tr>
</table>
</li> </li>
<li>m5 bit 6 set, bit 7 clear: level crossing
<ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the railway track</li>
<li>m2: Index into the array of towns, 0 for non-town roads</li>
<li>m3 bit 7 set = on snow or desert</li>
<li>m3 bits 6..4: <tt>0</tt> - on bare land, <tt>1</tt> - on grass, <tt>2</tt> or higher - paved</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a></li>
<li>m4 bit 6: clear - road in the X direction, set - road in the Y direction (railway track always perpendicular)</li>
<li>m4 bit 5: set if crossing lights are on</li>
<li>m4 bits 4..0: <a href="#OwnershipInfo">owner</a> of the road type #1</li>
<li>m5 bits 3..0: owner of road type #2
<li>m7 bits 7..5: road types
<li>m7 bits 4..0: owner of road type #3
</ul> </ul>
</li> </li>
<li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li> <li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li>
@ -585,12 +624,12 @@
<td> <td>
<ul> <ul>
<li>m1 : Random bits <a href="#newhouses">(newhouses)</a> </li> <li>m1 : Random bits <a href="#newhouses">(newhouses)</a> </li>
<li>m2 : index into the array of industries</li> <li>m2 : index into the array of towns</li>
<li>m3 bit 7 : <li>m3 bit 7 :
<ul> <ul>
<li> set : House is complete <li> set : House is complete
<ul> <ul>
<li>m5 : age of House. Maximum been 255, which means 255 years and more</li> <li>m5 : year of house construction (relative to 1920); clamped to 0..255 (1920..2175)</li>
</ul> </ul>
</li> </li>
<li> clear : House is in construction <li> clear : House is in construction
@ -601,8 +640,8 @@
</ul> </ul>
</li> </li>
</ul> </ul>
<li>m3 bit 6 : 9th bit of house type (m4), allowing 512 different types.</li> <li>m3 bit 6 : bit 8 of house type (m4), allowing 512 different types.</li>
<li>m3 bits 5..0 : triggers activated <a href="#newhouses">(newhouses)</a></li> <li>m3 bits 4..0 : triggers activated <a href="#newhouses">(newhouses)</a></li>
<li>m4 : <a href="landscape_externals.html">town building type</a> (with m3[6] bit)</li> <li>m4 : <a href="landscape_externals.html">town building type</a> (with m3[6] bit)</li>
<li>m5 : see m3 bit 7</li> <li>m5 : see m3 bit 7</li>
<li>m6 : <li>m6 :
@ -657,7 +696,8 @@
<td> <td>
<ul> <ul>
<li>m1: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li> <li>m1: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li>
<li>m2 bits 5..4: <li>m2 bits 7..6: ground density
<li>m2 bits 5..4: ground
<table> <table>
<tr> <tr>
@ -667,12 +707,12 @@
<tr> <tr>
<td nowrap valign=top><tt>1</tt>&nbsp; </td> <td nowrap valign=top><tt>1</tt>&nbsp; </td>
<td align=left>on rough land</td> <td align=left>on rough land (density must be 3)</td>
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>2</tt>&nbsp; </td> <td nowrap valign=top><tt>2</tt>&nbsp; </td>
<td align=left>on snow or desert; m2 bits 7..6 - amount of snow or desert (for desert always set to 3 in TTD)</td> <td align=left>on snow or desert</td>
</tr> </tr>
</table> </table>
</li> </li>
@ -747,7 +787,8 @@
<li>m1: <a href="#OwnershipInfo">owner</a> of the station</li> <li>m1: <a href="#OwnershipInfo">owner</a> of the station</li>
<li>m2: index into the array of stations</li> <li>m2: index into the array of stations</li>
<li>m3 bits 7..4: persistent random data for newstations</li> <li>m3 bits 7..4: persistent random data for newstations</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway stations, must be 0 for all the other stations</li> <li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway stations</li>
<li>m3 bits 2..0: present road types for road stops</li>
<li>m4: custom station id; 0 means standard graphics</li> <li>m4: custom station id; 0 means standard graphics</li>
<li>m5: graphics index (range from 0..255 for each station type): <li>m5: graphics index (range from 0..255 for each station type):
<table> <table>
@ -780,24 +821,32 @@
</tr> </tr>
<tr> <tr>
<td nowrap valign=top><tt>00</tt>..<tt>03</tt>&nbsp; </td> <td nowrap valign=top><tt>00</tt>..<tt>05</tt>&nbsp; </td>
<td align=left>lorry loading area/truck station : exit towards: <td align=left>road stops:
<table> <table>
<tr> <tr>
<td><tt>00</tt>&nbsp; </td> <td><tt>00</tt>&nbsp; </td>
<td align=left>NE</td> <td align=left>exit towards NE</td>
</tr> </tr>
<tr> <tr>
<td><tt>01</tt>&nbsp; </td> <td><tt>01</tt>&nbsp; </td>
<td align=left>SE</td> <td align=left>exit towards SE</td>
</tr> </tr>
<tr> <tr>
<td><tt>02</tt>&nbsp; </td> <td><tt>02</tt>&nbsp; </td>
<td align=left>SW</td> <td align=left>exit towards SW</td>
</tr> </tr>
<tr> <tr>
<td><tt>03</tt>&nbsp; </td> <td><tt>03</tt>&nbsp; </td>
<td align=left>NW</td> <td align=left>exit towards NW</td>
</tr>
<tr>
<td><tt>04</tt>&nbsp; </td>
<td align=left>drive through X</td>
</tr>
<tr>
<td><tt>05</tt>&nbsp; </td>
<td align=left>drive through Y</td>
</tr> </tr>
</table> </table>
</td> </td>
@ -836,7 +885,7 @@
</tr> </tr>
</table> </table>
</li> </li>
<li>m6 bits 3..5: the station type (rail, airport, truck, bus, oilrig, dock, buoy)</li> <li>m6 bits 5..3: the station type (rail, airport, truck, bus, oilrig, dock, buoy)</li>
<li>m6 bit 2: 1 when a drive through road stop is built over a town owned road, otherwise 0</li> <li>m6 bit 2: 1 when a drive through road stop is built over a town owned road, otherwise 0</li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li> <li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
</ul> </ul>
@ -851,7 +900,9 @@
<td valign=top nowrap>&nbsp;</td> <td valign=top nowrap>&nbsp;</td>
<td> <td>
<ul> <ul>
<li>m1: <a href="#OwnershipInfo">owner</a> (for water and coasts normally <tt>11</tt>)</li> <li>m1: <a href="#OwnershipInfo">owner</a> (for sea, rivers, and coasts normally <tt>11</tt>)</li>
<li>m4: Owner of the water when ship depot</li>
<li>m4: Random data for canal or river tiles</li>
<li>m5: tile type: <li>m5: tile type:
<table> <table>
<tr> <tr>
@ -950,8 +1001,6 @@
</tr> </tr>
</table> </table>
</li> </li>
<li>m4: Owner of the water when ship depot</li>
<li>m4: Random data for canal or river tiles</li>
<li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li> <li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li> <li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
</ul> </ul>
@ -979,12 +1028,14 @@
<ul> <ul>
<li>m1 bit 7: clear = under construction <li>m1 bit 7: clear = under construction
<ul> <ul>
<li>m1 bits 4..2: construction counter, for buildings under construction incremented on every periodic tile processing</li> <li>m1 bits 3..2: construction counter, for buildings under construction incremented on every periodic tile processing</li>
<li>m1 bits 1..0: stage of construction (<tt>3</tt> = completed), incremented when the construction counter wraps around<br> <li>m1 bits 1..0: stage of construction (<tt>3</tt> = completed), incremented when the construction counter wraps around<br>
the meaning is different for some animated tiles which are never under construction (types <tt>01</tt>, <tt>1E</tt>..<tt>20</tt>, <tt>30</tt>, <tt>58</tt>; see above)</li> the meaning is different for some animated tiles which are never under construction (types <tt>01</tt>, <tt>1E</tt>..<tt>20</tt>, <tt>30</tt>, <tt>58</tt>; see above)</li>
</ul> </ul>
</li> </li>
<li>m2: index into the array of industries</li> <li>m2: index into the array of industries</li>
<li>m3: animation state</li>
<li>m4: animation loop</li>
<li>m5: type (plus m6 bit 2):<br> <li>m5: type (plus m6 bit 2):<br>
<small>(note: this is not the same as the industry type, which is stored in the array of industries)</small> <small>(note: this is not the same as the industry type, which is stored in the array of industries)</small>
@ -1290,10 +1341,9 @@
</tr> </tr>
</table> </table>
</li> </li>
<li>m6 bits 5..3: random triggers (NewGRF)</li>
<li>m6 bit 2: bit 8 of type (see m5)</li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li> <li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m3: animation state</li>
<li>m4: animation loop</li>
<li>m6 bits 3..5: random triggers (NewGRF)</li>
<li>m7: random bits (NewGRF)</li> <li>m7: random bits (NewGRF)</li>
</ul> </ul>
</td> </td>
@ -1307,18 +1357,14 @@
<td valign=top nowrap>&nbsp;</td> <td valign=top nowrap>&nbsp;</td>
<td> <td>
<ul> <ul>
<li>m5 bits 7..4 clear: tunnel entrance/exit <li>m1: <a href="#OwnershipInfo">owner</a></li>
<ul> <li>m2 bits 7..4: see bridge ramp</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the tunnel</li> <li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway</li>
<li>m3 bits 3..0 = <a href="#TrackType">track type</a> for railway tunnel, must be 0 for road tunnel</li> <li>m3 bits 2..0: present road types for road</li>
<li>m4 bit 7 set = on snow or desert</li> <li>m4 bit 7 set = on snow or desert</li>
<li>m5 bits 3..2: <tt>0</tt> - railway tunnel, <tt>1</tt> - road tunnel</li> <li>m5 bits 7 clear: tunnel entrance/exit</li>
<li>m5 bits 1..0 - direction: entrance towards: <tt>0</tt> = NE, <tt>1</tt> = SE, <tt>2</tt> = SW, <tt>3</tt> = NW</li>
</ul>
</li>
<li>m5 bit 7 set: bridge ramp <li>m5 bit 7 set: bridge ramp
<ul> <ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the bridge</li>
<li>m2 bits 7..4: <a name="BridgeType">bridge type</a>: <li>m2 bits 7..4: <a name="BridgeType">bridge type</a>:
<table> <table>
<tr> <tr>
@ -1392,14 +1438,57 @@
<td align=center>200</td> <td align=center>200</td>
<td align=left>tubular, steel</td> <td align=left>tubular, steel</td>
</tr> </tr>
<tr>
<td nowrap valign=top><tt>B</tt>&nbsp; </td>
<td align=center>320</td>
<td align=left>tubular, steel</td>
</tr>
<tr>
<td nowrap valign=top><tt>C</tt>&nbsp; </td>
<td align=center>380</td>
<td align=left>tubular, silicon</td>
</tr>
</table> </table>
</li> </li>
<li>m3 bits 3..0 = <a href="#TrackType">type of track</a> on the bridge, must be 0 for road bridge</li>
<li>m4 bit 7 set = on snow or desert</li>
<li>m5 bits 3..2: <tt>0</tt> - railway bridge, <tt>1</tt> - road bridge</li>
<li>m5 bits 1..0: DiagDirection onto the bridge</li>
</ul> </ul>
</li> </li>
<li>m5 bits 3..2: transport type
<table>
<tr>
<td><tt>0</tt>&nbsp;</td>
<td>railway</td>
</tr>
<tr>
<td><tt>1</tt>&nbsp;</td>
<td>road</td>
</tr>
</li>
<li>m5 bits 1..0: direction onto the bridge / out of the tunnel
<table>
<tr>
<td><tt>0</tt>&nbsp; </td>
<td>NE</td>
</tr>
<tr>
<td><tt>1</tt>&nbsp; </td>
<td>SE</td>
</tr>
<tr>
<td><tt>2</tt>&nbsp; </td>
<td>SW</td>
</tr>
<tr>
<td><tt>3</tt>&nbsp; </td>
<td>NW</td>
</tr>
</table>
</li>
<li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li> <li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li> <li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
</ul> </ul>
@ -1415,11 +1504,7 @@
<td> <td>
<ul> <ul>
<li>m1: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li> <li>m1: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li>
<li>m2 : <li>m2: see company statue
<ul>
<li>for company statue (m5 = 02), TownID on which the statue is built in</li>
</ul>
</li>
<li>m5: tile type: <li>m5: tile type:
<table> <table>
<tr> <tr>
@ -1434,7 +1519,11 @@
<tr> <tr>
<td nowrap valign=top><tt>02</tt>&nbsp; </td> <td nowrap valign=top><tt>02</tt>&nbsp; </td>
<td align=left>company statue</td> <td align=left>company statue
<ul>
<li>m2: TownID on which the statue is built in</li>
</ul>
</td>
</tr> </tr>
<tr> <tr>

View File

@ -6,6 +6,7 @@
<title>OpenTTD Landscape Internals - #2</title> <title>OpenTTD Landscape Internals - #2</title>
<style type="text/css"> <style type="text/css">
span.abuse { font-family: "Courier New", Courier, mono; background-color: rgb(255, 58, 31); } span.abuse { font-family: "Courier New", Courier, mono; background-color: rgb(255, 58, 31); }
span.option{ font-family: "Courier New", Courier, mono; background-color: rgb(255,255, 30); }
span.free { font-family: "Courier New", Courier, mono; background-color: rgb(30, 178, 54); } span.free { font-family: "Courier New", Courier, mono; background-color: rgb(30, 178, 54); }
span.used { font-family: "Courier New", Courier, mono; } span.used { font-family: "Courier New", Courier, mono; }
td.bits { white-space: nowrap; text-align: center; font-family: "Courier New", Courier, mono; } td.bits { white-space: nowrap; text-align: center; font-family: "Courier New", Courier, mono; }
@ -22,7 +23,8 @@ the array so you can quickly see what is used and what is not.
<ul> <ul>
<li><span style="font-weight: bold;"><span class="free">O</span></span> - bit is free</li> <li><span style="font-weight: bold;"><span class="free">O</span></span> - bit is free</li>
<li><span style="font-weight: bold;"><span class="used">X</span></span> - bit is used</li> <li><span style="font-weight: bold;"><span class="used">X</span></span> - bit is used</li>
<li><span style="font-weight: bold;"><span class="abuse">&nbsp;</span></span> - bit of attribute is abused for different purposes</li> <li><span style="font-weight: bold;"><span class="abuse">&nbsp;</span></span> - bit of attribute is abused for different purposes, i.e. other bits define the actual meaning.</li>
<li><span style="font-weight: bold;"><span class="option">~</span></span> - bit is accessed, but does not really have a meaning (e.g. owner of clear land is always OWNER_NONE)</li>
</ul> </ul>
<p> <p>
<ul> <ul>
@ -64,7 +66,7 @@ the array so you can quickly see what is used and what is not.
<td rowspan="2">0</td> <td rowspan="2">0</td>
<td class="caption">ground</td> <td class="caption">ground</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XX<span class="free">OO</span></td> <td class="bits">XXXX XX<span class="free">OO</span></td>
@ -75,23 +77,34 @@ the array so you can quickly see what is used and what is not.
<tr> <tr>
<td class="caption">farmland</td> <td class="caption">farmland</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td> <td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td> <td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td> <td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
<tr> <tr>
<td rowspan=3>1</td> <td rowspan=4>1</td>
<td class="caption">rail</td> <td class="caption">rail</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">rail with signals</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO O</span>XXX <span class="free">O</span>XXX</td> <td class="bits"><span class="free">OOOO OOOO O</span>XXX <span class="free">O</span>XXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -100,9 +113,9 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td> <td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XX<span class="free">OO O</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -111,9 +124,9 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td> <td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td> <td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td> <td class="bits">XX<span class="free">OO OOO</span>X</td>
<td class="bits">XX<span class="free">OO O</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -121,7 +134,7 @@ the array so you can quickly see what is used and what is not.
<td rowspan=3>2</td> <td rowspan=3>2</td>
<td class="caption">road</td> <td class="caption">road</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td> <td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
@ -134,11 +147,11 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td> <td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits">XX<span class="free">OO</span> XXXX</td> <td class="bits">XX<span class="free">OO</span> XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">-inherit-</td>
</tr> </tr>
<tr> <tr>
<td class="caption">road depot</td> <td class="caption">road depot</td>
@ -147,7 +160,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits">X<span class="free">OOO OOOO</span></td> <td class="bits">X<span class="free">OOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XX<span class="free">OO</span> XXXX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XXX<span class="free">O OOOO</span></td> <td class="bits">XXX<span class="free">O OOOO</span></td>
</tr> </tr>
@ -157,19 +170,19 @@ the array so you can quickly see what is used and what is not.
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td> <td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XX<span class="free">O</span>X XXXX</td> <td class="bits">XX<span class="free">O</span><span class="option">~ ~~</span>XX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="abuse">XX XXXX</span></td> <td class="bits">XXX<span class="abuse">X XXXX</span></td>
<td class="bits"><span class="abuse">XXXX XX</span>XX</td> <td class="bits"><span class="abuse">XXXX X</span>XXX</td>
<td class="bits"><span class="abuse">X</span>XX<span class="abuse">X XXX</span>X</td> <td class="bits">XXXX <span class="abuse">XXXX</span></td>
</tr> </tr>
<tr> <tr>
<td>4</td> <td>4</td>
<td class="caption">trees</td> <td class="caption">trees</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO</span> XXXX XXXX</td> <td class="bits"><span class="free">OOOO OOOO</span> XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~</span>XX XXXX</td>
<td class="bits">XXXX XX<span class="free">OO</span></td> <td class="bits">XXXX XX<span class="free">OO</span></td>
<td class="bits">XX<span class="free">OO O</span>XXX</td> <td class="bits">XX<span class="free">OO O</span>XXX</td>
<td class="bits"><span class="free">OOOO OO</span>XX</td> <td class="bits"><span class="free">OOOO OO</span>XX</td>
@ -179,9 +192,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=6>5</td> <td rowspan=6>5</td>
<td class="caption">rail station</td> <td class="caption">rail station</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td> <td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td> <td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
@ -192,9 +205,9 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OO</span>XX</td> <td class="bits"><span class="free">OOOO O</span>XXX</td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td> <td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -204,8 +217,8 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td> <td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -215,8 +228,8 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">-inherit-</td> <td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td> <td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -226,8 +239,8 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td> <td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -237,20 +250,42 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits">-inherit-</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">-inherit-</td> <td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td> <td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
<tr> <tr>
<td>6</td> <td rowspan=3>6</td>
<td class="caption">water</td> <td class="caption">sea, shore</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">X<span class="option">~~</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">canal, river</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">shipdepot</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
@ -258,7 +293,7 @@ the array so you can quickly see what is used and what is not.
<td>8</td> <td>8</td>
<td class="caption">industry</td> <td class="caption">industry</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits"><span class="abuse">X</span><span class="free">OO</span><span class="abuse">X <td class="bits">X<span class="free">OOO</span> <span class="abuse">
XXXX</span></td> XXXX</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td> <td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
@ -271,35 +306,45 @@ the array so you can quickly see what is used and what is not.
<td rowspan=2>9</td> <td rowspan=2>9</td>
<td class="caption">tunnel entrance</td> <td class="caption">tunnel entrance</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> XXXX</td> <td class="bits"><span class="free">OOOO</span> <span class="option">~</span><span class="abuse">XXX</span></td>
<td class="bits">X<span class="free">OOO OOOO</span></td> <td class="bits">X<span class="free">OOO OOOO</span></td>
<td class="bits">X<span class="free">OOO</span> XXXX</td> <td class="bits">X<span class="free">OOO</span> <span class="option">~</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
<tr> <tr>
<td>bridge ramp</td> <td>bridge ramp</td>
<td class="bits">XXXX XXXX</td> <td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX</td> <td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span> <span class="abuse">XXXX</span> <td class="bits"><span class="free">OOOO OOOO</span> XXXX <span class="free">OOOO</span></td>
<span class="free">OOOO</span></td> <td class="bits"><span class="free">OOOO</span> <span class="option">~</span><span class="abuse">XXX</span></td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">X<span class="free">OOO OOOO</span></td> <td class="bits">X<span class="free">OOO OOOO</span></td>
<td class="bits">X<span class="free">OOO</span> XXXX</td> <td class="bits">X<span class="free">OOO</span> <span class="option">~</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>
<tr> <tr>
<td>A</td> <td rowspan=2>A</td>
<td class="caption">unmovables</td> <td class="caption">unmovables</td>
<td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td> <td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td> <td class="bits">X<span class="option">~~</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">company statue</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td> <td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td> <td class="bits"><span class="free">OOOO OOOO</span></td>
</tr> </tr>