OpenTTD-patches/docs/landscape_grid.html

252 lines
15 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays #2">
<title>OpenTTD Landscape Internals - #2</title>
<style type="text/css">
.freebits { background-color: rgb(30, 178, 54);}
.abuse { background-color: rgb(255, 58, 31);}
.style7 {font-family: "Courier New", Courier, mono}
.style8 {background-color: rgb(30, 178, 54); font-family: "Courier New", Courier, mono; }
.style9 {background-color: rgb(255, 58, 31); font-family: "Courier New", Courier, mono; }
</style>
</head>
<body style="direction: ltr;">
<h3 style="font-weight: bold;">Landscape</h3>
<span style="font-weight: bold;"></span>Five attributes hold the information about a tile.
This can be seen in the <a href="landscape.html">Landscape</a> document. This page tries to give an overview of used and free bits of
the array so you can quickly see what is used and what is not.
<ul>
<li><span style="font-weight: bold;"><span class="freebits">O</span></span> - bit is free</li>
<li><span style="font-weight: bold;">X</span> - bit is used</li>
<li><span style="font-weight: bold;"><span class="abuse">&nbsp;&nbsp;&nbsp;</span></span> - bit of attribute is abused for different purposes</li>
<li><b>NOTE: </b>counting the bits starts with bit0 in the most left position (eg. a bit screwed LE format; BIT by BIT) </li>
</ul>
<p>
<ul>
<li><span style="font-weight: bold;">type_height</span> - 8 bits in size, stores tile height (lower 4 bits) and tile class (upper 4 bits)</li>
<li><span style="font-weight: bold;">m1</span> - 8 bits in size, used to identify the owner of that tile (eg piece of rail, bridge, etc.)</li>
<li><span style="font-weight: bold;">m2</span> - 16 bits in size, used to identify the index of the given tile (object) in the (object-)array</li>
<li><span style="font-weight: bold;">m3/m4</span> - 16 bits in size, which is split up into m3 and m4 is used for general storage</li>
<li><span style="font-weight: bold;">m5</span> - 8 bits in size, is used for general storage</li>
</ul>
<table style="text-align: left;" border="1" cellpadding="2"
cellspacing="2" width="100%">
<tbody>
<tr>
<th style="white-space: nowrap; text-align: left;">class</th>
<th style="white-space: nowrap; text-align: center;">m1[L1] (8)</th>
<th style="white-space: nowrap; text-align: center;">m2[L2] (16)</th>
<th style="white-space: nowrap; text-align: center;">m3/m4[L3] (16)</th>
<th style="white-space: nowrap; text-align: center;">type_height[L4] (8)</th>
<th style="white-space: nowrap; text-align: center;">m5[L5] (8)</th>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">bits</td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">0123 4567 </span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">0123 4567 0123 4567 </span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">0123 4567 0123 4567 </span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">0123 4567</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">0123 4567</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(0) ground</td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX <span class="freebits">OOOO OO</span>XX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX X<span class="freebits">O</span>XX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(1) rail</td>
<td style="white-space: nowrap; text-align: center;"><span class="style9">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX <span class="freebits">OOOO OOOO</span><br>
</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX</span><br>
</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX<br>
</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">depot/checkpoint</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="text-align: center;"><span class="style7">XXXX X<span class="freebits">OOO</span> XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXX<span class="freebits">O OO</span>XX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(2) road</td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style9">XXXX XXXX XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style8">OOOO OOOO</span><span class="style7"> XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">level crossing</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style9">XXXX XXXX XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style8">OO</span><span class="style7">XX XXXX</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">road depot</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="text-align: center;"><span class="style8">OOOO OOOO OOOO OOO</span><span class="style7">X</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(3) town</td>
<td style="white-space: nowrap; text-align: center;"><span class="style9">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX<br>
</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX<br>
</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XX<span class="freebits">O</span>X</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(4) trees</td>
<td style="white-space: nowrap; text-align: center;"><span class="style9">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XX<span class="freebits">OO OOOO OOOO</span></span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX <span class="freebits">OO</span>XX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXX<span class="freebits">O OO</span>XX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(5) station</td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX X<span class="freebits">OOO</span> XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(6) water</td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(8) industry</td>
<td style="white-space: nowrap; text-align: center;"><span class="style9">XXXX X</span><span class="style8">OO</span><span class="style9">X</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">bubble/sugar/toffee</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX <span class="freebits">OOOO OOOO</span></span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">toy factory</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">gold/copper/coal</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">oil wells</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">power station</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">XXXX XX<span class="freebits">O</span>X</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
<td style="text-align: center;"><span class="style7">-inherit-</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(9) tunnel</td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX <span class="freebits">OOOO OOOO OOO</span>X</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td>
<ul>
<li style="white-space: nowrap; text-align: left;">bridge</li>
</ul>
</td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style9">XXXX XXXX</span> <span class="style8">OOOO OOOO</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX <span class="freebits">OOOO OOO</span>X</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: left;">(10) various (HQ)</td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style8">OOOO OOOO OOOO OOOO</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
<td style="white-space: nowrap; text-align: center;"><span class="style7">XXXX XXXX</span></td>
</tr>
</tbody>
</table>
</body>
</html>