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