(svn r27967) -Update from Eints:
[openttd.git] / docs / landscape_grid.html
blobd34fe9840c9777b4f480142714c731779537b5ac
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays #2">
6 <title>OpenTTD Landscape Internals - #2</title>
7 <style type="text/css">
8 span.abuse { font-family: "Courier New", Courier, mono; background-color: rgb(255, 58, 31); }
9 span.option{ font-family: "Courier New", Courier, mono; background-color: rgb(255,255, 30); }
10 span.free { font-family: "Courier New", Courier, mono; background-color: rgb(30, 178, 54); }
11 span.used { font-family: "Courier New", Courier, mono; }
12 td.bits { white-space: nowrap; text-align: center; font-family: "Courier New", Courier, mono; }
13 td.caption { white-space: nowrap; text-align: left; }
14 td li { white-space: nowrap; text-align: left; }
15 th { white-space: nowrap; text-align: center; }
16 </style>
17 </head>
18 <body style="direction: ltr;">
19 <h3 style="font-weight: bold;">Landscape</h3>
20 <span style="font-weight: bold;"></span>Nine attributes hold the information about a tile.
21 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
22 the array so you can quickly see what is used and what is not.
23 <ul>
24 <li><span style="font-weight: bold;"><span class="free">O</span></span> - bit is free</li>
25 <li><span style="font-weight: bold;"><span class="used">X</span></span> - bit is used</li>
26 <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>
27 <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>
28 </ul>
29 <p>
30 <ul>
31 <li><span style="font-weight: bold;">type</span> - 8 bits in size, tile class (bits 4..7), bridge (bits 2..3) tropic zone (bits 0..1, only valid in tropic climate)</li>
32 <li><span style="font-weight: bold;">height</span> - 8 bits in size, stores tile height</li>
33 <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>
34 <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>
35 <li><span style="font-weight: bold;">m3</span> - 8 bits in size, is used for general storage</li>
36 <li><span style="font-weight: bold;">m4</span> - 8 bits in size, is used for general storage</li>
37 <li><span style="font-weight: bold;">m5</span> - 8 bits in size, is used for general storage</li>
38 <li><span style="font-weight: bold;">m6</span> - 8 bits in size, is used for general storage</li>
39 <li><span style="font-weight: bold;">m7</span> - 8 bits in size, is used for general storage</li>
40 </ul>
42 <table align=center border="1" cellpadding="2" cellspacing="2">
43 <tbody>
44 <tr>
45 <th colspan=2>class</th>
46 <th>type (8)</th>
47 <th>height (8)</th>
48 <th>m1 (8)</th>
49 <th>m2 (16)</th>
50 <th>m3 (8)</th>
51 <th>m4 (8)</th>
52 <th>m5 (8)</th>
53 <th>m6 (8)</th>
54 <th>m7 (8)</th>
55 </tr>
56 <tr>
57 <td colspan=2 class="caption">bits</td>
58 <td class="bits">7654 3210</td>
59 <td class="bits">7654 3210</td>
60 <td class="bits">7654 3210</td>
61 <td class="bits">FEDC BA98 7654 3210</td>
62 <td class="bits">7654 3210</td>
63 <td class="bits">7654 3210</td>
64 <td class="bits">7654 3210</td>
65 <td class="bits">7654 3210</td>
66 <td class="bits">7654 3210</td>
67 </tr>
68 <tr>
69 <td rowspan="2">0</td>
70 <td class="caption">ground</td>
71 <td class="bits">XXXX XXXX</td>
72 <td class="bits">XXXX XXXX</td>
73 <td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
74 <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
75 <td class="bits">XXXX <span class="free">OOOO</span></td>
76 <td class="bits">XXXX XX<span class="free">OO</span></td>
77 <td class="bits">XXXX XXXX</td>
78 <td class="bits"><span class="free">OOO</span>X XX<span class="free">OO</span></td>
79 <td class="bits"><span class="free">OOOO OOOO</span></td>
80 </tr>
81 <tr>
82 <td class="caption">farmland</td>
83 <td class="bits">-inherit-</td>
84 <td class="bits">-inherit-</td>
85 <td class="bits">-inherit-</td>
86 <td class="bits">XXXX XXXX XXXX XXXX</td>
87 <td class="bits">XXXX XXXX</td>
88 <td class="bits">-inherit-</td>
89 <td class="bits">-inherit-</td>
90 <td class="bits"><span class="free">OOO</span>X XX<span class="free">OO</span></td>
91 <td class="bits"><span class="free">OOOO OOOO</span></td>
92 </tr>
93 <tr>
94 <td rowspan=3>1</td>
95 <td class="caption">rail</td>
96 <td class="bits">XXXX XXXX</td>
97 <td class="bits">XXXX XXXX</td>
98 <td class="bits"><span class="free">OOO</span>X XXXX</td>
99 <td class="bits"><span class="free">OOOO</span> XXXX <span class="free">OOOO OOOO</span></td>
100 <td class="bits"><span class="free">OOOO</span> XXXX</td>
101 <td class="bits"><span class="free">OOOO</span> XXXX</td>
102 <td class="bits">XXXX XXXX</td>
103 <td class="bits"><span class="free">OOOO OOOO</span></td>
104 <td class="bits"><span class="free">OOOO OOOO</span></td>
105 </tr>
106 <tr>
107 <td class="caption">rail with signals</td>
108 <td class="bits">-inherit-</td>
109 <td class="bits">-inherit-</td>
110 <td class="bits">-inherit-</td>
111 <td class="bits"><span class="free">OOOO</span> XXXX XXXX XXXX</td>
112 <td class="bits">XXXX XXXX</td>
113 <td class="bits">XXXX XXXX</td>
114 <td class="bits">-inherit-</td>
115 <td class="bits"><span class="free">OOOO OOOO</span></td>
116 <td class="bits"><span class="free">OOOO OOOO</span></td>
117 </tr>
118 <tr>
119 <td class="caption">depot</td>
120 <td class="bits">-inherit-</td>
121 <td class="bits">-inherit-</td>
122 <td class="bits">-inherit-</td>
123 <td class="bits">XXXX XXXX XXXX XXXX</td>
124 <td class="bits"><span class="free">OOOO</span> XXXX</td>
125 <td class="bits"><span class="free">OOOO</span> XXXX</td>
126 <td class="bits">XX<span class="free">O</span>X <span class="free">OO</span>XX</td>
127 <td class="bits"><span class="free">OOOO OOOO</span></td>
128 <td class="bits"><span class="free">OOOO OOOO</span></td>
129 </tr>
130 <tr>
131 <td rowspan=3>2</td>
132 <td class="caption">road</td>
133 <td class="bits">XXXX XXXX</td>
134 <td class="bits">XXXX XXXX</td>
135 <td class="bits"><span class="free">OOO</span>X XXXX</td>
136 <td class="bits">XXXX XXXX XXXX XXXX</td>
137 <td class="bits">XXXX XXXX</td>
138 <td class="bits"><span class="free">OOOO OOOO</span></td>
139 <td class="bits">XXXX XXXX</td>
140 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
141 <td class="bits">XXX<span class="free">O</span> XXXX</td>
142 </tr>
143 <tr>
144 <td class="caption">level crossing</td>
145 <td class="bits">-inherit-</td>
146 <td class="bits">-inherit-</td>
147 <td class="bits">-inherit-</td>
148 <td class="bits">-inherit-</td>
149 <td class="bits">XXXX XXXX</td>
150 <td class="bits">-inherit-</td>
151 <td class="bits">XXXX<span class="free"> OOO</span>X</td>
152 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
153 <td class="bits">XXXX XXXX</td>
154 </tr>
155 <tr>
156 <td class="caption">road depot</td>
157 <td class="bits">-inherit-</td>
158 <td class="bits">-inherit-</td>
159 <td class="bits">-inherit-</td>
160 <td class="bits">-inherit-</td>
161 <td class="bits">XXXX <span class="free">OOOO</span></td>
162 <td class="bits"><span class="free">OOOO OOOO</span></td>
163 <td class="bits">XX<span class="free">OO OO</span>XX</td>
164 <td class="bits"><span class="free">OOOO OOOO</span></td>
165 <td class="bits">XXX<span class="free">O</span> XXXX</td>
166 </tr>
167 <tr>
168 <td>3</td>
169 <td class="caption">house</td>
170 <td class="bits">XXXX XXXX</td>
171 <td class="bits">XXXX XXXX</td>
172 <td class="bits">XXXX XXXX</td>
173 <td class="bits">XXXX XXXX XXXX XXXX</td>
174 <td class="bits">XX<span class="free">O</span><span class="option">~ ~~</span>XX</td>
175 <td class="bits">XXXX XXXX</td>
176 <td class="bits">XXX<span class="abuse">X XXXX</span></td>
177 <td class="bits"><span class="abuse">XXXX XX</span><span class="free">OO</span></td>
178 <td class="bits">XXXX <span class="abuse">XXXX</span></td>
179 </tr>
180 <tr>
181 <td>4</td>
182 <td class="caption">trees</td>
183 <td class="bits">XXXX XXXX</td>
184 <td class="bits">XXXX XXXX</td>
185 <td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
186 <td class="bits"><span class="free">OOOO OOO</span>X XXXX XXXX</td>
187 <td class="bits"><span class="option">~~</span>XX XXXX</td>
188 <td class="bits"><span class="free">OOOO OOOO</span></td>
189 <td class="bits">XX<span class="free">OO O</span>XXX</td>
190 <td class="bits"><span class="free">OOOO OOOO</span></td>
191 <td class="bits"><span class="free">OOOO OOOO</span></td>
192 </tr>
193 <tr>
194 <td rowspan=7>5</td>
195 <td class="caption">rail station</td>
196 <td class="bits">XXXX XXXX</td>
197 <td class="bits">XXXX XXXX</td>
198 <td class="bits"><span class="free">O</span>XXX XXXX</td>
199 <td class="bits">XXXX XXXX XXXX XXXX</td>
200 <td class="bits">XXXX XXXX</td>
201 <td class="bits">XXXX XXXX</td>
202 <td class="bits">XXXX XXXX</td>
203 <td class="bits"><span class="free">OO</span>XX XX<span class="free">OO</span></td>
204 <td class="bits">XXXX XXXX</td>
205 </tr>
206 <tr>
207 <td class="caption">rail waypoint</td>
208 <td class="bits">-inherit-</td>
209 <td class="bits">-inherit-</td>
210 <td class="bits">-inherit-</td>
211 <td class="bits">-inherit-</td>
212 <td class="bits">-inherit-</td>
213 <td class="bits">-inherit-</td>
214 <td class="bits">-inherit-</td>
215 <td class="bits">-inherit-</td>
216 <td class="bits">-inherit-</td>
217 </tr>
218 <tr>
219 <td class="caption">road stop</td>
220 <td class="bits">-inherit-</td>
221 <td class="bits">-inherit-</td>
222 <td class="bits">-inherit-</td>
223 <td class="bits">-inherit-</td>
224 <td class="bits">XXXX <span class="free">OOOO</span></td>
225 <td class="bits"><span class="free">OOOO OOOO</span></td>
226 <td class="bits"><span class="option">~~~~ ~</span>XXX</td>
227 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
228 <td class="bits">XX<span class="free">O</span>X XXXX</td>
229 </tr>
230 <tr>
231 <td class="caption">dock</td>
232 <td class="bits">-inherit-</td>
233 <td class="bits">-inherit-</td>
234 <td class="bits">-inherit-</td>
235 <td class="bits">-inherit-</td>
236 <td class="bits"><span class="free">OOOO OOOO</span></td>
237 <td class="bits"><span class="free">OOOO OOOO</span></td>
238 <td class="bits"><span class="option">~~~~ ~</span>XXX</td>
239 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
240 <td class="bits"><span class="free">OOOO OOOO</span></td>
241 </tr>
242 <tr>
243 <td class="caption">airport</td>
244 <td class="bits">-inherit-</td>
245 <td class="bits">-inherit-</td>
246 <td class="bits">-inherit-</td>
247 <td class="bits">-inherit-</td>
248 <td class="bits">XXXX <span class="free">OOOO</span></td>
249 <td class="bits"><span class="free">OOOO OOOO</span></td>
250 <td class="bits">XXXX XXXX</td>
251 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
252 <td class="bits">XXXX XXXX</td>
253 </tr>
254 <tr>
255 <td class="caption">buoy</td>
256 <td class="bits">-inherit-</td>
257 <td class="bits">-inherit-</td>
258 <td class="bits">-inherit-</td>
259 <td class="bits">-inherit-</td>
260 <td class="bits"><span class="free">OOOO OOOO</span></td>
261 <td class="bits"><span class="free">OOOO OOOO</span></td>
262 <td class="bits"><span class="option">~~~~ ~~~~</span></td>
263 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
264 <td class="bits"><span class="free">OOOO OOOO</span></td>
265 </tr>
266 <tr>
267 <td class="caption">oilrig</td>
268 <td class="bits">-inherit-</td>
269 <td class="bits">-inherit-</td>
270 <td class="bits">-inherit-</td>
271 <td class="bits">-inherit-</td>
272 <td class="bits"><span class="free">OOOO OOOO</span></td>
273 <td class="bits"><span class="free">OOOO OOOO</span></td>
274 <td class="bits"><span class="option">~~~~ ~~~~</span></td>
275 <td class="bits"><span class="free">OO</span>XX X<span class="free">OOO</span></td>
276 <td class="bits"><span class="free">OOOO OOOO</span></td>
277 </tr>
278 <tr>
279 <td rowspan=3>6</td>
280 <td class="caption">sea, shore</td>
281 <td class="bits">XXXX XXXX</td>
282 <td class="bits">XXXX XXXX</td>
283 <td class="bits"><span class="free">O</span>XXX XXXX</td>
284 <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
285 <td class="bits"><span class="free">OOOO OOOO</span></td>
286 <td class="bits"><span class="free">OOOO OOOO</span></td>
287 <td class="bits">X<span class="option">~~</span>X XXXX</td>
288 <td class="bits"><span class="free">OOOO OOOO</span></td>
289 <td class="bits"><span class="free">OOOO OOOO</span></td>
290 </tr>
291 <tr>
292 <td class="caption">canal, river</td>
293 <td class="bits">-inherit-</td>
294 <td class="bits">-inherit-</td>
295 <td class="bits">-inherit-</td>
296 <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
297 <td class="bits"><span class="free">OOOO OOOO</span></td>
298 <td class="bits">XXXX XXXX</td>
299 <td class="bits">-inherit-</td>
300 <td class="bits"><span class="free">OOOO OOOO</span></td>
301 <td class="bits"><span class="free">OOOO OOOO</span></td>
302 </tr>
303 <tr>
304 <td class="caption">shipdepot</td>
305 <td class="bits">-inherit-</td>
306 <td class="bits">-inherit-</td>
307 <td class="bits">-inherit-</td>
308 <td class="bits">XXXX XXXX XXXX XXXX</td>
309 <td class="bits"><span class="free">OOOO OOOO</span></td>
310 <td class="bits"><span class="free">OOOO OOOO</span></td>
311 <td class="bits">-inherit-</td>
312 <td class="bits"><span class="free">OOOO OOOO</span></td>
313 <td class="bits"><span class="free">OOOO OOOO</span></td>
314 </tr>
315 <tr>
316 <td>8</td>
317 <td class="caption">industry</td>
318 <td class="bits">XXXX XXXX</td>
319 <td class="bits">XXXX XXXX</td>
320 <td class="bits">XXX<span class="free">O</span> <span class="abuse">XXXX</span></td>
321 <td class="bits">XXXX XXXX XXXX XXXX</td>
322 <td class="bits">XXXX XXXX</td>
323 <td class="bits">XXXX XXXX</td>
324 <td class="bits">XXXX XXXX</td>
325 <td class="bits"><span class="free">OO</span>XX XX<span class="free">OO</span></td>
326 <td class="bits">XXXX XXXX</td>
327 </tr>
328 <tr>
329 <td rowspan=2>9</td>
330 <td class="caption">tunnel entrance</td>
331 <td class="bits">XXXX XXXX</td>
332 <td class="bits">XXXX XXXX</td>
333 <td class="bits"><span class="free">OOO</span>X XXXX</td>
334 <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
335 <td class="bits">XXXX XXXX</td>
336 <td class="bits"><span class="free">OOOO OOOO</span></td>
337 <td class="bits">X<span class="free">OO</span>X XXXX</td>
338 <td class="bits"><span class="free">OOOO OOOO</span></td>
339 <td class="bits">XXXX XXXX</td>
340 </tr>
341 <tr>
342 <td>bridge ramp</td>
343 <td class="bits">-inherit-</td>
344 <td class="bits">-inherit-</td>
345 <td class="bits">-inherit-</td>
346 <td class="bits">-inherit-</td>
347 <td class="bits">-inherit-</td>
348 <td class="bits">-inherit-</td>
349 <td class="bits">-inherit-</td>
350 <td class="bits"><span class="free">OO</span>XX XX<span class="free">OO</span></td>
351 <td class="bits">-inherit-</td>
352 </tr>
353 <tr>
354 <td rowspan=2>A</td>
355 <td class="caption">objects</td>
356 <td class="bits">XXXX XXXX</td>
357 <td class="bits">XXXX XXXX</td>
358 <td class="bits"><span class="free">O</span>XXX XXXX</td>
359 <td class="bits">XXXX XXXX XXXX XXXX</td>
360 <td class="bits">XXXX XXXX</td>
361 <td class="bits"><span class="free">OOOO OOOO</span></td>
362 <td class="bits">XXXX XXXX</td>
363 <td class="bits"><span class="free">OOOO OOOO</span></td>
364 <td class="bits">XXXX XXXX</td>
365 </tr>
366 </tbody>
367 </table>
369 </body>
370 </html>