truelight@9617: /* $Id$ */ truelight@9617: truelight@9617: /** @file ai_tile.cpp handles the functions of the AITile class */ truelight@9617: truelight@9617: #include "ai_tile.hpp" truelight@9617: #include "../../tile.h" truelight@9617: #include "../../variables.h" truelight@9617: #include "../../station.h" truelight@9617: truelight@9617: bool AITile::IsBuildable(TileIndex tile) truelight@9617: { truelight@9617: /* Outside of the map */ rubidium@9620: if (tile >= ::MapSize()) return false; truelight@9617: truelight@9617: switch (::GetTileType(tile)) { truelight@9617: default: return 1; truelight@9617: case MP_VOID: truelight@9617: case MP_HOUSE: truelight@9617: case MP_STATION: truelight@9617: case MP_INDUSTRY: truelight@9617: case MP_UNMOVABLE: return 0; truelight@9617: } truelight@9617: } truelight@9617: truelight@9617: int32 AITile::GetSlope(TileIndex tile) truelight@9617: { truelight@9617: /* Outside of the map */ rubidium@9620: if (tile >= ::MapSize()) return 0; truelight@9617: truelight@9617: return GetTileSlope(tile, NULL); truelight@9617: } truelight@9617: truelight@9658: int32 AITile::GetCargoAcceptance(TileIndex tile, CargoID cargo_type, uint width, uint height, uint rad) truelight@9617: { truelight@9617: /* Outside of the map */ rubidium@9620: if (tile >= ::MapSize()) return false; truelight@9617: truelight@9617: AcceptedCargo accepts; truelight@9658: GetAcceptanceAroundTiles(accepts, tile, width, height, _patches.modified_catchment ? rad : 4); truelight@9617: return accepts[cargo_type]; truelight@9617: }