(svn r20740) -Codechange: Add HasTileWaterClass() to test for tiletypes with WaterClass.

This commit is contained in:
frosch
2010-09-05 13:18:26 +00:00
parent c8e03e601d
commit c13035bbbb

View File

@@ -64,6 +64,17 @@ static inline WaterTileType GetWaterTileType(TileIndex t)
return WATER_TILE_DEPOT; return WATER_TILE_DEPOT;
} }
/**
* Checks whether the tile has an waterclass associated.
* You can then subsequently call GetWaterClass().
* @param t Tile to query.
* @return True if the tiletype has a waterclass.
*/
static inline bool HasTileWaterClass(TileIndex t)
{
return IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT);
}
/** /**
* Get the water class at a tile. * Get the water class at a tile.
* @param t Water tile to query. * @param t Water tile to query.
@@ -72,7 +83,7 @@ static inline WaterTileType GetWaterTileType(TileIndex t)
*/ */
static inline WaterClass GetWaterClass(TileIndex t) static inline WaterClass GetWaterClass(TileIndex t)
{ {
assert(IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT)); assert(HasTileWaterClass(t));
return (WaterClass)GB(_m[t].m1, 5, 2); return (WaterClass)GB(_m[t].m1, 5, 2);
} }
@@ -84,7 +95,7 @@ static inline WaterClass GetWaterClass(TileIndex t)
*/ */
static inline void SetWaterClass(TileIndex t, WaterClass wc) static inline void SetWaterClass(TileIndex t, WaterClass wc)
{ {
assert(IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT)); assert(HasTileWaterClass(t));
SB(_m[t].m1, 5, 2, wc); SB(_m[t].m1, 5, 2, wc);
} }