OpenTTD Landscape Internals - #2
Description: Structure of OpenTTD (OTTD) landscape arrays #2

### Landscape

Nine attributes hold the information about a tile. This can be seen in the Landscape 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.

- O - bit is free
- X - bit is used
- - bit of attribute is abused for different purposes, i.e. other bits define the actual meaning.
- ~ - bit is accessed, but does not really have a meaning (e.g. owner of clear land is always OWNER_NONE)

- type - 8 bits in size, tile class (bits 4..7), bridge (bits 2..3) tropic zone (bits 0..1, only valid in tropic climate)
- height - 8 bits in size, stores tile height
- m1 - 8 bits in size, used to identify the owner of that tile (eg piece of rail, bridge, etc.)
- m2 - 16 bits in size, used to identify the index of the given tile (object) in the (object-)array
- m3 - 8 bits in size, is used for general storage
- m4 - 8 bits in size, is used for general storage
- m5 - 8 bits in size, is used for general storage
- m6 - 8 bits in size, is used for general storage
- m7 - 8 bits in size, is used for general storage

class | type (8) | height (8) | m1 (8) | m2 (16) | m3 (8) | m4 (8) | m5 (8) | m6 (8) | m7 (8)
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
bits | 7654 3210 | 7654 3210 | 7654 3210 | FEDC BA98 7654 3210 | 7654 3210 | 7654 3210 | 7654 3210 | 7654 3210 | 7654 3210
0 | ground | XXXX XXXX | XXXX XXXX | OOO~ ~~~~ | OOOO OOOO OOOO OOOO | XXXX OOOO | XXXX XXOO | XXXX XXXX | OOOX XXOO | OOOO OOOO
farmland | -inherit- | -inherit- | -inherit- | XXXX XXXX XXXX XXXX | XXXX XXXX | -inherit- | -inherit- | OOOX XXOO | OOOO OOOO
1 | rail | XXXX XXXX | XXXX XXXX | OOOX XXXX | OOOO XXXX OOOO OOOO | OOOO XXXX | OOOO XXXX | XXXX XXXX | OOOO OOOO | OOOO OOOO
rail with signals | -inherit- | -inherit- | -inherit- | OOOO XXXX XXXX XXXX | XXXX XXXX | XXXX XXXX | -inherit- | OOOO OOOO | OOOO OOOO
depot | -inherit- | -inherit- | -inherit- | XXXX XXXX XXXX XXXX | OOOO XXXX | OOOO XXXX | XXOX OOXX | OOOO OOOO | OOOO OOOO
2 | road | XXXX XXXX | XXXX XXXX | OOOX XXXX | XXXX XXXX XXXX XXXX | XXXX XXXX | OOOO OOOO | XXXX XXXX | OOXX XOOO | XXXO XXXX
level crossing | -inherit- | -inherit- | -inherit- | -inherit- | XXXX XXXX | -inherit- | XXXX OOOX | OOXX XOOO | XXXX XXXX
road depot | -inherit- | -inherit- | -inherit- | -inherit- | XXXX OOOO | OOOO OOOO | XXOO OOXX | OOOO OOOO | XXXO XXXX
3 | house | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX XXXX XXXX | XXO~ ~~XX | XXXX XXXX | XXXX XXXX | XXXX XXOO | XXXX XXXX
4 | trees | XXXX XXXX | XXXX XXXX | OOO~ ~~~~ | OOOO OOOX XXXX XXXX | ~~XX XXXX | OOOO OOOO | XXOO OXXX | OOOO OOOO | OOOO OOOO
5 | rail station | XXXX XXXX | XXXX XXXX | OXXX XXXX | XXXX XXXX XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | OOXX XXOO | XXXX XXXX
rail waypoint | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | -inherit-
road stop | -inherit- | -inherit- | -inherit- | -inherit- | XXXX OOOO | OOOO OOOO | ~~~~ ~XXX | OOXX XOOO | XXOX XXXX
dock | -inherit- | -inherit- | -inherit- | -inherit- | OOOO OOOO | OOOO OOOO | ~~~~ ~XXX | OOXX XOOO | OOOO OOOO
airport | -inherit- | -inherit- | -inherit- | -inherit- | XXXX OOOO | OOOO OOOO | XXXX XXXX | OOXX XOOO | XXXX XXXX
buoy | -inherit- | -inherit- | -inherit- | -inherit- | OOOO OOOO | OOOO OOOO | ~~~~ ~~~~ | OOXX XOOO | OOOO OOOO
oilrig | -inherit- | -inherit- | -inherit- | -inherit- | OOOO OOOO | OOOO OOOO | ~~~~ ~~~~ | OOXX XOOO | OOOO OOOO
6 | sea, shore | XXXX XXXX | XXXX XXXX | OXXX XXXX | OOOO OOOO OOOO OOOO | OOOO OOOO | OOOO OOOO | X~~X XXXX | OOOO OOOO | OOOO OOOO
canal, river | -inherit- | -inherit- | -inherit- | OOOO OOOO OOOO OOOO | OOOO OOOO | XXXX XXXX | -inherit- | OOOO OOOO | OOOO OOOO
shipdepot | -inherit- | -inherit- | -inherit- | XXXX XXXX XXXX XXXX | OOOO OOOO | OOOO OOOO | -inherit- | OOOO OOOO | OOOO OOOO
8 | industry | XXXX XXXX | XXXX XXXX | XXXO XXXX | XXXX XXXX XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | OOXX XXOO | XXXX XXXX
9 | tunnel entrance | XXXX XXXX | XXXX XXXX | OOOX XXXX | OOOO OOOO OOOO OOOO | XXXX XXXX | OOOO OOOO | XOOX XXXX | OOOO OOOO | XXXX XXXX
bridge ramp | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | -inherit- | OOXX XXOO | -inherit-
A | objects | XXXX XXXX | XXXX XXXX | OXXX XXXX | XXXX XXXX XXXX XXXX | XXXX XXXX | OOOO OOOO | XXXX XXXX | OOOO OOOO | XXXX XXXX