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