(svn r15078) -Fix [NoAI]: AIMap didn't filter its input (Yexo)

This commit is contained in:
truebrain
2009-01-13 23:50:12 +00:00
parent ca45774160
commit 9724a986c8
3 changed files with 42 additions and 35 deletions

View File

@@ -26,37 +26,44 @@
return ::MapSizeY();
}
/* static */ uint32 AIMap::GetTileX(TileIndex t)
/* static */ int32 AIMap::GetTileX(TileIndex t)
{
if (!::IsValidTile(t)) return -1;
return ::TileX(t);
}
/* static */ uint32 AIMap::GetTileY(TileIndex t)
/* static */ int32 AIMap::GetTileY(TileIndex t)
{
if (!::IsValidTile(t)) return -1;
return ::TileY(t);
}
/* static */ TileIndex AIMap::GetTileIndex(uint32 x, uint32 y)
{
if (x >= ::MapSizeX() || y >= MapSizeY()) return INVALID_TILE;
return ::TileXY(x, y);
}
/* static */ uint32 AIMap::DistanceManhattan(TileIndex t1, TileIndex t2)
/* static */ int32 AIMap::DistanceManhattan(TileIndex t1, TileIndex t2)
{
if (!::IsValidTile(t1) || !::IsValidTile(t2)) return -1;
return ::DistanceManhattan(t1, t2);
}
/* static */ uint32 AIMap::DistanceMax(TileIndex t1, TileIndex t2)
/* static */ int32 AIMap::DistanceMax(TileIndex t1, TileIndex t2)
{
if (!::IsValidTile(t1) || !::IsValidTile(t2)) return -1;
return ::DistanceMax(t1, t2);
}
/* static */ uint32 AIMap::DistanceSquare(TileIndex t1, TileIndex t2)
/* static */ int32 AIMap::DistanceSquare(TileIndex t1, TileIndex t2)
{
if (!::IsValidTile(t1) || !::IsValidTile(t2)) return -1;
return ::DistanceSquare(t1, t2);
}
/* static */ uint32 AIMap::DistanceFromEdge(TileIndex t)
/* static */ int32 AIMap::DistanceFromEdge(TileIndex t)
{
if (!::IsValidTile(t)) return -1;
return ::DistanceFromEdge(t);
}