@ -821,7 +821,7 @@ static CommandCost ValidateAutoDrag(Trackdir *trackdir, TileIndex start, TileInd
* @ param flags operation to perform
* @ param p1 end tile of drag
* @ param p2 various bitstuffed elements
* - p2 = ( bit 0 - 3 ) - railroad type normal / maglev ( 0 = normal , 1 = mono , 2 = maglev )
* - p2 = ( bit 0 - 3 ) - railroad type normal / maglev ( 0 = normal , 1 = mono , 2 = maglev ) , only used for building
* - p2 = ( bit 4 - 6 ) - track - orientation , valid values : 0 - 5 ( Track enum )
* - p2 = ( bit 7 ) - 0 = build , 1 = remove tracks
* - p2 = ( bit 8 ) - 0 = build up to an obstacle , 1 = fail if an obstacle is found ( used for AIs ) .
@ -835,7 +835,7 @@ static CommandCost CmdRailTrackHelper(TileIndex tile, DoCommandFlag flags, uint3
bool remove = HasBit ( p2 , 7 ) ;
RailType railtype = Extract < RailType , 0 , 4 > ( p2 ) ;
if ( ! ValParamRailtype ( railtype ) | | ! ValParamTrackOrientation ( track ) ) return CMD_ERROR ;
if ( ( ! remove & & ! ValParamRailtype ( railtype ) ) | | ! ValParamTrackOrientation ( track ) ) return CMD_ERROR ;
if ( p1 > = MapSize ( ) ) return CMD_ERROR ;
TileIndex end_tile = p1 ;
Trackdir trackdir = TrackToTrackdir ( track ) ;
@ -846,7 +846,7 @@ static CommandCost CmdRailTrackHelper(TileIndex tile, DoCommandFlag flags, uint3
bool had_success = false ;
CommandCost last_error = CMD_ERROR ;
for ( ; ; ) {
CommandCost ret = DoCommand ( tile , r ailtype, TrackdirToTrack ( trackdir ) , flags , remove ? CMD_REMOVE_SINGLE_RAIL : CMD_BUILD_SINGLE_RAIL ) ;
CommandCost ret = DoCommand ( tile , r emove ? 0 : r ailtype, TrackdirToTrack ( trackdir ) , flags , remove ? CMD_REMOVE_SINGLE_RAIL : CMD_BUILD_SINGLE_RAIL ) ;
if ( ret . Failed ( ) ) {
last_error = ret ;
@ -900,7 +900,7 @@ CommandCost CmdBuildRailroadTrack(TileIndex tile, DoCommandFlag flags, uint32 p1
* @ param flags operation to perform
* @ param p1 end tile of drag
* @ param p2 various bitstuffed elements
* - p2 = ( bit 0 - 3 ) - railroad type normal / maglev ( 0 = normal , 1 = mono , 2 = maglev )
* - p2 = ( bit 0 - 3 ) - railroad type normal / maglev ( 0 = normal , 1 = mono , 2 = maglev ) , only used for building
* - p2 = ( bit 4 - 6 ) - track - orientation , valid values : 0 - 5 ( Track enum )
* - p2 = ( bit 7 ) - 0 = build , 1 = remove tracks
* @ param text unused