2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8 /** @file station_cmd.h Command definitions related to stations. */
13 #include "command_type.h"
14 #include "station_type.h"
16 enum StationClassID
: byte
;
18 CommandCost
CmdBuildAirport(DoCommandFlag flags
, TileIndex tile
, byte airport_type
, byte layout
, StationID station_to_join
, bool allow_adjacent
);
19 CommandCost
CmdBuildDock(DoCommandFlag flags
, TileIndex tile
, StationID station_to_join
, bool adjacent
);
20 CommandCost
CmdBuildRailStation(DoCommandFlag flags
, TileIndex tile_org
, RailType rt
, Axis axis
, byte numtracks
, byte plat_len
, StationClassID spec_class
, byte spec_index
, StationID station_to_join
, bool adjacent
);
21 CommandCost
CmdRemoveFromRailStation(DoCommandFlag flags
, TileIndex start
, TileIndex end
, bool keep_rail
);
22 CommandCost
CmdBuildRoadStop(DoCommandFlag flags
, TileIndex tile
, uint8 width
, uint8 length
, RoadStopType stop_type
, bool is_drive_through
, DiagDirection ddir
, RoadType rt
, StationID station_to_join
, bool adjacent
);
23 CommandCost
CmdRemoveRoadStop(DoCommandFlag flags
, TileIndex tile
, uint8 width
, uint8 height
, RoadStopType stop_type
, bool remove_road
);
24 CommandCost
CmdRenameStation(DoCommandFlag flags
, StationID station_id
, const std::string
&text
);
25 CommandCost
CmdOpenCloseAirport(DoCommandFlag flags
, StationID station_id
);
27 DEF_CMD_TRAIT(CMD_BUILD_AIRPORT
, CmdBuildAirport
, CMD_AUTO
| CMD_NO_WATER
, CMDT_LANDSCAPE_CONSTRUCTION
)
28 DEF_CMD_TRAIT(CMD_BUILD_DOCK
, CmdBuildDock
, CMD_AUTO
, CMDT_LANDSCAPE_CONSTRUCTION
)
29 DEF_CMD_TRAIT(CMD_BUILD_RAIL_STATION
, CmdBuildRailStation
, CMD_AUTO
| CMD_NO_WATER
, CMDT_LANDSCAPE_CONSTRUCTION
)
30 DEF_CMD_TRAIT(CMD_REMOVE_FROM_RAIL_STATION
, CmdRemoveFromRailStation
, 0, CMDT_LANDSCAPE_CONSTRUCTION
)
31 DEF_CMD_TRAIT(CMD_BUILD_ROAD_STOP
, CmdBuildRoadStop
, CMD_AUTO
| CMD_NO_WATER
, CMDT_LANDSCAPE_CONSTRUCTION
)
32 DEF_CMD_TRAIT(CMD_REMOVE_ROAD_STOP
, CmdRemoveRoadStop
, 0, CMDT_LANDSCAPE_CONSTRUCTION
)
33 DEF_CMD_TRAIT(CMD_RENAME_STATION
, CmdRenameStation
, 0, CMDT_OTHER_MANAGEMENT
)
34 DEF_CMD_TRAIT(CMD_OPEN_CLOSE_AIRPORT
, CmdOpenCloseAirport
, 0, CMDT_ROUTE_MANAGEMENT
)
36 #endif /* STATION_CMD_H */