mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r3984) Add a function to get the road axis of a level crossing
This commit is contained in:
parent
7b21893adb
commit
a751a796e1
|
@ -778,7 +778,7 @@ static void DrawTile_Road(TileInfo *ti)
|
|||
|
||||
image = GetRailTypeInfo(GetRailTypeCrossing(ti->tile))->base_sprites.crossing;
|
||||
|
||||
if (GB(ti->map5, 3, 1) == 0) image++; /* direction */
|
||||
if (GetCrossingRoadAxis(ti->tile) == AXIS_X) image++;
|
||||
|
||||
if ((ti->map5 & 4) != 0) image += 2;
|
||||
|
||||
|
@ -1048,7 +1048,8 @@ static uint32 GetTileTrackStatus_Road(TileIndex tile, TransportType mode)
|
|||
0 : _road_trackbits[GetRoadBits(tile)] * 0x101;
|
||||
|
||||
case ROAD_CROSSING: {
|
||||
uint32 r = (_m[tile].m5 & 8 ? 0x202 : 0x101);
|
||||
uint32 r = (GetCrossingRoadAxis(tile) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101;
|
||||
|
||||
if (_m[tile].m5 & 4) r *= 0x10001;
|
||||
return r;
|
||||
}
|
||||
|
|
|
@ -39,14 +39,19 @@ static inline void SetRoadBits(TileIndex tile, RoadBits r)
|
|||
}
|
||||
|
||||
|
||||
static inline Axis GetCrossingRoadAxis(TileIndex tile)
|
||||
{
|
||||
return (Axis)GB(_m[tile].m5, 3, 1);
|
||||
}
|
||||
|
||||
static inline RoadBits GetCrossingRoadBits(TileIndex tile)
|
||||
{
|
||||
return _m[tile].m5 & 8 ? ROAD_Y : ROAD_X;
|
||||
return GetCrossingRoadAxis(tile) == AXIS_X ? ROAD_X : ROAD_Y;
|
||||
}
|
||||
|
||||
static inline TrackBits GetCrossingRailBits(TileIndex tile)
|
||||
{
|
||||
return _m[tile].m5 & 8 ? TRACK_BIT_X : TRACK_BIT_Y;
|
||||
return GetCrossingRoadAxis(tile) == AXIS_X ? TRACK_BIT_Y : TRACK_BIT_X;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue