1
0
Fork 0

(svn r8954) -Codechange: remove direct map accesses from non-map-accessor headers.

release/0.6
rubidium 2007-03-01 13:35:40 +00:00
parent ef9b0bdd88
commit 05fe6d2362
3 changed files with 12 additions and 5 deletions

View File

@ -9,6 +9,9 @@
#include "oldpool.h" #include "oldpool.h"
#include "tile.h" #include "tile.h"
#include "variables.h" #include "variables.h"
#include "road_map.h"
#include "rail_map.h"
#include "water_map.h"
struct Depot { struct Depot {
TileIndex xy; TileIndex xy;
@ -68,16 +71,16 @@ static inline bool IsTileDepotType(TileIndex tile, TransportType type)
{ {
switch (type) { switch (type) {
case TRANSPORT_RAIL: case TRANSPORT_RAIL:
return IsTileType(tile, MP_RAILWAY) && (_m[tile].m5 & 0xFC) == 0xC0; return IsTileType(tile, MP_RAILWAY) && GetRailTileType(tile) == RAIL_TILE_DEPOT;
case TRANSPORT_ROAD: case TRANSPORT_ROAD:
return IsTileType(tile, MP_STREET) && (_m[tile].m5 & 0xF0) == 0x20; return IsTileType(tile, MP_STREET) && GetRoadTileType(tile) == ROAD_TILE_DEPOT;
case TRANSPORT_WATER: case TRANSPORT_WATER:
return IsTileType(tile, MP_WATER) && (_m[tile].m5 & ~3) == 0x80; return IsTileType(tile, MP_WATER) && GetWaterTileType(tile) == WATER_TILE_DEPOT;
default: default:
assert(0); NOT_REACHED();
return false; return false;
} }
} }

View File

@ -113,6 +113,10 @@ static inline TrackBits GetRailWaypointBits(TileIndex t)
return TrackToTrackBits(GetRailWaypointTrack(t)); return TrackToTrackBits(GetRailWaypointTrack(t));
} }
static inline WaypointID GetWaypointIndex(TileIndex t)
{
return (WaypointID)_m[t].m2;
}
typedef enum SignalType { typedef enum SignalType {
SIGTYPE_NORMAL = 0, // normal signal SIGTYPE_NORMAL = 0, // normal signal

View File

@ -59,7 +59,7 @@ static inline void DeleteWaypoint(Waypoint *wp)
static inline Waypoint *GetWaypointByTile(TileIndex tile) static inline Waypoint *GetWaypointByTile(TileIndex tile)
{ {
assert(IsTileType(tile, MP_RAILWAY) && IsRailWaypoint(tile)); assert(IsTileType(tile, MP_RAILWAY) && IsRailWaypoint(tile));
return GetWaypoint(_m[tile].m2); return GetWaypoint(GetWaypointIndex(tile));
} }
int32 RemoveTrainWaypoint(TileIndex tile, uint32 flags, bool justremove); int32 RemoveTrainWaypoint(TileIndex tile, uint32 flags, bool justremove);