diff options
author | tron <tron@openttd.org> | 2005-07-13 18:04:01 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2005-07-13 18:04:01 +0000 |
commit | 8c1d74162f1544e351ae6308cbcca06f324c2c36 (patch) | |
tree | b36523450a7bccf37ca126b6f857d1529d44c67b /rail.h | |
parent | 1a1dde7c8d0cf18e49b5af7fef1368216120eed1 (diff) | |
download | openttd-8c1d74162f1544e351ae6308cbcca06f324c2c36.tar.xz |
(svn r2558) Change the internal map format from 7 arrays to one array of structs, this doesn't change the saved format for now. It's a stepping stone for further changes.
Diffstat (limited to 'rail.h')
-rw-r--r-- | rail.h | 26 |
1 files changed, 13 insertions, 13 deletions
@@ -38,7 +38,7 @@ typedef enum RailTileSubtypes { } RailTileSubtype; typedef enum SignalTypes { - /* Stored in _map3_hi[0..1] for MP_RAILWAY */ + /* Stored in m4[0..1] for MP_RAILWAY */ SIGTYPE_NORMAL = 0, // normal signal SIGTYPE_ENTRY = 1, // presignal block entry SIGTYPE_EXIT = 2, // presignal block exit @@ -195,13 +195,13 @@ static inline byte SignalOnTrack(Track track) { static inline RailTileType GetRailTileType(TileIndex tile) { assert(IsTileType(tile, MP_RAILWAY)); - return (_map5[tile] & RAIL_TILE_TYPE_MASK); + return (_m[tile].m5 & RAIL_TILE_TYPE_MASK); } /** * Returns the rail type of the given rail tile (ie rail, mono, maglev). */ -static inline RailType GetRailType(TileIndex tile) { return (RailType)(_map3_lo[tile] & RAILTYPE_MASK); } +static inline RailType GetRailType(TileIndex tile) { return (RailType)(_m[tile].m3 & RAILTYPE_MASK); } /** * Checks if a rail tile has signals. @@ -218,7 +218,7 @@ static inline bool HasSignals(TileIndex tile) static inline RailTileSubtype GetRailTileSubtype(TileIndex tile) { assert(GetRailTileType(tile) == RAIL_TYPE_DEPOT_WAYPOINT); - return (RailTileSubtype)(_map5[tile] & RAIL_SUBTYPE_MASK); + return (RailTileSubtype)(_m[tile].m5 & RAIL_SUBTYPE_MASK); } /** @@ -237,7 +237,7 @@ static inline bool IsPlainRailTile(TileIndex tile) static inline TrackBits GetTrackBits(TileIndex tile) { assert(GetRailTileType(tile) == RAIL_TYPE_NORMAL || GetRailTileType(tile) == RAIL_TYPE_SIGNALS); - return (TrackBits)(_map5[tile] & TRACK_BIT_MASK); + return (TrackBits)(_m[tile].m5 & TRACK_BIT_MASK); } /** @@ -399,7 +399,7 @@ static inline bool IsDiagonalTrackdir(Trackdir trackdir) { return IsDiagonalTrac static inline bool HasSignalOnTrack(TileIndex tile, Track track) { assert(IsValidTrack(track)); - return ((GetRailTileType(tile) == RAIL_TYPE_SIGNALS) && ((_map3_lo[tile] & SignalOnTrack(track)) != 0)); + return ((GetRailTileType(tile) == RAIL_TYPE_SIGNALS) && ((_m[tile].m3 & SignalOnTrack(track)) != 0)); } /** @@ -412,7 +412,7 @@ static inline bool HasSignalOnTrack(TileIndex tile, Track track) static inline bool HasSignalOnTrackdir(TileIndex tile, Trackdir trackdir) { assert (IsValidTrackdir(trackdir)); - return (GetRailTileType(tile) == RAIL_TYPE_SIGNALS) && (_map3_lo[tile] & SignalAlongTrackdir(trackdir)); + return (GetRailTileType(tile) == RAIL_TYPE_SIGNALS) && (_m[tile].m3 & SignalAlongTrackdir(trackdir)); } /** @@ -425,7 +425,7 @@ static inline SignalState GetSignalState(TileIndex tile, Trackdir trackdir) { assert(IsValidTrackdir(trackdir)); assert(HasSignalOnTrack(tile, TrackdirToTrack(trackdir))); - return ((_map2[tile] & SignalAlongTrackdir(trackdir))?SIGNAL_STATE_GREEN:SIGNAL_STATE_RED); + return ((_m[tile].m2 & SignalAlongTrackdir(trackdir))?SIGNAL_STATE_GREEN:SIGNAL_STATE_RED); } /** @@ -439,7 +439,7 @@ static inline SignalType GetSignalType(TileIndex tile, Track track) { assert(IsValidTrack(track)); assert(GetRailTileType(tile) == RAIL_TYPE_SIGNALS); - return (SignalType)(_map3_hi[tile] & SIGTYPE_MASK); + return (SignalType)(_m[tile].m4 & SIGTYPE_MASK); } /** @@ -454,7 +454,7 @@ static inline SignalType GetSignalType(TileIndex tile, Track track) static inline bool HasSemaphores(TileIndex tile, Track track) { assert(IsValidTrack(track)); - return (_map3_hi[tile] & SIG_SEMAPHORE_MASK); + return (_m[tile].m4 & SIG_SEMAPHORE_MASK); } /** @@ -471,7 +471,7 @@ RailType GetTileRailType(TileIndex tile, Trackdir trackdir); */ static inline bool IsLevelCrossing(TileIndex tile) { - return (_map5[tile] & 0xF0) == 0x10; + return (_m[tile].m5 & 0xF0) == 0x10; } /** @@ -486,9 +486,9 @@ static inline TransportType GetCrossingTransportType(TileIndex tile, Track track { /* When map5 bit 3 is set, the road runs in the y direction (DIAG2) */ case TRACK_DIAG1: - return (HASBIT(_map5[tile], 3) ? TRANSPORT_RAIL : TRANSPORT_ROAD); + return (HASBIT(_m[tile].m5, 3) ? TRANSPORT_RAIL : TRANSPORT_ROAD); case TRACK_DIAG2: - return (HASBIT(_map5[tile], 3) ? TRANSPORT_ROAD : TRANSPORT_RAIL); + return (HASBIT(_m[tile].m5, 3) ? TRANSPORT_ROAD : TRANSPORT_RAIL); default: assert(0); } |