This allows allows NewGRF object/industry placement rules to treat trees on coast tiles the same as regular bare coast.
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
#define TREE_MAP_H
|
||||
|
||||
#include "tile_map.h"
|
||||
#include "water_map.h"
|
||||
|
||||
/**
|
||||
* List of tree types along all landscape types.
|
||||
@@ -133,6 +134,7 @@ static inline void SetTreeGroundDensity(TileIndex t, TreeGround g, uint d)
|
||||
assert(IsTileType(t, MP_TREES)); // XXX incomplete
|
||||
SB(_m[t].m2, 4, 2, d);
|
||||
SB(_m[t].m2, 6, 3, g);
|
||||
SetWaterClass(t, g == TREE_GROUND_SHORE ? WATER_CLASS_SEA : WATER_CLASS_INVALID);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -94,7 +94,7 @@ static inline WaterTileType GetWaterTileType(TileIndex t)
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -204,7 +204,7 @@ static inline bool IsCoast(TileIndex t)
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user