|
@@ -85,25 +85,25 @@ static inline WaterTileType GetWaterTile
|
|
|
default: NOT_REACHED();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 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);
|
|
|
return IsTileType(t, MP_WATER) || IsTileType(t, MP_STATION) || IsTileType(t, MP_INDUSTRY) || IsTileType(t, MP_OBJECT) || IsTileType(t, MP_TREES);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 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)
|
|
|
* @return Water class at the tile.
|
|
|
*/
|
|
|
static inline WaterClass GetWaterClass(TileIndex t)
|
|
|
{
|
|
|
assert(HasTileWaterClass(t));
|
|
|
return (WaterClass)GB(_m[t].m1, 5, 2);
|
|
@@ -195,25 +195,25 @@ static inline bool IsWaterTile(TileIndex
|
|
|
static inline bool IsCoast(TileIndex t)
|
|
|
{
|
|
|
return GetWaterTileType(t) == WATER_TILE_COAST;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Is it a coast tile
|
|
|
* @param t Tile to query.
|
|
|
* @return \c true if it is a coast.
|
|
|
*/
|
|
|
static inline bool IsCoastTile(TileIndex t)
|
|
|
{
|
|
|
return IsTileType(t, MP_WATER) && IsCoast(t);
|
|
|
return (IsTileType(t, MP_WATER) && IsCoast(t)) || (IsTileType(t, MP_TREES) && GetWaterClass(t) != WATER_CLASS_INVALID);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Is it a water tile with a ship depot on it?
|
|
|
* @param t Water tile to query.
|
|
|
* @return \c true if it is a ship depot tile.
|
|
|
* @pre IsTileType(t, MP_WATER)
|
|
|
*/
|
|
|
static inline bool IsShipDepot(TileIndex t)
|
|
|
{
|
|
|
return GetWaterTileType(t) == WATER_TILE_DEPOT;
|
|
|
}
|