(svn r15519) -Add [NoAI]: support for waypoints by adding AIRail::Build/Remove RailWaypoint, AIWaypoint and AIWaypointList.

This commit is contained in:
yexo
2009-02-19 07:40:08 +00:00
parent c2d9c85c0f
commit c0e7ddeb9e
14 changed files with 334 additions and 0 deletions

View File

@@ -170,6 +170,24 @@
return AIObject::DoCommand(tile, p1, p2, CMD_BUILD_RAILROAD_STATION);
}
/* static */ bool AIRail::BuildRailWaypoint(TileIndex tile)
{
EnforcePrecondition(false, ::IsValidTile(tile));
EnforcePrecondition(false, IsRailTile(tile));
EnforcePrecondition(false, GetRailTracks(tile) == RAILTRACK_NE_SW || GetRailTracks(tile) == RAILTRACK_NW_SE);
EnforcePrecondition(false, IsRailTypeAvailable(GetCurrentRailType()));
return AIObject::DoCommand(tile, 0, 0, CMD_BUILD_TRAIN_WAYPOINT);
}
/* static */ bool AIRail::RemoveRailWaypoint(TileIndex tile)
{
EnforcePrecondition(false, ::IsValidTile(tile));
EnforcePrecondition(false, IsRailWaypointTile(tile));
return AIObject::DoCommand(tile, 0, 0, CMD_REMOVE_TRAIN_WAYPOINT);
}
/* static */ bool AIRail::RemoveRailStationTileRect(TileIndex tile, TileIndex tile2)
{
EnforcePrecondition(false, ::IsValidTile(tile));