road.h
changeset 3103 c0681c720481
parent 3099 571719b2cee3
equal deleted inserted replaced
3102:f9ca4379db9d 3103:c0681c720481
    15 	ROAD_X   = ROAD_SW | ROAD_NE,
    15 	ROAD_X   = ROAD_SW | ROAD_NE,
    16 	ROAD_Y   = ROAD_NW | ROAD_SE,
    16 	ROAD_Y   = ROAD_NW | ROAD_SE,
    17 	ROAD_ALL = ROAD_X  | ROAD_Y
    17 	ROAD_ALL = ROAD_X  | ROAD_Y
    18 } RoadBits;
    18 } RoadBits;
    19 
    19 
       
    20 static inline RoadBits ComplementRoadBits(RoadBits r)
       
    21 {
       
    22 	return ROAD_ALL ^ r;
       
    23 }
       
    24 
    20 static inline RoadBits GetRoadBits(TileIndex tile)
    25 static inline RoadBits GetRoadBits(TileIndex tile)
    21 {
    26 {
    22 	return GB(_m[tile].m5, 0, 4);
    27 	return GB(_m[tile].m5, 0, 4);
    23 }
    28 }
    24 
    29 
    25 static inline RoadBits GetCrossingRoadBits(TileIndex tile)
    30 static inline RoadBits GetCrossingRoadBits(TileIndex tile)
    26 {
    31 {
    27 	return _m[tile].m5 & 8 ? ROAD_Y : ROAD_X;
    32 	return _m[tile].m5 & 8 ? ROAD_Y : ROAD_X;
    28 }
    33 }
       
    34 
       
    35 static inline TrackBits GetCrossingRailBits(TileIndex tile)
       
    36 {
       
    37 	return _m[tile].m5 & 8 ? TRACK_BIT_X : TRACK_BIT_Y;
       
    38 }
       
    39 
    29 
    40 
    30 typedef enum RoadType {
    41 typedef enum RoadType {
    31 	ROAD_NORMAL,
    42 	ROAD_NORMAL,
    32 	ROAD_CROSSING,
    43 	ROAD_CROSSING,
    33 	ROAD_DEPOT
    44 	ROAD_DEPOT