# HG changeset patch # User frosch # Date 1283692706 0 # Node ID b5d463b5b6ba8ea0b6893a895b67d631356f9869 # Parent fbf0804cacbbdc780119aacd772d40d806f5302a (svn r20740) -Codechange: Add HasTileWaterClass() to test for tiletypes with WaterClass. diff --git a/src/water_map.h b/src/water_map.h --- a/src/water_map.h +++ b/src/water_map.h @@ -65,6 +65,17 @@ } /** + * 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. * @param t Water tile to query. * @pre IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT) @@ -72,7 +83,7 @@ */ 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); } @@ -84,7 +95,7 @@ */ 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); }