1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-12 17:19:09 +00:00

(svn r17378) -Fix [NoAI]: Several AITile::* functions didn't check whether their parameters were valid

This commit is contained in:
yexo
2009-09-02 12:48:23 +00:00
parent b7f7dd77bf
commit 05433adb6d

View File

@@ -95,31 +95,43 @@
/* static */ bool AITile::HasTreeOnTile(TileIndex tile) /* static */ bool AITile::HasTreeOnTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false;
return ::IsTileType(tile, MP_TREES); return ::IsTileType(tile, MP_TREES);
} }
/* static */ bool AITile::IsFarmTile(TileIndex tile) /* static */ bool AITile::IsFarmTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false;
return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_FIELDS)); return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_FIELDS));
} }
/* static */ bool AITile::IsRockTile(TileIndex tile) /* static */ bool AITile::IsRockTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false;
return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_ROCKS)); return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_ROCKS));
} }
/* static */ bool AITile::IsRoughTile(TileIndex tile) /* static */ bool AITile::IsRoughTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false;
return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_ROUGH)); return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_ROUGH));
} }
/* static */ bool AITile::IsSnowTile(TileIndex tile) /* static */ bool AITile::IsSnowTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false;
return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_SNOW)); return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_SNOW));
} }
/* static */ bool AITile::IsDesertTile(TileIndex tile) /* static */ bool AITile::IsDesertTile(TileIndex tile)
{ {
if (!::IsValidTile(tile)) return false;
return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_DESERT)); return (::IsTileType(tile, MP_CLEAR) && ::IsClearGround(tile, CLEAR_DESERT));
} }