(svn r18696) -Fix [FS#3404]: AITile::IsCoastTile returned false for coast tiles with trees on them.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
yexo 15 years ago
parent c73df2016a
commit 6e97511bcb

@ -17,6 +17,7 @@
#include "../../road_map.h"
#include "../../water_map.h"
#include "../../clear_map.h"
#include "../../tree_map.h"
#include "../../town.h"
#include "../../landscape.h"
@ -68,7 +69,8 @@
{
if (!::IsValidTile(tile)) return false;
return ::IsTileType(tile, MP_WATER) && ::IsCoast(tile);
return (::IsTileType(tile, MP_WATER) && ::IsCoast(tile)) ||
(::IsTileType(tile, MP_TREES) && ::GetTreeGround(tile) == TREE_GROUND_SHORE);
}
/* static */ bool AITile::IsStationTile(TileIndex tile)

@ -140,7 +140,8 @@ public:
* @param tile The tile to check.
* @pre AIMap::IsValidTile(tile).
* @return True if and only if the tile is a coast tile.
* @note Building on coast tiles in general is more expensive.
* @note Building on coast tiles in general is more expensive. This is not
* true if there are also trees on the tile, see #HasTreeOnTile.
*/
static bool IsCoastTile(TileIndex tile);

Loading…
Cancel
Save