tron@3069: /* $Id$ */ tron@3069: tron@3069: #ifndef ROAD_H tron@3069: #define ROAD_H tron@3069: tron@3069: #include "macros.h" tron@3069: tron@3069: typedef enum RoadBits { tron@3069: ROAD_NW = 1, tron@3069: ROAD_SW = 2, tron@3069: ROAD_SE = 4, tron@3069: ROAD_NE = 8, tron@3069: ROAD_X = ROAD_SW | ROAD_NE, tron@3069: ROAD_Y = ROAD_NW | ROAD_SE, tron@3069: ROAD_ALL = ROAD_X | ROAD_Y tron@3069: } RoadBits; tron@3069: tron@3069: static inline RoadBits GetRoadBits(TileIndex tile) tron@3069: { tron@3069: return GB(_m[tile].m5, 0, 4); tron@3069: } tron@3069: tron@3070: static inline RoadBits GetCrossingRoadBits(TileIndex tile) tron@3070: { tron@3070: return _m[tile].m5 & 8 ? ROAD_Y : ROAD_X; tron@3070: } tron@3070: tron@3069: typedef enum RoadType { tron@3069: ROAD_NORMAL, tron@3069: ROAD_CROSSING, tron@3069: ROAD_DEPOT tron@3069: } RoadType; tron@3069: tron@3069: static inline RoadType GetRoadType(TileIndex tile) tron@3069: { tron@3069: return GB(_m[tile].m5, 4, 4); tron@3069: } tron@3069: tron@3069: #endif