summaryrefslogtreecommitdiff
path: root/tile.h
diff options
context:
space:
mode:
authormatthijs <matthijs@openttd.org>2005-06-16 18:04:02 +0000
committermatthijs <matthijs@openttd.org>2005-06-16 18:04:02 +0000
commit9cb58e0bb3799224f48a6c9e278b288551c59bec (patch)
tree13bfcb2e646ad2b6e44031f7353f93fe0551bc96 /tile.h
parentfc5784a3103d5e4fc0dbfec5f905a6ebbfd9c84b (diff)
downloadopenttd-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.h35
1 files changed, 24 insertions, 11 deletions
diff --git a/tile.h b/tile.h
index 9b0b45dfd..36c07e750 100644
--- a/tile.h
+++ b/tile.h
@@ -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);