|
@@ -947,12 +947,14 @@ CommandCost FindJoiningWaypoint(StationI
|
|
|
* - p1 = (bit 16-23) - platform length
|
|
|
* - p1 = (bit 24) - allow stations directly adjacent to other stations.
|
|
|
* @param p2 various bitstuffed elements
|
|
|
* - p2 = (bit 0- 7) - custom station class
|
|
|
* - p2 = (bit 8-15) - custom station id
|
|
|
* - p2 = (bit 16-31) - station ID to join (NEW_STATION if build new one)
|
|
|
* @param text unused
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
/* Unpack parameters */
|
|
|
RailType rt = (RailType)GB(p1, 0, 4);
|
|
|
Axis axis = Extract<Axis, 4>(p1);
|
|
@@ -1325,13 +1327,13 @@ CommandCost RemoveFromRailBaseStation(Ti
|
|
|
* @param start tile of station piece to remove
|
|
|
* @param flags operation to perform
|
|
|
* @param p1 start_tile
|
|
|
* @param p2 various bitstuffed elements
|
|
|
* - p2 = bit 0 - if set keep the rail
|
|
|
* @param text unused
|
|
|
* @return cost of operation or error
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdRemoveFromRailStation(TileIndex start, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
TileIndex end = p1 == 0 ? start : p1;
|
|
|
if (start >= MapSize() || end >= MapSize()) return CMD_ERROR;
|
|
|
|
|
@@ -1359,13 +1361,13 @@ CommandCost CmdRemoveFromRailStation(Til
|
|
|
* @param start tile of waypoint piece to remove
|
|
|
* @param flags operation to perform
|
|
|
* @param p1 start_tile
|
|
|
* @param p2 various bitstuffed elements
|
|
|
* - p2 = bit 0 - if set keep the rail
|
|
|
* @param text unused
|
|
|
* @return cost of operation or error
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdRemoveFromRailWaypoint(TileIndex start, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
TileIndex end = p1 == 0 ? start : p1;
|
|
|
if (start >= MapSize() || end >= MapSize()) return CMD_ERROR;
|
|
|
|
|
@@ -1505,12 +1507,14 @@ static RoadStop **FindRoadStopSpot(bool
|
|
|
* @param p1 entrance direction (DiagDirection)
|
|
|
* @param p2 bit 0: 0 for Bus stops, 1 for truck stops
|
|
|
* bit 1: 0 for normal, 1 for drive-through
|
|
|
* bit 2..3: the roadtypes
|
|
|
* bit 5: allow stations directly adjacent to other stations.
|
|
|
* bit 16..31: station ID to join (NEW_STATION if build new one)
|
|
|
* @param text unused
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdBuildRoadStop(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
bool type = HasBit(p2, 0);
|
|
|
bool is_drive_through = HasBit(p2, 1);
|
|
|
bool build_over_road = is_drive_through && IsNormalRoadTile(tile);
|
|
@@ -1726,12 +1730,14 @@ static CommandCost RemoveRoadStop(TileIn
|
|
|
|
|
|
/** Remove a bus or truck stop
|
|
|
* @param tile tile to remove the stop from
|
|
|
* @param flags operation to perform
|
|
|
* @param p1 not used
|
|
|
* @param p2 bit 0: 0 for Bus stops, 1 for truck stops
|
|
|
* @param text unused
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdRemoveRoadStop(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
/* Make sure the specified tile is a road stop of the correct type */
|
|
|
if (!IsTileType(tile, MP_STATION) || !IsRoadStop(tile) || (uint32)GetRoadStopType(tile) != GB(p2, 0, 1)) return CMD_ERROR;
|
|
|
|
|
@@ -1863,12 +1869,14 @@ void UpdateAirportsNoise()
|
|
|
* @param tile tile where airport will be built
|
|
|
* @param flags operation to perform
|
|
|
* @param p1 airport type, @see airport.h
|
|
|
* @param p2 various bitstuffed elements
|
|
|
* - p2 = (bit 0) - allow airports directly adjacent to other airports.
|
|
|
* - p2 = (bit 16-31) - station ID to join (NEW_STATION if build new one)
|
|
|
* @param text unused
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
bool airport_upgrade = true;
|
|
|
StationID station_to_join = GB(p2, 16, 16);
|
|
|
bool reuse = (station_to_join != NEW_STATION);
|
|
@@ -2113,12 +2121,14 @@ static const byte _dock_h_chk[4] = { 1,
|
|
|
|
|
|
/** Build a dock/haven.
|
|
|
* @param tile tile where dock will be built
|
|
|
* @param flags operation to perform
|
|
|
* @param p1 (bit 0) - allow docks directly adjacent to other docks.
|
|
|
* @param p2 bit 16-31: station ID to join (NEW_STATION if build new one)
|
|
|
* @param text unused
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdBuildDock(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
StationID station_to_join = GB(p2, 16, 16);
|
|
|
bool reuse = (station_to_join != NEW_STATION);
|
|
|
if (!reuse) station_to_join = INVALID_STATION;
|
|
@@ -2926,12 +2936,14 @@ static bool IsUniqueStationName(const ch
|
|
|
|
|
|
/** Rename a station
|
|
|
* @param tile unused
|
|
|
* @param flags operation to perform
|
|
|
* @param p1 station ID that is to be renamed
|
|
|
* @param p2 unused
|
|
|
* @param text the new name or an empty string when resetting to the default
|
|
|
* @return the cost of this operation or an error
|
|
|
*/
|
|
|
CommandCost CmdRenameStation(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
|
|
|
{
|
|
|
Station *st = Station::GetIfValid(p1);
|
|
|
if (st == NULL || !CheckOwnership(st->owner)) return CMD_ERROR;
|
|
|
|