00001 /* $Id: ai_map.cpp 15299 2009-01-31 20:16:06Z smatz $ */ 00002 00005 #include "ai_map.hpp" 00006 #include "../../tile_map.h" 00007 00008 /* static */ bool AIMap::IsValidTile(TileIndex t) 00009 { 00010 return ::IsValidTile(t); 00011 } 00012 00013 /* static */ TileIndex AIMap::GetMapSize() 00014 { 00015 return ::MapSize(); 00016 } 00017 00018 /* static */ uint32 AIMap::GetMapSizeX() 00019 { 00020 return ::MapSizeX(); 00021 } 00022 00023 /* static */ uint32 AIMap::GetMapSizeY() 00024 { 00025 return ::MapSizeY(); 00026 } 00027 00028 /* static */ int32 AIMap::GetTileX(TileIndex t) 00029 { 00030 if (!::IsValidTile(t)) return -1; 00031 return ::TileX(t); 00032 } 00033 00034 /* static */ int32 AIMap::GetTileY(TileIndex t) 00035 { 00036 if (!::IsValidTile(t)) return -1; 00037 return ::TileY(t); 00038 } 00039 00040 /* static */ TileIndex AIMap::GetTileIndex(uint32 x, uint32 y) 00041 { 00042 return ::TileXY(x, y); 00043 } 00044 00045 /* static */ int32 AIMap::DistanceManhattan(TileIndex t1, TileIndex t2) 00046 { 00047 if (!::IsValidTile(t1) || !::IsValidTile(t2)) return -1; 00048 return ::DistanceManhattan(t1, t2); 00049 } 00050 00051 /* static */ int32 AIMap::DistanceMax(TileIndex t1, TileIndex t2) 00052 { 00053 if (!::IsValidTile(t1) || !::IsValidTile(t2)) return -1; 00054 return ::DistanceMax(t1, t2); 00055 } 00056 00057 /* static */ int32 AIMap::DistanceSquare(TileIndex t1, TileIndex t2) 00058 { 00059 if (!::IsValidTile(t1) || !::IsValidTile(t2)) return -1; 00060 return ::DistanceSquare(t1, t2); 00061 } 00062 00063 /* static */ int32 AIMap::DistanceFromEdge(TileIndex t) 00064 { 00065 if (!::IsValidTile(t)) return -1; 00066 return ::DistanceFromEdge(t); 00067 }