belugas@6029: For a graphical representation of the tile-layout have a look at
belugas@6029: Landscape grid page.
belugas@6029:
pasky@464:
belugas@6180: The OTTD's class-specific periodic tile processing routine is called once every +256 ticks for each tile.
pasky@464:
belugas@6029:
belugas@6180:
belugas@6180: Class |
belugas@6180: Meaning & details of encoding |
belugas@6180:
belugas@6180:
belugas@6180: 0 |
belugas@6184: Ground |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6029:
belugas@6029:
belugas@6180: - m1: owner of the tile (normally 10)
frosch@8457: - m2: see fields
frosch@8457: - m3 bits 3..0: see fields
belugas@6180: - m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)
belugas@6180: - m4 bits 4..2: same as 7..5, but for the SE border
belugas@6029: - m5 bits 7..5: update counter, incremented on every periodic processing for tile types,
belugas@6029: other than 03, 07, 0B, 10 and above.
belugas@6029: on wraparound, the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased).
belugas@6180: For snow and desert, these bits are not used, tile is updated on every periodic processing.
frosch@8457: - m5 bits 4..2: tile type:
belugas@6180:
belugas@6180:
frosch@8457: 0 |
frosch@8457: bare land / grass |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 1 |
frosch@8457: rough land (density must be 3) |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 2 |
frosch@8457: rocks (density must be 3) |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 3 |
frosch@8457: fields (density must be 3)
frosch@8457:
frosch@8457: - m2: index into the array of industries (farms), INVALID_INDUSTRY (0xFFFF) if farm has been removed
frosch@8457: - m3 bits 3..0: field type (legal values: 0 through 9)
frosch@8457:
frosch@8457: |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 4 |
frosch@8457: snow |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 5 |
frosch@8457: desert (density must be 1 or 3) |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: - m5 bits 1..0: density:
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: bare land |
frosch@8457: |
frosch@8457: |
frosch@8457: |
frosch@8457: 1/4 snow |
frosch@8457: |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: 1/3 grass |
frosch@8457: |
frosch@8457: |
frosch@8457: |
frosch@8457: 2/4 snow; |
frosch@8457: 1/2 desert |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 2 |
frosch@8457: 2/3 grass |
frosch@8457: |
frosch@8457: |
frosch@8457: |
frosch@8457: 3/4 snow |
frosch@8457: |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 3 |
frosch@8457: full grass; |
frosch@8457: rough land; |
frosch@8457: rocks; |
frosch@8457: fields; |
frosch@8457: full snow; |
frosch@8457: full desert |
belugas@6180:
belugas@6180:
belugas@6029:
belugas@6184: - m6 bits 7..6 : Possibility of a bridge above, in the direction specified
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6029:
belugas@6029: |
belugas@6029:
belugas@6029:
belugas@6180:
belugas@6180: 1 |
belugas@6180: Railway tracks |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6029:
belugas@6029:
frosch@8457: - m1: owner of the tile
frosch@8457: - m2: see waypoint and signals
frosch@8457: - m3 bits 7..4: see signals
frosch@8457: - m3 bits 3..0 = track type:
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: conventional railway |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: electrified railway |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 2 |
frosch@8457: monorail |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 3 |
frosch@8457: maglev |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: - m4 bits 7..4: see signals
frosch@8457: - m4 bits 3..0: Ground type (values with fences are not valid for depots and checkpoints)
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: on bare land |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: on grass, no fences |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 2 |
frosch@8457: fence on the NW side |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 3 |
frosch@8457: fence on the SE side |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 4 |
frosch@8457: fences on the NW and SE sides |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 5 |
frosch@8457: fence on the NE side |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 6 |
frosch@8457: fence on the SW side |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 7 |
frosch@8457: fences on the NE and SW sides |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 8 |
frosch@8457: fence on the E side (track in the W corner) |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 9 |
frosch@8457: fence on the W side (track in the E corner) |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: A |
frosch@8457: fence on the S side (track in the N corner) |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: B |
frosch@8457: fence on the N side (track in the S corner) |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: C |
frosch@8457: on snow or desert |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: D |
frosch@8457: on grass with fence and shore or water on the free halftile |
frosch@8457:
smatz@8524:
smatz@8524:
smatz@8524: E |
smatz@8524: higher part on foundation with snow, lower without snow |
smatz@8524:
frosch@8457:
frosch@8457:
belugas@6029: - m5 bit 7 clear: railway track
belugas@6029:
belugas@6180: - m5 bits 5..0: track layout: bit set = track present:
belugas@6029:
belugas@6180:
belugas@6180: bit 0: |
belugas@6180: in the X direction |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: bit 1: |
belugas@6180: in the Y direction |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: bit 2: |
belugas@6180: in the north corner (direction W-E) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: bit 3: |
belugas@6180: in the south corner (direction W-E) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: bit 4: |
belugas@6180: in the west corner (direction N-S) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: bit 5: |
belugas@6180: in the east corner (direction N-S) |
belugas@6180:
belugas@6029:
belugas@6029:
frosch@8457: - m5 bit 6 set = with signals:
frosch@8457: There are at most 4 signals on a tile. The signals 0..3 belong to the directions:
belugas@6029:
belugas@6180:
frosch@8457: |
frosch@8457: Track 0 (X) |
frosch@8457: Track 1 (Y) |
frosch@8457: Track 2 (north) |
frosch@8457: Track 3 (south) |
frosch@8457: Track 4 (west) |
frosch@8457: Track 5 (east) |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: Signal 0 |
frosch@8457: |
frosch@8457: |
frosch@8457: |
frosch@8457: west |
frosch@8457: |
frosch@8457: south |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: Signal 1 |
frosch@8457: |
frosch@8457: |
frosch@8457: |
frosch@8457: east |
frosch@8457: |
frosch@8457: north |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: Signal 2 |
frosch@8457: south-west |
frosch@8457: north-west |
frosch@8457: west |
frosch@8457: |
frosch@8457: south |
frosch@8457: |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: Signal 3 |
frosch@8457: north-east |
frosch@8457: south-east |
frosch@8457: east |
frosch@8457: |
frosch@8457: north |
frosch@8457: |
frosch@8457:
frosch@8457:
frosch@8457:
rubidium@9790: - m2 bit 7: Signal 0 and 1: set = semaphore signals, clear = light signals
rubidium@9790: - m2 bit 3: Signal 2 and 3: set = semaphore signals, clear = light signals
rubidium@9790: - m2 bits 6..4: type of signal 0 and 1 (same values as m2 bits 2..0)
rubidium@9790: - m2 bits 2..0: type of signal 2 and 3
frosch@8457:
frosch@8457:
rubidium@9790: 000: |
frosch@8457: normal signals |
frosch@8457:
frosch@8457:
frosch@8457:
rubidium@9790: 001: |
frosch@8457: pre-signals |
frosch@8457:
frosch@8457:
frosch@8457:
rubidium@9790: 010: |
frosch@8457: exit-signals |
frosch@8457:
frosch@8457:
frosch@8457:
rubidium@9790: 011: |
frosch@8457: combo-signals |
frosch@8457:
rubidium@9790:
rubidium@9790:
rubidium@9790: 100: |
rubidium@9790: pbs signals |
rubidium@9790:
rubidium@9790:
rubidium@9790:
rubidium@9790: 101: |
rubidium@9790: no-entry signals |
rubidium@9790:
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: - m3 bits 7..4: bit set = signal 3..0 present
frosch@8457: - m4 bits 7..4: bit clear = signal 3..0 shows red
frosch@8457:
frosch@8457:
rubidium@9784: - m2 bits 8..10: track reserved for pbs
rubidium@9784:
rubidium@9784:
rubidium@9784: 0 |
rubidium@9784: not reserved |
rubidium@9784:
rubidium@9784:
rubidium@9784: 1 |
rubidium@9784: X direction |
rubidium@9784:
rubidium@9784:
rubidium@9784: 2 |
rubidium@9784: Y direction |
rubidium@9784:
rubidium@9784:
rubidium@9784: 3 |
rubidium@9784: north corner (W-E) |
rubidium@9784:
rubidium@9784:
rubidium@9784: 4 |
rubidium@9784: south corner (W-E) |
rubidium@9784:
rubidium@9784:
rubidium@9784: 5 |
rubidium@9784: west corner (N-S) |
rubidium@9784:
rubidium@9784:
rubidium@9784: 6 |
rubidium@9784: east corner (N-S) |
rubidium@9784:
rubidium@9784:
rubidium@9784:
rubidium@9784: - m2 bit 11: opposite track is reserved, too
frosch@8457:
frosch@8457:
frosch@8457: - m5 bit 7 set, bit 6 clear: checkpoint
frosch@8457:
frosch@8457: - m2: index into the array of waypoints.
frosch@8457: - m5 bit 0:
frosch@8457:
frosch@8457:
frosch@8457: 0 |
belugas@6180: in X direction |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 1 |
belugas@6180: in Y direction |
belugas@6180:
belugas@6029:
belugas@6029:
rubidium@9784: - m5 bit 4: pbs reservation state
belugas@6029:
frosch@8457:
frosch@8457: - m5 bit 7 set, bit 6 set: railway depot
frosch@8457:
frosch@8457: - m5 bits 1..0: exit towards
frosch@8457:
belugas@6180:
frosch@8457: 0 |
frosch@8457: NE |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: 1 |
frosch@8457: SE |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 2 |
frosch@8457: SW |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 3 |
frosch@8457: NW |
belugas@6180:
belugas@6180:
belugas@6180:
rubidium@9784: - m5 bit 4: pbs reservation state
belugas@6029:
belugas@6029:
belugas@6184: - m6 bits 7..6 : Possibility of a bridge above, in the direction specified
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6029:
belugas@6029: |
belugas@6029:
belugas@6029:
belugas@6180:
belugas@6180: 2 |
belugas@6180: Roads |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6180:
belugas@6180:
smatz@10340: - m2: Index into the array of towns (owning town for town roads; closest town otherwise, INVALID_TOWN if there is no town or we are creating a town)
frosch@8457: - m3 bit 7 set = on snow or desert
frosch@8457: - m7 bits 7..5: present road types
frosch@8457:
frosch@8457:
frosch@8457: bit 0 |
frosch@8457: normal road |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: bit 1 |
frosch@8457: tram |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: bit 2 |
frosch@8457: reserved |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: - m5 bits 7 clear: road or level-crossing
belugas@6180:
belugas@6180: - m3 bits 6..4:
belugas@6180:
belugas@6180:
belugas@6180: 0 |
belugas@6180: on bare land |
belugas@6180:
belugas@6180:
belugas@6180: 1 |
belugas@6180: on grass |
belugas@6180:
belugas@6180:
belugas@6180: 2 |
belugas@6180: paved |
belugas@6180:
belugas@6180:
belugas@6180: 3 |
belugas@6180: with streetlights |
belugas@6180:
belugas@6180:
belugas@6180: 5 |
belugas@6180: tree-lined |
belugas@6180:
belugas@6180:
belugas@6180: 6 |
belugas@6180: on grass with road works |
belugas@6180:
belugas@6180:
belugas@6180: 7 |
belugas@6180: paved with road works |
belugas@6180:
belugas@6180:
belugas@6180:
frosch@8457: - m5 bits 3..0: owner of road type 1 (tram); OWNER_NONE (10) is stored as OWNER_TOWN (0F)
frosch@8457:
- m7 bits 4..0: owner of road type 2 (reserved)
frosch@8457:
- m5 bit 6 clear: road
frosch@8457:
frosch@8457: - m1: owner of the road type 0 (normal road)
frosch@8457: - m3 bits 3..0: counter for the roadworks
frosch@8457: - m4 bits 3..0: road layout road type 0 (normal road): bit set = road piece present:
frosch@8457:
frosch@8457:
frosch@8457: bit 0: |
frosch@8457: NW piece |
frosch@8457:
frosch@8457:
frosch@8457: bit 1: |
frosch@8457: SW piece |
frosch@8457:
frosch@8457:
frosch@8457: bit 2: |
frosch@8457: SE piece |
frosch@8457:
frosch@8457:
frosch@8457: bit 3: |
frosch@8457: NE piece |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: - m4 bits 7..4: road layout road type 1 (tram)
frosch@8457: - m6 bits 5..2: road layout road type 2 (reserved)
frosch@8457: - m5 bits 5..4: bits to disallow vehicles to go a specific direction
frosch@8457:
frosch@8457:
frosch@8457: bit 0: |
frosch@8457: set = disallow driving in south-west or south-east direction |
frosch@8457:
frosch@8457:
frosch@8457: bit 1: |
frosch@8457: set = disallow driving in north-west or north-east direction |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457:
belugas@6180:
frosch@8457: - m5 bit 6 set: level crossing
frosch@8457:
frosch@8457: - m1: owner of the railway track
frosch@8457: - m3 bits 3..0: railway track type
frosch@8457: - m4 bit 6: direction
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: road in the X direction, rail in Y |
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: road in the Y direction, rail in X |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: - m4 bit 5: set if crossing lights are on
frosch@8457: - m4 bits 4..0: owner of the road type 0 (normal road)
rubidium@9784: - m5 bit 4: pbs reservation state
frosch@8457:
rubidium@6682:
belugas@6180:
belugas@6180:
rubidium@6682: - m5 bit 7 set, bit 6 clear: road depot
belugas@6180:
belugas@6180: - m1: owner of the depot
frosch@8457: - m5 bits 3..0: exit towards:
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: NE |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: SE |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 2 |
frosch@8457: SW |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 3 |
frosch@8457: NW |
frosch@8457:
frosch@8457:
frosch@8457:
belugas@6180:
belugas@6180:
belugas@6184: - m6 bits 7..6 : Possibility of a bridge above, in the direction specified
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 3 |
belugas@6180: Town building |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6029:
maedhros@6332: - m1 : Random bits (newhouses)
frosch@8457: - m2 : index into the array of towns
maedhros@6332: - m3 bit 7 :
belugas@6029:
maedhros@6332: - set : House is complete
maedhros@6332:
frosch@10360: - m5 : Age of house in years, clamped at 255
maedhros@6332:
maedhros@6332:
maedhros@6332: - clear : House is in construction
maedhros@6332:
maedhros@6332: - m5 bits 7..5 : free
maedhros@6332: - m5 bits 4..3 : construction stage
maedhros@6332: - m5 bits 2..0 : construction counter
maedhros@6332:
maedhros@6332:
maedhros@6332:
frosch@8457: - m3 bit 6 : bit 8 of house type (m4), allowing 512 different types.
frosch@8681: - m3 bit 5 : bit 6 of current animation frame (see m6)
frosch@8457: - m3 bits 4..0 : triggers activated (newhouses)
maedhros@6332: - m4 : town building type (with m3[6] bit)
maedhros@6332: - m5 : see m3 bit 7
maedhros@6332: - m6 :
maedhros@6332:
maedhros@6332: - If newhouses is activated
maedhros@6332:
frosch@8681: - bits 7..2 : Current animation frame (bits 5..0); bit 6 in m3
maedhros@6332:
maedhros@6332:
maedhros@6332: - Standard behaviour
maedhros@6332:
maedhros@6332: - bits 7..2 : lift position (for houses type 04 and 05)
maedhros@6332:
maedhros@6332:
maedhros@6332: - bits 1..0 : tropic zone specifier
belugas@6029:
belugas@6029:
maedhros@6332: - m7 :
maedhros@6332:
maedhros@6332: - If newhouses is activated
maedhros@6332:
maedhros@6332: - Periodic processing time remaining
maedhros@6332:
maedhros@6332:
maedhros@6332: - Standard behaviour (only for houses type 04 and 05)
maedhros@6332:
maedhros@6332: - bits 7..4 : free
maedhros@6332: - bits 3..1 : lift destination. Values can be 0..6, except 1.
maedhros@6332: So the building has 6 effective floors. This is due to the fact that the first floor is 2 'normal' floors high.
maedhros@6332: One 'normal' floor has a height of 6 lift positions.
maedhros@6332:
maedhros@6332: - bit 0 : Lift has destination when set
maedhros@6332:
maedhros@6332:
maedhros@6332:
maedhros@6332:
belugas@6029:
maedhros@6332: Newhouses is the name englobing a newGRF feature developped by TTDPatch devs (mainly Csaboka).
maedhros@6332: It allows the replacement of the properties as well as the graphics of houses in the game.
maedhros@6332: To distinguish between the standard behaviour and the newGRF one, HouseID (m4 + m3[6]) is tested for anything above 110.
maedhros@6332: 110 is the count of standard houses. So above 110 means there is a new definition of at least one house
belugas@6029: |
belugas@6029:
belugas@6029:
belugas@6180:
belugas@6180: 4 |
belugas@6180: Trees |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6180:
belugas@6029:
belugas@6184: - m1: owner (normally 10)
frosch@8457: - m2 bits 7..6: ground density
frosch@8457:
- m2 bits 5..4: ground
belugas@6184:
belugas@6180:
belugas@6184:
frosch@8459: 0 |
frosch@8459: on grass |
belugas@6184:
belugas@6180:
belugas@6184:
frosch@8459: 1 |
frosch@8459: on rough land (density must be 3) |
belugas@6184:
belugas@6184:
belugas@6184:
frosch@8459: 2 |
frosch@8459: on snow or desert |
frosch@8459:
frosch@8459:
frosch@8459:
frosch@8459: 3 |
frosch@8459: on shore (density must be 3) |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: - m2 bits 3..0: update counter, incremented on every periodic processing.
belugas@6184: on wraparound the growth status is updated (or, if it's 3, a random action is taken)
belugas@6184: - m3 bits 7..0: type of trees:
belugas@6184:
belugas@6184:
belugas@6184: 00..0B |
belugas@6184: temperate climate trees |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 0C..13 |
belugas@6184: sub-arctic climate trees |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 14..1A |
belugas@6184: rainforest trees |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 1B |
belugas@6184: cactus plants |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 1C..1F |
belugas@6184: sub-tropical climate, non-rainforest, non-desert trees |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 20..28 |
belugas@6184: toyland trees |
belugas@6184:
belugas@6184:
belugas@6184: Note: the actually displayed set of trees depends on both type and number of trees
belugas@6184:
belugas@6184: - m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)
belugas@6184: - m4 bits 4..2: type of hedge on the SE border of the tile (1 through 6, or 0=none)
belugas@6184: - m5 bits 7..6: number of trees minus one
belugas@6184: - m5 bits 2..0: growth status:
belugas@6184:
belugas@6184:
belugas@6184: 0..2 |
belugas@6184: one of trees is growing |
belugas@6184:
belugas@6184:
belugas@6184: 3 |
belugas@6184: all trees are fully grown |
belugas@6184:
belugas@6184:
belugas@6184: 4..6 |
belugas@6184: one of trees is withering |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6029:
belugas@6029: |
belugas@6029:
belugas@6029:
belugas@6180:
belugas@6180: 5 |
belugas@6180: Station tiles |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180: - m1: owner of the station
belugas@6180: - m2: index into the array of stations
belugas@6180: - m3 bits 7..4: persistent random data for newstations
frosch@8457: - m3 bits 3..0: track type for railway stations
frosch@8457: - m3 bits 2..0: present road types for road stops
peter1138@8471: - m3 bits 1..0: water class for buoys and water part of docks
belugas@6180: - m4: custom station id; 0 means standard graphics
rubidium@7272: - m5: graphics index (range from 0..255 for each station type):
belugas@6180:
belugas@6180:
belugas@6180: 00..07 |
belugas@6180: railway station
belugas@6180:
belugas@6180:
belugas@6180: 00..01 |
belugas@6180: open platform |
belugas@6180:
belugas@6180:
belugas@6180: 02..03 |
belugas@6180: open platform with station building |
belugas@6180:
belugas@6180:
belugas@6180: 04....07 |
belugas@6180: roofed platform |
belugas@6180:
belugas@6180:
belugas@6180: bit 0: clear = in X direction, set = in Y direction |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
rubidium@7272: 00..8F |
rubidium@7272: all airports |
belugas@6180:
belugas@6029:
belugas@6180:
frosch@8457: 00..05 |
frosch@8457: road stops:
belugas@6180:
belugas@6180:
rubidium@7272: 00 |
frosch@8457: exit towards NE |
belugas@6180:
belugas@6180:
rubidium@7272: 01 |
frosch@8457: exit towards SE |
belugas@6180:
belugas@6180:
rubidium@7272: 02 |
frosch@8457: exit towards SW |
belugas@6180:
belugas@6180:
rubidium@7272: 03 |
frosch@8457: exit towards NW |
frosch@8457:
frosch@8457:
frosch@8457: 04 |
frosch@8457: drive through X |
frosch@8457:
frosch@8457:
frosch@8457: 05 |
frosch@8457: drive through Y |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
pasky@464:
belugas@6180:
rubidium@7272: 00..05 |
belugas@6180: ship dock
belugas@6180:
belugas@6180:
rubidium@7272: 00 |
belugas@6180: SW coast part |
belugas@6180:
belugas@6180:
rubidium@7272: 01 |
belugas@6180: NW coast part |
belugas@6180:
belugas@6180:
rubidium@7272: 02 |
belugas@6180: NE coast part |
belugas@6180:
belugas@6180:
rubidium@7272: 03 |
belugas@6180: SE coast part |
belugas@6180:
belugas@6180:
rubidium@7272: 04 |
belugas@6180: X direction water part |
belugas@6180:
belugas@6180:
rubidium@7272: 05 |
belugas@6180: Y direction water part |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6029:
belugas@6029:
frosch@8457: - m6 bits 5..3: the station type (rail, airport, truck, bus, oilrig, dock, buoy)
rubidium@7272: - m6 bit 2: 1 when a drive through road stop is built over a town owned road, otherwise 0
rubidium@9784: - m6 bit 2: pbs reservation state for railway stations
belugas@6184: - m6 bits 1..0 : Tropic zone definition
peter1138@8955: - m7: animation frame
belugas@6029:
belugas@6029: |
belugas@6029:
pasky@464:
belugas@6180:
belugas@6180: 6 |
belugas@6180: Water |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6180:
belugas@6180:
frosch@8457: - m1: owner (for sea, rivers, and coasts normally 11)
peter1138@8471: - m3 bits 1..0 : Water class (sea, canal or river)
frosch@8457:
- m4: Random data for canal or river tiles
belugas@6180: - m5: tile type:
belugas@6180:
belugas@6180:
belugas@6180: 00 |
peter1138@8471: water, canal or river |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 01 |
belugas@6180: coast or riverbank |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 10..1B |
belugas@6180: canal locks
belugas@6180:
belugas@6180:
belugas@6180: 10 |
belugas@6180: middle part, (SW-NE direction) |
belugas@6180:
belugas@6180:
belugas@6180: 11 |
belugas@6180: middle part, (NW-SE direction) |
belugas@6180:
belugas@6180:
belugas@6180: 12 |
belugas@6180: middle part, (NE-SW direction) |
belugas@6180:
belugas@6180:
belugas@6180: 13 |
belugas@6180: middle part, (SE-NW direction) |
belugas@6180:
belugas@6180:
belugas@6180: 14 |
belugas@6180: lower part, (SW-NE direction) |
belugas@6180:
belugas@6180:
belugas@6180: 15 |
belugas@6180: lower part, (NW-SE direction) |
belugas@6180:
belugas@6180:
belugas@6180: 16 |
belugas@6180: lower part, (NE-SW direction) |
belugas@6180:
belugas@6180:
belugas@6180: 17 |
belugas@6180: lower part, (SE-NW direction) |
belugas@6180:
belugas@6180:
belugas@6180: 18 |
belugas@6180: upper part, (SW-NE direction) |
belugas@6180:
belugas@6180:
belugas@6180: 19 |
belugas@6180: upper part, (NW-SE direction) |
belugas@6180:
belugas@6180:
belugas@6180: 1A |
belugas@6180: upper part, (NE-SW direction) |
belugas@6180:
belugas@6180:
belugas@6180: 1B |
belugas@6180: upper part, (SE-NW direction) |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 80..83 |
belugas@6180: ship depots
belugas@6180:
belugas@6180:
belugas@6180: 80 |
belugas@6180: ship depot, NE part (X direction) |
belugas@6180:
belugas@6180:
belugas@6180: 81 |
belugas@6180: ship depot, SW part (X direction) |
belugas@6180:
belugas@6180:
belugas@6180: 82 |
belugas@6180: ship depot, NW part (Y direction) |
belugas@6180:
belugas@6180:
belugas@6180: 83 |
belugas@6180: ship depot, SE part (Y direction) |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6184: - m6 bits 7..6 : Possibility of a bridge above, in the direction specified
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6180:
belugas@6029: |
belugas@6029:
pasky@464:
belugas@6180:
belugas@6180: 7 |
belugas@6180: Void |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6180: Tiles of this class form an invisible, one tile wide border at the south (bottom) edges of the map,
belugas@6180: so as to protect several algorithms from the consequences of a wraparound at the edges.
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 8 |
belugas@6180: Industry tile |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6029:
belugas@6029: - m1 bit 7: clear = under construction
belugas@6029:
frosch@9718: - m1 bits 6..5 : Water class (sea, canal, river or land)
frosch@8457:
- m1 bits 3..2: construction counter, for buildings under construction incremented on every periodic tile processing
belugas@6029: - m1 bits 1..0: stage of construction (3 = completed), incremented when the construction counter wraps around
belugas@6029: the meaning is different for some animated tiles which are never under construction (types 01, 1E..20, 30, 58; see above)
belugas@6029:
belugas@6029:
belugas@6180: - m2: index into the array of industries
frosch@8457: - m3: animation state
frosch@8457: - m4: animation loop
rubidium@7621: - m5: type (plus m6 bit 2):
belugas@6180: (note: this is not the same as the industry type, which is stored in the array of industries)
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 00..06 |
belugas@6180: coal mine
belugas@6180:
belugas@6180:
belugas@6180: 00 |
belugas@6180: wheel tower when not animated |
belugas@6180:
belugas@6180:
belugas@6180: 01 |
belugas@6180: wheel tower when animated
belugas@6180: animation state in m3 bits 5..0; m3 bit 6 set = sound already generated |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 07..0A |
belugas@6180: power station
belugas@6180:
belugas@6180:
belugas@6180: 08 |
belugas@6180: chimney |
belugas@6180:
belugas@6180:
belugas@6180: 0A |
belugas@6180: transformer; animation progress in m3(valid range 0..7) |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 0B..0F |
belugas@6180: sawmill |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 10..11 |
belugas@6180: forest
belugas@6180:
belugas@6180:
belugas@6180: 11 |
belugas@6180: trees cut down |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 12..17 |
belugas@6180: oil refinery |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 18..1C |
belugas@6180: oil rig |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 1D..20 |
belugas@6180: oil wells
belugas@6180:
belugas@6180:
belugas@6180: 1D |
belugas@6180: not animated |
belugas@6180:
belugas@6180:
belugas@6180: 1E..20 |
belugas@6180: various stages of animation; progress of animation in m3 |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 21..26 |
belugas@6180: farm |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 27..2A |
belugas@6180: factory (temperate climate) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 2B..2E |
belugas@6180: printing works |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 2F..33 |
belugas@6180: copper ore mine
belugas@6180:
belugas@6180:
belugas@6180: 2F |
belugas@6180: wheel tower when not animated |
belugas@6180:
belugas@6180:
belugas@6180: 30 |
belugas@6180: wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated |
belugas@6180:
belugas@6180:
belugas@6180: 31 |
belugas@6180: chimney |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 34..39 |
belugas@6180: steel mill |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 3A..3B |
belugas@6180: bank (temperate climate) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 3C..3F |
belugas@6180: food processing plant |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 40..47 |
belugas@6180: paper mill |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 48..58 |
belugas@6180: gold mine
belugas@6180:
belugas@6180:
belugas@6180: 4F |
belugas@6180: wheel tower when not animated |
belugas@6180:
belugas@6180:
belugas@6180: 58 |
belugas@6180: wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated |
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 59..5A |
belugas@6180: bank (sub-arctic or sub-tropical climate) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 5B..63 |
belugas@6180: diamond mine |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 64..73 |
belugas@6180: iron ore mine |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 74 |
belugas@6180: fruit plantation |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 75 |
belugas@6180: rubber plantation |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 76..77 |
belugas@6180: water supply |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 78 |
belugas@6180: water tower |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 79..7C |
belugas@6180: factory (sub-tropical climate) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 7D..80 |
belugas@6180: lumber mill |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 81..82 |
belugas@6180: candyfloss forest
belugas@6180:
belugas@6180:
belugas@6180: 82 |
belugas@6180: candyfloss 'trees' cut down |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 83..86 |
belugas@6180: sweet factory |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 87..88 |
belugas@6180: battery farm
belugas@6180:
belugas@6180:
belugas@6180: 88 |
belugas@6180: batteries 'reaped' |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 89 |
belugas@6180: cola wells |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 8A..8D |
belugas@6180: toy shop |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 8E..93 |
belugas@6180: toy factory
belugas@6180:
belugas@6180:
belugas@6180: 8F |
belugas@6180: Animated part; animation state in m3 (valid range 00..31)
belugas@6180: Tile animation is started (m4 zeroed) on the periodic processing.
belugas@6180: While the animation is in progress, m4 holds the number
belugas@6180: of animation cycles that have already taken place.
belugas@6180: when this number reaches 8 the animation is stopped. |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 94..9B |
belugas@6180: plastic fountains (various stages of cyclic animation) |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 9C..9F |
belugas@6180: fizzy drink factory |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: A0..A3 |
belugas@6180: bubble generator
belugas@6180:
belugas@6180:
belugas@6180: A1 |
belugas@6180: generators |
belugas@6180:
belugas@6180:
belugas@6180: A2 |
belugas@6180: bubble capture facility; animation state in m3 (valid range 00..27) |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: A4..A6 |
belugas@6180: toffee quarry
belugas@6180:
belugas@6180:
belugas@6180: A5 |
belugas@6180: animated part; animation state in m3 (valid range 00..45) |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: A7..AE |
belugas@6180: sugar mine
belugas@6180:
belugas@6180:
belugas@6180: AE |
belugas@6180: animated part; animation state in m3 (valid range 00..5F) |
belugas@6180:
belugas@6180:
belugas@6180: |
belugas@6180:
rubidium@7621:
rubidium@7621: AF..1FF |
rubidium@7621: NewGRF industries industry |
rubidium@7621:
belugas@6180:
belugas@6180:
frosch@8457: - m6 bits 5..3: random triggers (NewGRF)
frosch@8457: - m6 bit 2: bit 8 of type (see m5)
belugas@6184: - m6 bits 1..0 : Tropic zone definition
rubidium@7621: - m7: random bits (NewGRF)
belugas@6029:
belugas@6029: |
belugas@6029:
belugas@6029:
belugas@6180:
belugas@6180: 9 |
belugas@6180: Tunnel / bridge |
belugas@6180:
belugas@6029:
belugas@6184: |
belugas@6184:
belugas@6184:
frosch@8457: - m1: owner
frosch@8457: - m2 bits 7..4: see bridge ramp
frosch@8457: - m3 bits 3..0: track type for railway
frosch@8457: - m3 bits 2..0: present road types for road
frosch@8457: - m4 bit 7 set = on snow or desert
rubidium@9784: - m5 bit 4: pbs reservation state for railway
frosch@8457: - m5 bits 7 clear: tunnel entrance/exit
belugas@6184: - m5 bit 7 set: bridge ramp
belugas@6184:
belugas@6184: - m2 bits 7..4: bridge type:
belugas@6184:
belugas@6184:
belugas@6184: Type |
belugas@6184: Max. speed (mph) |
belugas@6184: Description |
belugas@6184:
belugas@6180:
belugas@6184:
belugas@6184: 0 |
belugas@6184: 20 |
belugas@6184: wooden |
belugas@6184:
belugas@6180:
belugas@6184:
belugas@6184: 1 |
belugas@6184: 30 |
belugas@6184: concrete |
belugas@6184:
belugas@6180:
belugas@6184:
belugas@6184: 2 |
belugas@6184: 40 |
belugas@6184: girder, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 3 |
belugas@6184: 50 |
belugas@6184: suspension, concrete |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 4 |
belugas@6184: 60 |
belugas@6184: suspension, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 5 |
belugas@6184: 70 |
belugas@6184: suspension, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 6 |
belugas@6184: 100 |
belugas@6184: cantilever, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 7 |
belugas@6184: 130 |
belugas@6184: cantilever, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 8 |
belugas@6184: 150 |
belugas@6184: cantilever, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: 9 |
belugas@6184: 160 |
belugas@6184: girder, steel |
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184: A |
belugas@6184: 200 |
belugas@6184: tubular, steel |
belugas@6184:
frosch@8457:
frosch@8457:
frosch@8457: B |
frosch@8457: 320 |
frosch@8457: tubular, steel |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: C |
frosch@8457: 380 |
frosch@8457: tubular, silicon |
frosch@8457:
belugas@6184:
belugas@6184:
belugas@6184:
belugas@6184:
frosch@8457: - m5 bits 3..2: transport type
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: railway |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: road |
frosch@8457:
frosch@10147:
frosch@10147:
frosch@10147: 2 |
frosch@10147: water |
frosch@10147:
frosch@8457:
frosch@8457: - m5 bits 1..0: direction onto the bridge / out of the tunnel
frosch@8457:
frosch@8457:
frosch@8457: 0 |
frosch@8457: NE |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 1 |
frosch@8457: SE |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 2 |
frosch@8457: SW |
frosch@8457:
frosch@8457:
frosch@8457:
frosch@8457: 3 |
frosch@8457: NW |
frosch@8457:
frosch@8457:
frosch@8457:
belugas@6184: - m6 bits 7..6 : Possibility of a bridge above, in the direction specified
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6029:
belugas@6029:
belugas@6029:
belugas@6029:
belugas@6180:
belugas@6180: A |
belugas@6180: Unmovables |
belugas@6180:
belugas@6029:
belugas@6180: |
belugas@6029:
belugas@6029:
frosch@8457: - m1: owner of the object (for lighthouses and transmitters normally 10)
frosch@8457: - m2: see company statue
frosch@8457:
- m5: tile type:
belugas@6029:
belugas@6180:
belugas@6180: 00 |
belugas@6180: transmitter |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 01 |
belugas@6180: lighthouse |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 02 |
frosch@8457: company statue
frosch@8457:
frosch@8457: - m2: TownID on which the statue is built in
frosch@8457:
frosch@8457: |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 03 |
belugas@6180: company-owned land |
belugas@6180:
belugas@6180:
belugas@6180:
belugas@6180: 80..93 |
belugas@6180: company headquarters (5 sets of 4 tiles each, updated quarterly depending on the company performance) |
belugas@6180:
belugas@6029:
belugas@6029:
belugas@6184: - m6 bits 7..6 : Possibility of a bridge above, in the direction specified
belugas@6184: - m6 bits 1..0 : Tropic zone definition
belugas@6029:
belugas@6029: |
belugas@6029:
belugas@6180:
belugas@6180: Classes B through F are reserved. The presence
belugas@6180: of a tile in one of the reserved classes will crash OTTD. |
belugas@6180:
belugas@6029:
pasky@464:
pasky@464:
belugas@6029:
belugas@6029: Original Copyright © 2003 by Marcin Grzegorczyk for TTDLX.
belugas@6029: Transport Tycoon and Transport Tycoon Deluxe are Copyright © by Chris Sawyer.
belugas@6029: All the other trademarks are the property of their respective owners.
belugas@6029:
pasky@464:
pasky@464:
|