diff options
-rw-r--r-- | docs/landscape.html | 1 | ||||
-rw-r--r-- | docs/landscape_grid.html | 2 | ||||
-rw-r--r-- | src/tree_map.h | 2 | ||||
-rw-r--r-- | src/water_map.h | 4 |
4 files changed, 6 insertions, 3 deletions
diff --git a/docs/landscape.html b/docs/landscape.html index a345128ea..d4d8f7efe 100644 --- a/docs/landscape.html +++ b/docs/landscape.html @@ -759,6 +759,7 @@ <td valign=top nowrap> </td> <td> <ul> + <li>m1 bits 6..5: water class (sea or land)</li> <li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li> <li>m2 bits 8..6: ground <table> diff --git a/docs/landscape_grid.html b/docs/landscape_grid.html index 8519fa990..4948366e6 100644 --- a/docs/landscape_grid.html +++ b/docs/landscape_grid.html @@ -194,7 +194,7 @@ the array so you can quickly see what is used and what is not. <td class="caption">trees</td> <td class="bits">XXXX XXXX</td> <td class="bits">XXXX XXXX</td> - <td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td> + <td class="bits"><span class="free">O</span>XX<span class="option">~ ~~~~</span></td> <td class="bits"><span class="free">OOOO OOO</span>X XXXX XXXX</td> <td class="bits"><span class="option">~~</span>XX XXXX</td> <td class="bits"><span class="free">OOOO OOOO</span></td> diff --git a/src/tree_map.h b/src/tree_map.h index e614099fc..df9fd441c 100644 --- a/src/tree_map.h +++ b/src/tree_map.h @@ -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); } /** diff --git a/src/water_map.h b/src/water_map.h index ab249a827..5d84d5ba6 100644 --- a/src/water_map.h +++ b/src/water_map.h @@ -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); } /** |