mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
344 lines
15 KiB
HTML
344 lines
15 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays #2">
|
|
<title>OpenTTD Landscape Internals - #2</title>
|
|
<style type="text/css">
|
|
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.used { font-family: "Courier New", Courier, mono; }
|
|
td.bits { white-space: nowrap; text-align: center; font-family: "Courier New", Courier, mono; }
|
|
td.caption { white-space: nowrap; text-align: left; }
|
|
td li { white-space: nowrap; text-align: left; }
|
|
th { white-space: nowrap; text-align: center; }
|
|
</style>
|
|
</head>
|
|
<body style="direction: ltr;">
|
|
<h3 style="font-weight: bold;">Landscape</h3>
|
|
<span style="font-weight: bold;"></span>Six 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="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="abuse"> </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>
|
|
<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</span> - 8 bits in size, is used for general storage</li>
|
|
<li><span style="font-weight: bold;">m4</span> - 8 bits in size, is used for general storage</li>
|
|
<li><span style="font-weight: bold;">m5</span> - 8 bits in size, is used for general storage</li>
|
|
<li><span style="font-weight: bold;">m6</span> - 8 bits in size, special meaning : lower 2 bits only valid in tropic climate, upper 2 bits for bridges</li>
|
|
<li><span style="font-weight: bold;">m7</span> - 8 bits in size, is used for general storage</li>
|
|
</ul>
|
|
|
|
<table align=center border="1" cellpadding="2" cellspacing="2">
|
|
<tbody>
|
|
<tr>
|
|
<th colspan=2>class</th>
|
|
<th>type_height (8)</th>
|
|
<th>m1 (8)</th>
|
|
<th>m2 (16)</th>
|
|
<th>m3 (8)</th>
|
|
<th>m4 (8)</th>
|
|
<th>m5 (8)</th>
|
|
<th>m6 (8)</th>
|
|
<th>m7 (8)</th>
|
|
</tr>
|
|
<tr>
|
|
<td colspan=2 class="caption">bits</td>
|
|
<td class="bits">7654 3210</td>
|
|
<td class="bits">7654 3210</td>
|
|
<td class="bits">FEDC BA98 7654 3210</td>
|
|
<td class="bits">7654 3210</td>
|
|
<td class="bits">7654 3210</td>
|
|
<td class="bits">7654 3210</td>
|
|
<td class="bits">7654 3210</td>
|
|
<td class="bits">7654 3210</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="2">0</td>
|
|
<td class="caption">ground</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
|
|
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
|
|
<td class="bits"><span class="free">OOO</span>X <span class="free">OOOO</span></td>
|
|
<td class="bits">XXXX XX<span class="free">OO</span></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">farmland</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">OOO</span>X XXXX</td>
|
|
<td class="bits">-inherit-</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 rowspan=3>1</td>
|
|
<td class="caption">rail</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOO</span>X XXXX</td>
|
|
<td class="bits"><span class="free">OOOO</span> XXXX <span class="free">OOOO OOOO</span></td>
|
|
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
|
<td class="bits"><span class="free">OOOO</span> 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</span> XXXX XXXX XXXX</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">depot</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</span> XXXX</td>
|
|
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
|
<td class="bits">XX<span class="free">O</span>X <span class="free">O</span>XXX</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 rowspan=3>2</td>
|
|
<td class="caption">road</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOO</span>X XXXX</td>
|
|
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits">XXXX X<span class="free">O</span>XX</td>
|
|
<td class="bits">XXX<span class="free">O</span> XXXX</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">level crossing</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">-inherit-</td>
|
|
<td class="bits">XXXX<span class="free"> OOO</span>X</td>
|
|
<td class="bits">XXXX X<span class="free">O</span>XX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">road depot</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">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>
|
|
</tr>
|
|
<tr>
|
|
<td>3</td>
|
|
<td class="caption">house</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits">XXXX XXXX XXXX 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">XXX<span class="abuse">X XXXX</span></td>
|
|
<td class="bits"><span class="abuse">XXXX XX</span>XX</td>
|
|
<td class="bits">XXXX <span class="abuse">XXXX</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>4</td>
|
|
<td class="caption">trees</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
|
|
<td class="bits"><span class="free">OOOO OOO</span>X 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">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 OOOO</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan=7>5</td>
|
|
<td class="caption">rail station</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">O</span>XXX 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"><span class="free">OO</span>XX XXXX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">rail waypoint</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">-inherit-</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">-inherit-</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">road stop</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">XXXX <span class="free">OOOO</span></td>
|
|
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
|
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
|
|
<td class="bits"><span class="free">OO</span>XX XXXX</td>
|
|
<td class="bits">XX<span class="free">O</span>X XXXX</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">dock</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"><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">OOOO OOOO</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">airport</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">-inherit-</td>
|
|
<td class="bits">XXXX <span class="free">OOOO</span></td>
|
|
<td class="bits"><span class="free">OOOO OOOO</span></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">XXXX XXXX</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">buoy</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"><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">OOOO OOOO</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="caption">oilrig</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"><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">OOOO OOOO</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan=3>6</td>
|
|
<td class="caption">sea, shore</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">O</span>XXX 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</span></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">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"><span class="free">OOOO OOOO</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>8</td>
|
|
<td class="caption">industry</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits">XXX<span class="free">O</span> <span class="abuse">XXXX</span></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"><span class="free">OO</span>XX XXXX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan=2>9</td>
|
|
<td class="caption">tunnel entrance</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOO</span>X XXXX</td>
|
|
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
|
<td class="bits">X<span class="free">OO</span>X XXXX</td>
|
|
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
|
<td class="bits">XXXX X<span class="free">O</span>XX</td>
|
|
</tr>
|
|
<tr>
|
|
<td>bridge ramp</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">-inherit-</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits">-inherit-</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan=2>A</td>
|
|
<td class="caption">objects</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">O</span>XXX XXXX</td>
|
|
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits"><span class="free">OOOO OOOO</span></td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
<td class="bits">XX<span class="free">OO OO</span>XX</td>
|
|
<td class="bits">XXXX XXXX</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</body>
|
|
</html>
|