summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_rail.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-09-08 10:12:13 +0000
committerrubidium <rubidium@openttd.org>2009-09-08 10:12:13 +0000
commitdcd6b2096d0b8ecd1d9b95d56a8183e6bd604de6 (patch)
treeee8a9a27dff20f527d1de1e60a7c4799223d9a34 /src/ai/api/ai_rail.cpp
parent8cbcf17421a841696185db6318f2ed44ede9031c (diff)
downloadopenttd-dcd6b2096d0b8ecd1d9b95d56a8183e6bd604de6.tar.xz
(svn r17471) -Change: when removing a station or waypoint keep the rail unless Ctrl is pressed. This makes the behaviour consistent between the two.
Diffstat (limited to 'src/ai/api/ai_rail.cpp')
-rw-r--r--src/ai/api/ai_rail.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/ai/api/ai_rail.cpp b/src/ai/api/ai_rail.cpp
index 37589092c..39781bc44 100644
--- a/src/ai/api/ai_rail.cpp
+++ b/src/ai/api/ai_rail.cpp
@@ -187,28 +187,20 @@
return AIObject::DoCommand(tile, GetCurrentRailType() | (GetRailTracks(tile) == RAILTRACK_NE_SW ? AXIS_X : AXIS_Y) << 4 | 1 << 8 | 1 << 16, STAT_CLASS_WAYP | INVALID_STATION << 16, CMD_BUILD_RAIL_WAYPOINT);
}
-/* static */ bool AIRail::RemoveRailWaypoint(TileIndex tile)
-{
- EnforcePrecondition(false, ::IsValidTile(tile));
- EnforcePrecondition(false, IsRailWaypointTile(tile));
-
- return AIObject::DoCommand(tile, 0, 0, CMD_REMOVE_FROM_RAIL_WAYPOINT);
-}
-
-/* static */ bool AIRail::RemoveRailWaypointTileRect(TileIndex tile, TileIndex tile2)
+/* static */ bool AIRail::RemoveRailWaypointTileRectangle(TileIndex tile, TileIndex tile2, bool keep_rail)
{
EnforcePrecondition(false, ::IsValidTile(tile));
EnforcePrecondition(false, ::IsValidTile(tile2));
- return AIObject::DoCommand(tile, tile2, 0, CMD_REMOVE_FROM_RAIL_WAYPOINT);
+ return AIObject::DoCommand(tile, tile2, keep_rail ? 1 : 0, CMD_REMOVE_FROM_RAIL_WAYPOINT);
}
-/* static */ bool AIRail::RemoveRailStationTileRect(TileIndex tile, TileIndex tile2)
+/* static */ bool AIRail::RemoveRailStationTileRectangle(TileIndex tile, TileIndex tile2, bool keep_rail)
{
EnforcePrecondition(false, ::IsValidTile(tile));
EnforcePrecondition(false, ::IsValidTile(tile2));
- return AIObject::DoCommand(tile, tile2, 0, CMD_REMOVE_FROM_RAIL_STATION);
+ return AIObject::DoCommand(tile, tile2, keep_rail ? 1 : 0, CMD_REMOVE_FROM_RAIL_STATION);
}
/* static */ uint AIRail::GetRailTracks(TileIndex tile)