diff options
author | rubidium <rubidium@openttd.org> | 2009-09-08 10:12:13 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-09-08 10:12:13 +0000 |
commit | dcd6b2096d0b8ecd1d9b95d56a8183e6bd604de6 (patch) | |
tree | ee8a9a27dff20f527d1de1e60a7c4799223d9a34 /src/ai/api/ai_rail.cpp | |
parent | 8cbcf17421a841696185db6318f2ed44ede9031c (diff) | |
download | openttd-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.cpp | 16 |
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) |