1
0
Fork 0

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

release/1.1
frosch 2010-09-05 13:18:26 +00:00
parent a9d2ba6069
commit 435c8d33b0
1 changed files with 13 additions and 2 deletions

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);
} }