1 <!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
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
; }
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.
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"> </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>
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 <li><span style=
"font-weight: bold;">m8
</span> -
16 bits in size, is used for general storage
</li>
43 <table align=center
border=
"1" cellpadding=
"2" cellspacing=
"2">
46 <th colspan=
2>class
</th>
59 <td colspan=
2 class=
"caption">bits
</td>
60 <td class=
"bits">7654 3210</td>
61 <td class=
"bits">7654 3210</td>
62 <td class=
"bits">7654 3210</td>
63 <td class=
"bits">FEDC BA98
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 <td class=
"bits">7654 3210</td>
68 <td class=
"bits">7654 3210</td>
69 <td class=
"bits">FEDC BA98
7654 3210</td>
72 <td rowspan=
"2">0</td>
73 <td class=
"caption">ground
</td>
74 <td class=
"bits">XXXX XXXX
</td>
75 <td class=
"bits">XXXX XXXX
</td>
76 <td class=
"bits"><span class=
"free">OOO
</span><span class=
"option">~ ~~~~
</span></td>
77 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
78 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
79 <td class=
"bits">XXXX XX
<span class=
"free">OO
</span></td>
80 <td class=
"bits">XXXX XXXX
</td>
81 <td class=
"bits"><span class=
"free">OOO
</span>X XX
<span class=
"free">OO
</span></td>
82 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
83 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
86 <td class=
"caption">farmland
</td>
87 <td class=
"bits">-inherit-
</td>
88 <td class=
"bits">-inherit-
</td>
89 <td class=
"bits">-inherit-
</td>
90 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
91 <td class=
"bits">XXXX XXXX
</td>
92 <td class=
"bits">-inherit-
</td>
93 <td class=
"bits">-inherit-
</td>
94 <td class=
"bits"><span class=
"free">OOO
</span>X XX
<span class=
"free">OO
</span></td>
95 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
96 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
100 <td class=
"caption">rail
</td>
101 <td class=
"bits">XXXX XXXX
</td>
102 <td class=
"bits">XXXX XXXX
</td>
103 <td class=
"bits"><span class=
"free">OOO
</span>X XXXX
</td>
104 <td class=
"bits"><span class=
"free">OOOO
</span> XXXX
<span class=
"free">OOOO OOOO
</span></td>
105 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
106 <td class=
"bits"><span class=
"free">OOOO
</span> XXXX
</td>
107 <td class=
"bits">XXXX XXXX
</td>
108 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
109 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
110 <td class=
"bits"><span class=
"free">OOOO OOOO OO
</span>XX XXXX
</td>
113 <td class=
"caption">rail with signals
</td>
114 <td class=
"bits">-inherit-
</td>
115 <td class=
"bits">-inherit-
</td>
116 <td class=
"bits">-inherit-
</td>
117 <td class=
"bits"><span class=
"free">OOOO
</span> XXXX XXXX XXXX
</td>
118 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
119 <td class=
"bits">XXXX XXXX
</td>
120 <td class=
"bits">-inherit-
</td>
121 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
122 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
123 <td class=
"bits">-inherit-
</td>
126 <td class=
"caption">depot
</td>
127 <td class=
"bits">-inherit-
</td>
128 <td class=
"bits">-inherit-
</td>
129 <td class=
"bits">-inherit-
</td>
130 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
131 <td class=
"bits">-inherit-
</td>
132 <td class=
"bits"><span class=
"free">OOOO
</span> XXXX
</td>
133 <td class=
"bits">XX
<span class=
"free">O
</span>X
<span class=
"free">OO
</span>XX
</td>
134 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
135 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
136 <td class=
"bits">-inherit-
</td>
140 <td class=
"caption">road
</td>
141 <td class=
"bits">XXXX XXXX
</td>
142 <td class=
"bits">XXXX XXXX
</td>
143 <td class=
"bits"><span class=
"free">OOO
</span>X XXXX
</td>
144 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
145 <td class=
"bits">XXXX XXXX
</td>
146 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
147 <td class=
"bits">XXXX XXXX
</td>
148 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
149 <td class=
"bits">XXX
<span class=
"free">O
</span> XXXX
</td>
150 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
153 <td class=
"caption">level crossing
</td>
154 <td class=
"bits">-inherit-
</td>
155 <td class=
"bits">-inherit-
</td>
156 <td class=
"bits">-inherit-
</td>
157 <td class=
"bits">-inherit-
</td>
158 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
159 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
160 <td class=
"bits">XXXX
<span class=
"free">OOO
</span>X
</td>
161 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
162 <td class=
"bits">XXXX XXXX
</td>
163 <td class=
"bits"><span class=
"free">OOOO OOOO OO
</span>XX XXXX
</td>
166 <td class=
"caption">road depot
</td>
167 <td class=
"bits">-inherit-
</td>
168 <td class=
"bits">-inherit-
</td>
169 <td class=
"bits">-inherit-
</td>
170 <td class=
"bits">-inherit-
</td>
171 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
172 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
173 <td class=
"bits">XX
<span class=
"free">OO OO
</span>XX
</td>
174 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
175 <td class=
"bits">XXX
<span class=
"free">O
</span> XXXX
</td>
176 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
180 <td class=
"caption">house
</td>
181 <td class=
"bits">XXXX XXXX
</td>
182 <td class=
"bits">XXXX XXXX
</td>
183 <td class=
"bits">XXXX XXXX
</td>
184 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
185 <td class=
"bits">XX
<span class=
"free">O
</span><span class=
"option">~ ~~
</span>XX
</td>
186 <td class=
"bits">XXXX XXXX
</td>
187 <td class=
"bits">XXX
<span class=
"abuse">X XXXX
</span></td>
188 <td class=
"bits"><span class=
"abuse">XXXX XX
</span><span class=
"free">OO
</span></td>
189 <td class=
"bits">XXXX
<span class=
"abuse">XXXX
</span></td>
190 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
194 <td class=
"caption">trees
</td>
195 <td class=
"bits">XXXX XXXX
</td>
196 <td class=
"bits">XXXX XXXX
</td>
197 <td class=
"bits"><span class=
"free">O
</span>XX
<span class=
"option">~ ~~~~
</span></td>
198 <td class=
"bits"><span class=
"free">OOOO OOO
</span>X XXXX XXXX
</td>
199 <td class=
"bits"><span class=
"option">~~
</span>XX XXXX
</td>
200 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
201 <td class=
"bits">XX
<span class=
"free">OO O
</span>XXX
</td>
202 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
203 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
204 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
208 <td class=
"caption">rail station
</td>
209 <td class=
"bits">XXXX XXXX
</td>
210 <td class=
"bits">XXXX XXXX
</td>
211 <td class=
"bits"><span class=
"free">O
</span>XXX XXXX
</td>
212 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
213 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
214 <td class=
"bits">XXXX XXXX
</td>
215 <td class=
"bits">XXXX XXXX
</td>
216 <td class=
"bits"><span class=
"free">OO
</span>XX XX
<span class=
"free">OO
</span></td>
217 <td class=
"bits">XXXX XXXX
</td>
218 <td class=
"bits"><span class=
"free">OOOO OOOO OO
</span>XX XXXX
</td>
221 <td class=
"caption">rail waypoint
</td>
222 <td class=
"bits">-inherit-
</td>
223 <td class=
"bits">-inherit-
</td>
224 <td class=
"bits">-inherit-
</td>
225 <td class=
"bits">-inherit-
</td>
226 <td class=
"bits">-inherit-
</td>
227 <td class=
"bits">-inherit-
</td>
228 <td class=
"bits">-inherit-
</td>
229 <td class=
"bits">-inherit-
</td>
230 <td class=
"bits">-inherit-
</td>
231 <td class=
"bits">-inherit-
</td>
234 <td class=
"caption">road stop
</td>
235 <td class=
"bits">-inherit-
</td>
236 <td class=
"bits">-inherit-
</td>
237 <td class=
"bits">-inherit-
</td>
238 <td class=
"bits">-inherit-
</td>
239 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
240 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
241 <td class=
"bits"><span class=
"option">~~~~ ~
</span>XXX
</td>
242 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
243 <td class=
"bits">XX
<span class=
"free">O
</span>X XXXX
</td>
244 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
247 <td class=
"caption">dock
</td>
248 <td class=
"bits">-inherit-
</td>
249 <td class=
"bits">-inherit-
</td>
250 <td class=
"bits">-inherit-
</td>
251 <td class=
"bits">-inherit-
</td>
252 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
253 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
254 <td class=
"bits"><span class=
"option">~~~~ ~
</span>XXX
</td>
255 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
256 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
257 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
260 <td class=
"caption">airport
</td>
261 <td class=
"bits">-inherit-
</td>
262 <td class=
"bits">-inherit-
</td>
263 <td class=
"bits">-inherit-
</td>
264 <td class=
"bits">-inherit-
</td>
265 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
266 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
267 <td class=
"bits">XXXX XXXX
</td>
268 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
269 <td class=
"bits">XXXX XXXX
</td>
270 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
273 <td class=
"caption">buoy
</td>
274 <td class=
"bits">-inherit-
</td>
275 <td class=
"bits">-inherit-
</td>
276 <td class=
"bits">-inherit-
</td>
277 <td class=
"bits">-inherit-
</td>
278 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
279 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
280 <td class=
"bits"><span class=
"option">~~~~ ~~~~
</span></td>
281 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
282 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
283 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
286 <td class=
"caption">oilrig
</td>
287 <td class=
"bits">-inherit-
</td>
288 <td class=
"bits">-inherit-
</td>
289 <td class=
"bits">-inherit-
</td>
290 <td class=
"bits">-inherit-
</td>
291 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
292 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
293 <td class=
"bits"><span class=
"option">~~~~ ~~~~
</span></td>
294 <td class=
"bits"><span class=
"free">OO
</span>XX X
<span class=
"free">OOO
</span></td>
295 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
296 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
300 <td class=
"caption">sea, shore
</td>
301 <td class=
"bits">XXXX XXXX
</td>
302 <td class=
"bits">XXXX XXXX
</td>
303 <td class=
"bits"><span class=
"free">O
</span>XXX XXXX
</td>
304 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
305 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
306 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
307 <td class=
"bits">X
<span class=
"option">~~
</span>X XXXX
</td>
308 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
309 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
310 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
313 <td class=
"caption">canal, river
</td>
314 <td class=
"bits">-inherit-
</td>
315 <td class=
"bits">-inherit-
</td>
316 <td class=
"bits">-inherit-
</td>
317 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
318 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
319 <td class=
"bits">XXXX XXXX
</td>
320 <td class=
"bits">-inherit-
</td>
321 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
322 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
323 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
326 <td class=
"caption">shipdepot
</td>
327 <td class=
"bits">-inherit-
</td>
328 <td class=
"bits">-inherit-
</td>
329 <td class=
"bits">-inherit-
</td>
330 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
331 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
332 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
333 <td class=
"bits">-inherit-
</td>
334 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
335 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
336 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
340 <td class=
"caption">industry
</td>
341 <td class=
"bits">XXXX XXXX
</td>
342 <td class=
"bits">XXXX XXXX
</td>
343 <td class=
"bits">XXX
<span class=
"free">O
</span> <span class=
"abuse">XXXX
</span></td>
344 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
345 <td class=
"bits">XXXX XXXX
</td>
346 <td class=
"bits">XXXX XXXX
</td>
347 <td class=
"bits">XXXX XXXX
</td>
348 <td class=
"bits"><span class=
"free">OO
</span>XX XX
<span class=
"free">OO
</span></td>
349 <td class=
"bits">XXXX XXXX
</td>
350 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
354 <td class=
"caption">tunnel entrance
</td>
355 <td class=
"bits">XXXX XXXX
</td>
356 <td class=
"bits">XXXX XXXX
</td>
357 <td class=
"bits"><span class=
"free">OOO
</span>X XXXX
</td>
358 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
359 <td class=
"bits">XXXX
<span class=
"free">OOOO
</span></td>
360 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
361 <td class=
"bits">X
<span class=
"free">OO
</span>X XXXX
</td>
362 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
363 <td class=
"bits">XXXX XXXX
</td>
364 <td class=
"bits"><span class=
"free">OOOO OOOO OO
</span>XX XXXX
</td>
368 <td class=
"bits">-inherit-
</td>
369 <td class=
"bits">-inherit-
</td>
370 <td class=
"bits">-inherit-
</td>
371 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>
372 <td class=
"bits">-inherit-
</td>
373 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
374 <td class=
"bits">-inherit-
</td>
375 <td class=
"bits"><span class=
"free">OO
</span>XX XX
<span class=
"free">OO
</span></td>
376 <td class=
"bits">-inherit-
</td>
377 <td class=
"bits">-inherit-
</td>
381 <td class=
"caption">objects
</td>
382 <td class=
"bits">XXXX XXXX
</td>
383 <td class=
"bits">XXXX XXXX
</td>
384 <td class=
"bits"><span class=
"free">O
</span>XXX XXXX
</td>
385 <td class=
"bits">XXXX XXXX XXXX XXXX
</td>
386 <td class=
"bits">XXXX XXXX
</td>
387 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
388 <td class=
"bits">XXXX XXXX
</td>
389 <td class=
"bits"><span class=
"free">OOOO OOOO
</span></td>
390 <td class=
"bits">XXXX XXXX
</td>
391 <td class=
"bits"><span class=
"free">OOOO OOOO OOOO OOOO
</span></td>