diff options
author | matthijs <matthijs@openttd.org> | 2005-06-16 18:04:02 +0000 |
---|---|---|
committer | matthijs <matthijs@openttd.org> | 2005-06-16 18:04:02 +0000 |
commit | 9cb58e0bb3799224f48a6c9e278b288551c59bec (patch) | |
tree | 13bfcb2e646ad2b6e44031f7353f93fe0551bc96 /tile.h | |
parent | fc5784a3103d5e4fc0dbfec5f905a6ebbfd9c84b (diff) | |
download | openttd-9cb58e0bb3799224f48a6c9e278b288551c59bec.tar.xz |
(svn r2448) General cleanup of rail related code, more to follow.
* Add: rail.[ch] for rail-related enums and wrapper functions.
* Codechange: Removed dozens of magic numbers with below enums.
* Codechange: Rewrote CheckTrackCombination().
* Add: TILE_SIZE, TILE_PIXELS and TILE_HEIGHT constants.
* Add: enums RailTileType, RailTileSubtype, SignalType to mask against the map arrays.
* Add: enums Track, TrackBits, Trackdir, TrackdirBits for railway track data. (Note that the old RAIL_BIT constants are replaced by TRACK_BIT ones).
* Add: enums Direction and DiagDirection
* Codechange: Moved a bunch of track(dir) related lookup arrays from npf.[ch] to rail.[ch].
* Codechange: move RailType enum from tile.h to rail.h.
* Add: Wrapper functions for masking signal status in the map arrays: SignalAlongTrackdir, SignalAgainstTrackdir and SignalOnTrack.
* Add: Wrapper functions to access rail tiles, using above enums
* Add: Wrapper functions to modify tracks, trackdirs, directions, etc.
* Add: Wrapper functions for all lookup arrays in rail.[ch] (Arrays are still used in parts of the code)
* Codechange: Renamed some variables and arguments to better represent what they contain (railbit -> track, bits -> trackdirbits, etc.).
* Codechange: Don't use FindLandscapeHeight() in CmdRemoveSingleRail(), since it returns way too much info. Use GetTileSlope() instead.
* Codechange: [NPF] Removed some unused globals and code from npf.c.
Diffstat (limited to 'tile.h')
-rw-r--r-- | tile.h | 35 |
1 files changed, 24 insertions, 11 deletions
@@ -18,17 +18,30 @@ typedef enum TileType { MP_UNMOVABLE } TileType; -/* XXX: This should be moved out to a new file (rail.h) along with some other - * cleanups. I'll do that after 0.4) */ -typedef enum { - RAILTYPE_RAIL = 0, - RAILTYPE_MONO = 1, - RAILTYPE_MAGLEV = 2, - RAILTYPE_END, - RAILTYPE_MASK = 0x3, - INVALID_RAILTYPE = 0xFF, -} RailType; - +/* TODO: Find out values */ +/* Direction as commonly used in v->direction, 8 way. */ +typedef enum Directions { + DIR_N = 0, + DIR_NE = 1, /* Northeast, upper right on your monitor */ + DIR_E = 2, + DIR_SE = 3, + DIR_S = 4, + DIR_SW = 5, + DIR_W = 6, + DIR_NW = 7, + DIR_END, + INVALID_DIR = 0xFF, +} Direction; + +/* Direction commonly used as the direction of entering and leaving tiles, 4-way */ +typedef enum DiagonalDirections { + DIAGDIR_NE = 0, /* Northeast, upper right on your monitor */ + DIAGDIR_SE = 1, + DIAGDIR_SW = 2, + DIAGDIR_NW = 3, + DIAGDIR_END, + INVALID_DIAGDIR = 0xFF, +} DiagDirection; void SetMapExtraBits(TileIndex tile, byte flags); uint GetMapExtraBits(TileIndex tile); |