OTTD's class-specific periodic tile processing routine is called once every +256 ticks for each tile.
pasky@464:
KUDr@6254:
KUDr@6254: Class | Meaning & details of encoding |
pasky@464:
KUDr@6254:
KUDr@6254: 0 |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bits 4..0: tile type:
KUDr@6254:
KUDr@6254: 00 | bare land |
KUDr@6254: 01 | 1/3 grass |
KUDr@6254: 02 | 2/3 grass |
KUDr@6254: 03 | full grass |
KUDr@6254: 07 | rough land |
KUDr@6254: 0B | rocks |
KUDr@6254: 0F | fields; type of fields in m3 bits 3..0 (legal values: 0 through 9)
KUDr@6254: m2: Index into the array of industries (farms), INVALID_INDUSTRY (0xFFFF) if farm has been removed |
KUDr@6254: 10 | 1/4 snow |
KUDr@6254: 11 | 2/4 snow |
KUDr@6254: 12 | 3/4 snow |
KUDr@6254: 13 | full snow |
KUDr@6254: 15 | partial desert |
KUDr@6254: 17 | full desert |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bits 7..5: update counter, incremented on every periodic processing for tile types,
KUDr@6254: other than 03, 07, 0B, 10 and above.
KUDr@6254: 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).
KUDr@6254: For snow and desert, these bits are not used, tile is updated on every periodic processing.
KUDr@6254:
KUDr@6254: - m1: owner of the tile (normally 10)
KUDr@6254: - m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none); bits 4..2: same for the SE border
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: 1 |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bit 7 clear: railway track
KUDr@6254:
KUDr@6254: - m5 bits 0..5: track layout: bit set = track present:
KUDr@6254:
KUDr@6254: bit 0: | in the X direction |
KUDr@6254: bit 1: | in the Y direction |
KUDr@6254: bit 2: | in the north corner (direction W-E) |
KUDr@6254: bit 3: | in the south corner (direction W-E) |
KUDr@6254: bit 4: | in the west corner (direction N-S) |
KUDr@6254: bit 5: | in the east corner (direction N-S) |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bit 6 set = with signals:
KUDr@6254:
KUDr@6254: - m3 bits 7..4: bit set = signal present:
KUDr@6254:
KUDr@6254: - For track in the X direction:
KUDr@6254:
KUDr@6254: bit 6: | signal in the SW direction |
KUDr@6254: bit 7: | signal in the NE direction |
KUDr@6254:
KUDr@6254:
KUDr@6254: - For track in the Y direction:
KUDr@6254:
KUDr@6254: bit 6: | signal in the NW direction |
KUDr@6254: bit 7: | signal in the SE direction |
KUDr@6254:
KUDr@6254:
KUDr@6254: - For tracks in the W-E direction:
KUDr@6254:
KUDr@6254: bit 4: | signal in the W direction on the track in the S corner |
KUDr@6254: bit 5: | signal in the E direction on the track in the S corner |
KUDr@6254: bit 6: | signal in the W direction on the track in the N corner |
KUDr@6254: bit 7: | signal in the E direction on the track in the N corner |
KUDr@6254:
KUDr@6254:
KUDr@6254: - For tracks in the N-S direction:
KUDr@6254:
KUDr@6254: bit 4: | signal in the S direction on the track in the E corner |
KUDr@6254: bit 5: | signal in the N direction on the track in the E corner |
KUDr@6254: bit 6: | signal in the S direction on the track in the W corner |
KUDr@6254: bit 7: | signal in the N direction on the track in the W corner |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: - m2 bits 7..4: bit clear = signal shows red; same bits as in m3
KUDr@6254: - OpenTTD bits in m4:
KUDr@6254:
KUDr@6254: bits 1..0: | type of signal: |
KUDr@6254: 00: | normal signals |
KUDr@6254: 01: | pre-signals |
KUDr@6254: 10: | exit-signals |
KUDr@6254: 11: | combo-signals |
KUDr@6254: bit 2: | set = semaphore signals, clear = light signals |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: - m1: owner of the track
KUDr@6254: - m2 bits 0..3:
KUDr@6254:
KUDr@6254: 0 | on bare land |
KUDr@6254: 1 | on grass, no fences |
KUDr@6254: 2 | fence on the NW side |
KUDr@6254: 3 | fence on the SE side |
KUDr@6254: 4 | fences on the NW and SE sides |
KUDr@6254: 5 | fence on the NE side |
KUDr@6254: 6 | fence on the SW side |
KUDr@6254: 7 | fences on the NE and SW sides |
KUDr@6254: 8 | fence on the E side (track in the W corner) |
KUDr@6254: 9 | fence on the W side (track in the E corner) |
KUDr@6254: A | fence on the S side (track in the N corner) |
KUDr@6254: B | fence on the N side (track in the S corner) |
KUDr@6254: C | on snow or desert |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m3 bits 0..3 = track type:
KUDr@6254:
KUDr@6254: 0 | conventional railway |
KUDr@6254: 1 | electrified railway |
KUDr@6254: 2 | monorail |
KUDr@6254: 3 | maglev |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bits 7 and 6 set: railway depot / checkpoints
KUDr@6254:
KUDr@6254: - m5 value C0..C3: railway depot
KUDr@6254:
KUDr@6254: m5 bits 1..0 |
KUDr@6254: direction: exit towards: |
KUDr@6254: 00 | NE |
KUDr@6254: 01 | SE |
KUDr@6254: 02 | SW |
KUDr@6254: 03 | NW |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 value C4..C5: checkpoint
KUDr@6254:
KUDr@6254: bit 0 |
KUDr@6254: clear | in X direction |
KUDr@6254: set | in Y direction |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m1: owner of the depot / checkpoint
KUDr@6254: - m2: For waypoints, index into the array of waypoints.
KUDr@6254: - m3 bits 0..3 = track type
KUDr@6254: - m4 bits 0..3 = ground type, as per m2 bits 0..3 for railway tiles.
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: 2 |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bits 7..4 clear: road
KUDr@6254:
KUDr@6254: - m5 bits 3..0: road layout: bit set = road piece present:
KUDr@6254:
KUDr@6254: bit 0: | NW piece |
KUDr@6254: bit 1: | SW piece |
KUDr@6254: bit 2: | SE piece |
KUDr@6254: bit 3: | NE piece |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m1: owner of the road
KUDr@6254: - m2: Index into the array of towns, 0 for non-town roads
KUDr@6254: - m4 bits 0..3: counter for the roadworks
KUDr@6254: - m4 bits 4..6:
KUDr@6254:
KUDr@6254: 0 | on bare land |
KUDr@6254: 1 | on grass |
KUDr@6254: 2 | paved |
KUDr@6254: 3 | with streetlights |
KUDr@6254: 5 | tree-lined |
KUDr@6254: 6 | on grass with road works |
KUDr@6254: 7 | paved with road works |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m4 bit 7 set = on snow or desert
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bit 4 set, bits 7..5 clear: level crossing
KUDr@6254:
KUDr@6254: - m5 bit 3: clear - road in the X direction, set - road in the Y direction (railway track always perpendicular)
KUDr@6254: - m5 bit 2: set if crossing lights are on
KUDr@6254: - m1: owner of the railway track
KUDr@6254: - m2: Index into the array of towns, 0 for non-town roads
KUDr@6254: - m3 bits 0..7: owner of the road
KUDr@6254: - m4 bits 3..0: track type
KUDr@6254: - m4 bits 4..6: 0 - on bare land, 1 - on grass, 2 or higher - paved
KUDr@6254: - m4 bit 7 set = on snow or desert
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bit 5 set: road depot
KUDr@6254:
KUDr@6254: - m5 bits 3..0 - direction: exit towards: 0 = NE, 1 = SE, 2 = SW, 3 = NW
KUDr@6254: - m1: owner of the depot
KUDr@6254: - m4 bit 7 set = on snow or desert (not displayed, but set internally)
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: 3 |
KUDr@6254: Town building
KUDr@6254:
KUDr@6254: - m2: Index into the array of towns
KUDr@6254: - m4: town building type:
KUDr@6254: Note: In the climate list, 'sub-arctic' means below the snow line, and 'snow' means above the snow line in the sub-arctic climate.
KUDr@6254:
KUDr@6254: Type | Size | Climates | Description |
KUDr@6254: 00 | 1×1 | temperate | tall office block |
KUDr@6254: 01 | 1×1 | temperate | office block |
KUDr@6254: 02 | 1×1 | temperate | small block of flats |
KUDr@6254: 03 | 1×1 | temperate | church |
KUDr@6254: 04 | 1×1 | temperate, sub-arctic, sub-tropical | large office block |
KUDr@6254: 05 | 1×1 | snow | large office block |
KUDr@6254: 06 | 1×1 | temperate | town houses |
KUDr@6254: 07..08 | 1×2 | temperate | hotel |
KUDr@6254: 09 | 1×1 | temperate, sub-arctic, sub-tropical | statue |
KUDr@6254: 0A | 1×1 | temperate, sub-arctic, sub-tropical | fountain |
KUDr@6254: 0B | 1×1 | temperate | park (with a pond) |
KUDr@6254: 0C | 1×1 | temperate | park (with an alley) |
KUDr@6254: 0D | 1×1 | temperate | office block |
KUDr@6254: 0E..10 | 1×1 | temperate | various types of shops and offices |
KUDr@6254: 11 | 1×1 | temperate, sub-arctic, sub-tropical | modern office building |
KUDr@6254: 12 | 1×1 | temperate | warehouse |
KUDr@6254: 13 | 1×1 | temperate | office block (with spiral stairway on the side) |
KUDr@6254: 14..17 | 2×2 | temperate | stadium |
KUDr@6254: 18 | 1×1 | temperate | old houses |
KUDr@6254: 19 | 1×1 | temperate | cottages |
KUDr@6254: 1A | 1×1 | temperate | houses |
KUDr@6254: 1B | 1×1 | temperate | flats |
KUDr@6254: 1C | 1×1 | temperate | tall office block |
KUDr@6254: 1D | 1×1 | temperate | shops and offices |
KUDr@6254: 1E | 1×1 | temperate, sub-tropical | shops and offices |
KUDr@6254: 1F | 1×1 | temperate | theatre |
KUDr@6254: 20..23 | 2×2 | temperate, sub-arctic, sub-tropical | stadium (modern style) |
KUDr@6254: 24 | 1×1 | temperate, sub-arctic, sub-tropical | offices (the modern 'vertical tube' style) |
KUDr@6254: 25 | 1×1 | sub-arctic | houses |
KUDr@6254: 26 | 1×1 | snow | houses |
KUDr@6254: 27 | 1×1 | temperate | cinema |
KUDr@6254: 28..2B | 2×2 | temperate | shopping mall |
KUDr@6254: 2C | 1×1 | sub-arctic | flats |
KUDr@6254: 2D | 1×1 | snow | flats |
KUDr@6254: 2E | 1×1 | sub-arctic | houses |
KUDr@6254: 2F | 1×1 | snow | houses |
KUDr@6254: 30 | 1×1 | sub-arctic | houses |
KUDr@6254: 31 | 1×1 | snow | houses |
KUDr@6254: 32 | 1×1 | sub-arctic, sub-tropical | tall office block |
KUDr@6254: 33 | 1×1 | snow | tall office block |
KUDr@6254: 34 | 1×1 | sub-arctic | tall office block |
KUDr@6254: 35 | 1×1 | snow | tall office block |
KUDr@6254: 36 | 1×1 | sub-arctic, sub-tropical | tall office block |
KUDr@6254: 37 | 1×1 | snow | tall office block |
KUDr@6254: 38 | 1×1 | sub-arctic | houses |
KUDr@6254: 39 | 1×1 | snow | houses |
KUDr@6254: 3A | 1×1 | sub-arctic | shops and offices |
KUDr@6254: 3B | 1×1 | snow | shops and offices |
KUDr@6254: 3C | 1×1 | sub-arctic | church |
KUDr@6254: 3D | 1×1 | snow | church |
KUDr@6254: 3E | 1×1 | sub-arctic | houses |
KUDr@6254: 3F | 1×1 | snow | houses |
KUDr@6254: 40 | 1×1 | sub-arctic | shops and offices |
KUDr@6254: 41 | 1×1 | snow | shops and offices |
KUDr@6254: 42..43 | 1×2 | sub-arctic | hotel |
KUDr@6254: 44..45 | 1×2 | snow | hotel |
KUDr@6254: 46 | 1×1 | sub-arctic, sub-tropical | shops and offices |
KUDr@6254: 47 | 1×1 | snow | shops and offices |
KUDr@6254: 48 | 1×1 | sub-arctic | tall office block |
KUDr@6254: 49 | 1×1 | snow | tall office block |
KUDr@6254: 4A..4B | 2×1 | sub-arctic | tall office block |
KUDr@6254: 4C..4D | 2×1 | snow | tall office block |
KUDr@6254: 4E | 1×1 | sub-tropical | houses (with a tree in a corner) |
KUDr@6254: 4F, 50 | 1×1 | sub-tropical | houses |
KUDr@6254: 51 | 1×1 | sub-tropical | houses (suburb-type) |
KUDr@6254: 52 | 1×1 | sub-tropical | flats |
KUDr@6254: 53 | 1×1 | sub-tropical | church |
KUDr@6254: 54 | 1×1 | sub-tropical | houses (with two trees in front) |
KUDr@6254: 55, 56 | 1×1 | sub-tropical | flats |
KUDr@6254: 57..58 | 2×1 | sub-tropical | tall office block |
KUDr@6254: 59 | 1×1 | sub-tropical | flats |
KUDr@6254: 5A | 1×1 | sub-tropical | tall office block |
KUDr@6254: 5B | 1×1 | toyland | church |
KUDr@6254: 5C..61 | 1×1 | toyland | various types of toyland houses |
KUDr@6254: 62 | 1×1 | toyland | tall office block |
KUDr@6254: 63..64 | 1×2 | toyland | houses ('shoe' style) |
KUDr@6254: 65 | 1×1 | toyland | tall office block |
KUDr@6254: 66 | 1×1 | toyland | igloo |
KUDr@6254: 67 | 1×1 | toyland | tepees |
KUDr@6254: 68, 69 | 1×1 | toyland | shops and offices |
KUDr@6254: 6A | 1×1 | toyland | tall office block |
KUDr@6254: 6B | 1×1 | toyland | statue |
KUDr@6254: 6C | 1×1 | toyland | teapot-house |
KUDr@6254: 6D | 1×1 | toyland | piggy-bank |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m3 bits 7..6: stage of construction (3 = completed)
KUDr@6254: - m5 bits 2..0: construction counter, for buildings under construction incremented on every periodic tile processing
KUDr@6254: On wraparound the stage of construction in m3 is increased
KUDr@6254:
KUDr@6254: - for large office blocks (types 04 and 05):
KUDr@6254:
KUDr@6254: - m1 bits 6..0: position of the lift
KUDr@6254: - m1 bit 7: if set the lift is moving
KUDr@6254: - m5 bit 7: if set then m5 bits 5..0 hold the destination floor of the lift, which could be 0..6, except 1.
KUDr@6254: So the building has 6 effective floors. This is due to the fact that the first floor is 2 'normal' floors high.
KUDr@6254: One 'normal' floor has a height of 6 lift positions.
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: 4 |
KUDr@6254: Trees
KUDr@6254:
KUDr@6254: - m5 bits 7..6: number of trees minus one
KUDr@6254: - m5 bits 2..0: growth status: 0..2 - one of trees is growing, 3 - all trees are fully grown, 4..6 - one of trees is withering
KUDr@6254: - m3 bits 7..0: type of trees:
KUDr@6254:
KUDr@6254: 00..0B | temperate climate trees |
KUDr@6254: 0C..13 | sub-arctic climate trees |
KUDr@6254: 14..1A | rainforest trees |
KUDr@6254: 1B | cactus plants |
KUDr@6254: 1C..1F | sub-tropical climate, non-rainforest, non-desert trees |
KUDr@6254: 20..28 | toyland trees |
KUDr@6254:
KUDr@6254: Note: the actually displayed set of trees depends on both type and number of trees
KUDr@6254:
KUDr@6254: - m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)
KUDr@6254: - m4 bits 4..2: type of hedge on the SE border of the tile (1 through 6, or 0=none)
KUDr@6254: - m2 bits 5..4:
KUDr@6254:
KUDr@6254: 0 | on grass |
KUDr@6254: 1 | on rough land |
KUDr@6254: 2 | on snow or desert; m2 bits 7..6 - amount of snow or desert (for desert always set to 3 in TTD) |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m2 bits 3..0: update counter, incremented on every periodic processing.
KUDr@6254: on wraparound the growth status is updated (or, if it's 3, a random action is taken)
KUDr@6254: - m1: owner (normally 10)
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: 5 |
KUDr@6254: Station tile
KUDr@6254:
KUDr@6254: - m5: tile type:
KUDr@6254:
KUDr@6254:
KUDr@6254: 00..07 | railway station
KUDr@6254:
KUDr@6254: 00..01 | open platform |
KUDr@6254: 02..03 | open platform with station building |
KUDr@6254: 04....07 | roofed platform |
KUDr@6254: bit 0: clear = in X direction, set = in Y direction |
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254: 08..33 | large airport
KUDr@6254:
KUDr@6254: 0B | pad 1 |
KUDr@6254: 16..19 | runway middle |
KUDr@6254: 1A | runway ending |
KUDr@6254: 1C | control tower |
KUDr@6254: 20 | hangar |
KUDr@6254: 21 | pad 3 |
KUDr@6254: 22 | pad 2 |
KUDr@6254: 27..32 | radar (animated) |
KUDr@6254: 33 | transmitter |
KUDr@6254: The initial layout of a large airport is (rows in Y direction, columns in X direction):
pasky@464:
pasky@464: 1F 1B 1E 33 26 1A
pasky@464: 09 24 0B 0C 0D 16
pasky@464: 21 1D 23 0E 0F 17
pasky@464: 09 22 0D 11 10 18
pasky@464: 09 08 14 13 12 19
pasky@464: 20 0A 15 1C 27 1A
pasky@464:
KUDr@6254: |
KUDr@6254: |
KUDr@6254:
KUDr@6254: 34..41 | small airport
KUDr@6254:
KUDr@6254: 3A..3D | field with the wind meter (animated) |
KUDr@6254: 3E | runway south ending |
KUDr@6254: 3F | runway middle |
KUDr@6254: 40 | runway north ending |
KUDr@6254: 41 | hangar |
KUDr@6254: The initial layout of a small airport is (rows in Y direction, columns in X direction):
pasky@464:
pasky@464: 36 3A 40
pasky@464: 35 39 3F
pasky@464: 34 38 3F
pasky@464: 41 37 3E
pasky@464:
KUDr@6254: |
KUDr@6254: |
pasky@464:
KUDr@6254: 42 | heliport |
KUDr@6254: 43..46 |
KUDr@6254: lorry loading area : exit towards:
KUDr@6254:
KUDr@6254: 43 | NE |
KUDr@6254: 44 | SE |
KUDr@6254: 45 | SW |
KUDr@6254: 46 | NW |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 47..4A |
KUDr@6254: bus station : exit towards:
KUDr@6254:
KUDr@6254: 47 | NE |
KUDr@6254: 48 | SE |
KUDr@6254: 49 | SW |
KUDr@6254: 4A | NW |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 4B | oilfield |
KUDr@6254: 4C..51 | ship dock
KUDr@6254:
KUDr@6254: 4C | SW coast part |
KUDr@6254: 4D | NW coast part |
KUDr@6254: 4E | NE coast part |
KUDr@6254: 4F | SE coast part |
KUDr@6254: 50 | X direction water part |
KUDr@6254: 51 | Y direction water part |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 52 | buoy |
KUDr@6254: 53..A7 | used by RichK's larger airports |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m1: owner of the station
KUDr@6254: - m2: index into the array of stations
KUDr@6254: - m3 bits 0..3: track type for railway stations, must be 0 for all the other stations
KUDr@6254: - m3 bits 4..7: persistent random data for newstations
KUDr@6254: - m4: custom station id; 0 means standard graphics
bjarni@6268: - m6 bit 3: 1 when a drive through road stop is built over a town owned road, otherwise 0
KUDr@6254:
KUDr@6254: |
KUDr@6254:
pasky@464:
KUDr@6254:
KUDr@6254: 6 |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5: tile type:
KUDr@6254:
KUDr@6254: 00 | water |
KUDr@6254: 01 | coast or riverbank |
KUDr@6254: 10..1B | canal locks
KUDr@6254:
KUDr@6254: 10 | middle part, (SW-NE direction) |
KUDr@6254: 11 | middle part, (NW-SE direction) |
KUDr@6254: 12 | middle part, (NE-SW direction) |
KUDr@6254: 13 | middle part, (SE-NW direction) |
KUDr@6254: 14 | lower part, (SW-NE direction) |
KUDr@6254: 15 | lower part, (NW-SE direction) |
KUDr@6254: 16 | lower part, (NE-SW direction) |
KUDr@6254: 17 | lower part, (SE-NW direction) |
KUDr@6254: 18 | upper part, (SW-NE direction) |
KUDr@6254: 19 | upper part, (NW-SE direction) |
KUDr@6254: 1A | upper part, (NE-SW direction) |
KUDr@6254: 1B | upper part, (SE-NW direction) |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 80..83 | ship depots
KUDr@6254:
KUDr@6254: 80 | ship depot, NE part (X direction) |
KUDr@6254: 81 | ship depot, SW part (X direction) |
KUDr@6254: 82 | ship depot, NW part (Y direction) |
KUDr@6254: 83 | ship depot, SE part (Y direction) |
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m1: owner (for water and coasts normally 11)
KUDr@6254:
KUDr@6254: |
KUDr@6254:
pasky@464:
KUDr@6254:
KUDr@6254: 7 |
KUDr@6254: Void
KUDr@6254: Tiles of this class form an invisible, one tile wide border at the south (bottom) edges of the map,
KUDr@6254: so as to protect several algorithms from the consequences of a wraparound at the edges.
KUDr@6254:
KUDr@6254: |
KUDr@6254:
pasky@464:
KUDr@6254:
KUDr@6254: 8 |
KUDr@6254: Industry tile
KUDr@6254:
KUDr@6254: - m5: type:
KUDr@6254: (note: this is not the same as the industry type, which is stored in the array of industries)
KUDr@6254:
KUDr@6254: 00..06 | coal mine
KUDr@6254:
KUDr@6254: 00 | wheel tower when not animated |
KUDr@6254: 01 | wheel tower when animated animation state in m3 bits 5..0; m3 bit 6 set = sound already generated |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 07..0A | power station
KUDr@6254:
KUDr@6254: 08 | chimney |
KUDr@6254: 0A | transformer; animation progress in m3(valid range 0..7) |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 0B..0F | sawmill |
KUDr@6254: 10..11 | forest
KUDr@6254:
KUDr@6254: 11 | trees cut down |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 12..17 | oil refinery |
KUDr@6254: 18..1C | oil rig |
KUDr@6254: 1D..20 | oil wells
KUDr@6254:
KUDr@6254: 1D | not animated |
KUDr@6254: 1E..20 | various stages of animation; progress of animation in m3 |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 21..26 | farm |
KUDr@6254: 27..2A | factory (temperate climate) |
KUDr@6254: 2B..2E | printing works |
KUDr@6254: 2F..33 | copper ore mine
KUDr@6254:
KUDr@6254: 2F | wheel tower when not animated |
KUDr@6254: 30 | wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated |
KUDr@6254: 31 | chimney |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 34..39 | steel mill |
KUDr@6254: 3A..3B | bank (temperate climate) |
KUDr@6254: 3C..3F | food processing plant |
KUDr@6254: 40..47 | paper mill |
KUDr@6254: 48..58 | gold mine
KUDr@6254:
KUDr@6254: 4F | wheel tower when not animated |
KUDr@6254: 58 | wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 59..5A | bank (sub-arctic or sub-tropical climate) |
KUDr@6254: 5B..63 | diamond mine |
KUDr@6254: 64..73 | iron ore mine |
KUDr@6254: 74 | fruit plantation |
KUDr@6254: 75 | rubber plantation |
KUDr@6254: 76..77 | water supply |
KUDr@6254: 78 | water tower |
KUDr@6254: 79..7C | factory (sub-tropical climate) |
KUDr@6254: 7D..80 | lumber mill |
KUDr@6254: 81..82 | candyfloss forest
KUDr@6254:
KUDr@6254: 82 | candyfloss 'trees' cut down |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 83..86 | sweet factory |
KUDr@6254: 87..88 | battery farm
KUDr@6254:
KUDr@6254: 88 | batteries 'reaped' |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 89 | cola wells |
KUDr@6254: 8A..8D | toy shop |
KUDr@6254: 8E..93 | toy factory
KUDr@6254:
KUDr@6254: 8F |
KUDr@6254: Animated part; animation state in m3 (valid range 00..31)
KUDr@6254: Tile animation is started (m4 zeroed) on the periodic processing.
KUDr@6254: While the animation is in progress, m4 holds the number
KUDr@6254: of animation cycles that have already taken place.
KUDr@6254: when this number reaches 8 the animation is stopped.
KUDr@6254: |
KUDr@6254:
KUDr@6254: |
KUDr@6254: 94..9B | plastic fountains (various stages of cyclic animation) |
KUDr@6254: 9C..9F | fizzy drink factory |
KUDr@6254: A0..A3 | bubble generator
KUDr@6254:
KUDr@6254: A1 | generators |
KUDr@6254: A2 | bubble capture facility; animation state in m3 (valid range 00..27) |
KUDr@6254:
KUDr@6254: |
KUDr@6254: A4..A6 | toffee quarry
KUDr@6254:
KUDr@6254: A5 | animated part; animation state in m3 (valid range 00..45) |
KUDr@6254:
KUDr@6254: |
KUDr@6254: A7..AE | sugar mine
KUDr@6254:
KUDr@6254: AE | animated part; animation state in m3 (valid range 00..5F) |
KUDr@6254:
KUDr@6254: |
KUDr@6254: |
KUDr@6254:
KUDr@6254: - m2: index into the array of industries
KUDr@6254: - m1 bit 7: clear = under construction
KUDr@6254:
KUDr@6254: - m1 bits 4..2: construction counter, for buildings under construction incremented on every periodic tile processing
KUDr@6254: - m1 bits 1..0: stage of construction (3 = completed), incremented when the construction counter wraps around
KUDr@6254: the meaning is different for some animated tiles which are never under construction (types 01, 1E..20, 30, 58; see above)
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: 9 |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bits 7..4 clear: tunnel entrance/exit
KUDr@6254:
KUDr@6254: - m5 bits 3..2: 0 - railway tunnel, 1 - road tunnel
KUDr@6254: - m5 bits 1..0 - direction: entrance towards: 0 = NE, 1 = SE, 2 = SW, 3 = NW
KUDr@6254: - m1: owner of the tunnel
KUDr@6254: - m3 bits 3..0 = track type for railway tunnel, must be 0 for road tunnel
KUDr@6254: - m4 bit 7 set = on snow or desert
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5 bit 7 set: bridge ramp
KUDr@6254:
KUDr@6254: - m1: owner of the bridge
KUDr@6254: - m3 bits 3..0 = type of track on the bridge, must be 0 for road bridge
KUDr@6254: - m5 bits 3..2: 0 - railway bridge, 1 - road bridge
KUDr@6254: - m5 bit 0..1: DiagDirection onto the bridge
KUDr@6254: - m2 bits 7..4: bridge type:
KUDr@6254:
KUDr@6254: Type | Max. speed (mph) | Description |
KUDr@6254: 0 | 20 | wooden |
KUDr@6254: 1 | 30 | concrete |
KUDr@6254: 2 | 40 | girder, steel |
KUDr@6254: 3 | 50 | suspension, concrete |
KUDr@6254: 4 | 60 | suspension, steel |
KUDr@6254: 5 | 70 | suspension, steel |
KUDr@6254: 6 | 100 | cantilever, steel |
KUDr@6254: 7 | 130 | cantilever, steel |
KUDr@6254: 8 | 150 | cantilever, steel |
KUDr@6254: 9 | 160 | girder, steel |
KUDr@6254: A | 200 | tubular, steel |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m4 bit 7 set = on snow or desert
KUDr@6254:
KUDr@6254: -
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254:
KUDr@6254: A |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m5: tile type:
KUDr@6254:
KUDr@6254: 00 | transmitter |
KUDr@6254: 01 | lighthouse |
KUDr@6254: 02 | company statue |
KUDr@6254: 03 | company-owned land |
KUDr@6254: 80..93 | company headquarters (5 sets of 4 tiles each, updated quarterly depending on the company performance) |
KUDr@6254:
KUDr@6254:
KUDr@6254: - m1: owner of the object (for lighthouses and transmitters normally 10)
KUDr@6254:
KUDr@6254: |
KUDr@6254:
KUDr@6254:
KUDr@6254: Classes B through F are reserved. The presence of a tile in one of the reserved classes will crash OTTD. |
KUDr@6254:
pasky@464:
pasky@464:
KUDr@6254: