From 6e97511bcb11a83931e7ff26f3834f1d69ad1704 Mon Sep 17 00:00:00 2001 From: yexo Date: Sun, 3 Jan 2010 12:42:50 +0000 Subject: [PATCH] (svn r18696) -Fix [FS#3404]: AITile::IsCoastTile returned false for coast tiles with trees on them. --- src/ai/api/ai_tile.cpp | 4 +++- src/ai/api/ai_tile.hpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ai/api/ai_tile.cpp b/src/ai/api/ai_tile.cpp index b7e41d7faa..a1c2f1c5ef 100644 --- a/src/ai/api/ai_tile.cpp +++ b/src/ai/api/ai_tile.cpp @@ -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) diff --git a/src/ai/api/ai_tile.hpp b/src/ai/api/ai_tile.hpp index 8f5f4a1027..6b254899f0 100644 --- a/src/ai/api/ai_tile.hpp +++ b/src/ai/api/ai_tile.hpp @@ -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);