(svn r3766) Add a function to get the RoadBits from an arbitrary tile

This commit is contained in:
tron
2006-03-05 12:22:20 +00:00
parent 62abd9c1e2
commit 4da99989b9
6 changed files with 73 additions and 37 deletions

View File

@@ -22,6 +22,12 @@ static inline RoadBits ComplementRoadBits(RoadBits r)
return ROAD_ALL ^ r;
}
static inline RoadBits DiagDirToRoadBits(DiagDirection d)
{
return 1 << (3 ^ d);
}
static inline RoadBits GetRoadBits(TileIndex tile)
{
return GB(_m[tile].m5, 0, 4);
@@ -50,6 +56,17 @@ static inline RoadType GetRoadType(TileIndex tile)
}
/**
* Returns the RoadBits on an arbitrary tile
* Special behavior:
* - road depots: entrance is treated as road piece
* - road tunnels: entrance is treated as road piece
* - bridge ramps: treated as straight road
* - bridge middle parts: bridge itself is ignored
*/
RoadBits GetAnyRoadBits(TileIndex);
static inline void MakeRoadNormal(TileIndex t, Owner owner, RoadBits bits, uint town)
{
SetTileType(t, MP_STREET);