OpenTTD Source
20241120-master-g6d3adc6169
|
Road related functions. More...
Go to the source code of this file.
Functions | |
enum RoadStopClassID uint16_t void | DrawRoadDepotSprite (int x, int y, DiagDirection dir, RoadType rt) |
Draw the road depot sprite. More... | |
void | UpdateNearestTownForRoadTiles (bool invalidate) |
Updates cached nearest town for all road tiles. More... | |
CommandCost | CmdBuildLongRoad (DoCommandFlag flags, TileIndex end_tile, TileIndex start_tile, RoadType rt, Axis axis, DisallowedRoadDirections drd, bool start_half, bool end_half, bool is_ai) |
Build a long piece of road. More... | |
std::tuple< CommandCost, Money > | CmdRemoveLongRoad (DoCommandFlag flags, TileIndex end_tile, TileIndex start_tile, RoadType rt, Axis axis, bool start_half, bool end_half) |
Remove a long piece of road. More... | |
CommandCost | CmdBuildRoad (DoCommandFlag flags, TileIndex tile, RoadBits pieces, RoadType rt, DisallowedRoadDirections toggle_drd, TownID town_id) |
Build a piece of road. More... | |
CommandCost | CmdBuildRoadDepot (DoCommandFlag flags, TileIndex tile, RoadType rt, DiagDirection dir) |
Build a road depot. More... | |
CommandCost | CmdConvertRoad (DoCommandFlag flags, TileIndex tile, TileIndex area_start, RoadType to_type) |
Convert one road subtype to another. More... | |
DEF_CMD_TRAIT (CMD_REMOVE_LONG_ROAD, CmdRemoveLongRoad, CMD_AUTO|CMD_NO_TEST, CMDT_LANDSCAPE_CONSTRUCTION) CommandCallback CcPlaySound_CONSTRUCTION_OTHER | |
void | CcRoadDepot (Commands cmd, const CommandCost &result, TileIndex tile, RoadType rt, DiagDirection dir) |
void | CcRoadStop (Commands cmd, const CommandCost &result, TileIndex tile, uint8_t width, uint8_t length, RoadStopType, bool is_drive_through, DiagDirection dir, RoadType, RoadStopClassID spec_class, uint16_t spec_index, StationID, bool) |
Command callback for building road stops. More... | |
Variables | |
CommandCallback | CcBuildRoadTunnel |
Road related functions.
Definition in file road_cmd.h.
void CcRoadStop | ( | Commands | cmd, |
const CommandCost & | result, | ||
TileIndex | tile, | ||
uint8_t | width, | ||
uint8_t | length, | ||
RoadStopType | , | ||
bool | is_drive_through, | ||
DiagDirection | dir, | ||
RoadType | , | ||
RoadStopClassID | spec_class, | ||
uint16_t | spec_index, | ||
StationID | , | ||
bool | |||
) |
Command callback for building road stops.
result | Result of the build road stop command. |
tile | Start tile. |
width | Width of the road stop. |
length | Length of the road stop. |
is_drive_through | False for normal stops, true for drive-through. |
dir | Entrance direction (DiagDirection) for normal stops. Converted to the axis for drive-through stops. |
spec_class | Road stop spec class. |
spec_index | Road stop spec index. |
Definition at line 194 of file road_gui.cpp.
CommandCost CmdBuildLongRoad | ( | DoCommandFlag | flags, |
TileIndex | end_tile, | ||
TileIndex | start_tile, | ||
RoadType | rt, | ||
Axis | axis, | ||
DisallowedRoadDirections | drd, | ||
bool | start_half, | ||
bool | end_half, | ||
bool | is_ai | ||
) |
Build a long piece of road.
flags | operation to perform |
end_tile | end tile of drag |
start_tile | start tile of drag |
rt | road type |
axis | direction |
drd | set road direction |
start_half | start tile starts in the 2nd half of tile (p2 & 1). Only used if is_ai is set or if we are building a single tile |
end_half | end tile starts in the 2nd half of tile (p2 & 2). Only used if is_ai is set or if we are building a single tile |
is_ai | defines two different behaviors for this command:
|
Definition at line 979 of file road_cmd.cpp.
References CommandCost::AddCost(), AXIS_X, AXIS_Y, AxisToDiagDir(), AxisToRoadBits(), CanConnectToRoad(), CMD_ERROR, DiagDirToRoadBits(), DRD_BOTH, DRD_NORTHBOUND, DRD_SOUTHBOUND, EXPENSES_CONSTRUCTION, CommandCost::Failed(), CommandCost::GetErrorMessage(), GetTunnelBridgeDirection(), IsBridge(), IsTileType(), IsValidAxis(), IsValidDisallowedRoadDirections(), MP_TUNNELBRIDGE, ReverseDiagDir(), Map::Size(), TileOffsByDiagDir(), TileX(), TileY(), and ValParamRoadType().
CommandCost CmdBuildRoad | ( | DoCommandFlag | flags, |
TileIndex | tile, | ||
RoadBits | pieces, | ||
RoadType | rt, | ||
DisallowedRoadDirections | toggle_drd, | ||
TownID | town_id | ||
) |
Build a piece of road.
flags | operation to perform |
tile | tile where to build road |
pieces | road pieces to build (RoadBits) |
rt | road type |
toggle_drd | disallowed directions to toggle |
town_id | the town that is building the road (0 if not applicable) |
Definition at line 610 of file road_cmd.cpp.
References _current_company, CalcClosestTownFromTile(), CMD_ERROR, EXPENSES_CONSTRUCTION, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::IsValidID(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), OWNER_DEITY, OWNER_TOWN, and ROAD_NONE.
CommandCost CmdBuildRoadDepot | ( | DoCommandFlag | flags, |
TileIndex | tile, | ||
RoadType | rt, | ||
DiagDirection | dir | ||
) |
Build a road depot.
tile | tile where to build the depot |
flags | operation to perform |
rt | road type |
dir | entrance direction |
Definition at line 1149 of file road_cmd.cpp.
References _settings_game, CommandCost::AddCost(), ConstructionSettings::build_on_slopes, CanBuildDepotByTileh(), CMD_ERROR, GameSettings::construction, EXPENSES_CONSTRUCTION, GetTileSlope(), IsValidDiagDirection(), return_cmd_error, SLOPE_FLAT, and ValParamRoadType().
CommandCost CmdConvertRoad | ( | DoCommandFlag | flags, |
TileIndex | tile, | ||
TileIndex | area_start, | ||
RoadType | to_type | ||
) |
Convert one road subtype to another.
Not meant to convert from road to tram.
flags | operation to perform |
tile | end tile of road conversion drag |
area_start | start tile of drag |
to_type | new roadtype to convert to. |
Definition at line 2442 of file road_cmd.cpp.
References CMD_ERROR, Map::Size(), and ValParamRoadType().
std::tuple<CommandCost, Money> CmdRemoveLongRoad | ( | DoCommandFlag | flags, |
TileIndex | end_tile, | ||
TileIndex | start_tile, | ||
RoadType | rt, | ||
Axis | axis, | ||
bool | start_half, | ||
bool | end_half | ||
) |
Remove a long piece of road.
flags | operation to perform |
end_tile | end tile of drag |
start_tile | start tile of drag |
rt | road type |
axis | direction |
start_half | start tile starts in the 2nd half of tile |
end_half | end tile starts in the 2nd half of tile (p2 & 2) |
Definition at line 1075 of file road_cmd.cpp.
References AXIS_X, AXIS_Y, AxisToRoadBits(), CMD_ERROR, EXPENSES_CONSTRUCTION, GetAvailableMoneyForCommand(), IsValidAxis(), ROAD_NE, ROAD_NW, ROAD_SE, ROAD_SW, Map::Size(), TileX(), TileY(), and ValParamRoadType().
enum RoadStopClassID uint16_t void DrawRoadDepotSprite | ( | int | x, |
int | y, | ||
DiagDirection | dir, | ||
RoadType | rt | ||
) |
Draw the road depot sprite.
x | The x offset to draw at. |
y | The y offset to draw at. |
dir | The direction the depot must be facing. |
rt | The road type of the depot to draw. |
Definition at line 1875 of file road_cmd.cpp.
void UpdateNearestTownForRoadTiles | ( | bool | invalidate | ) |
Updates cached nearest town for all road tiles.
invalidate | are we just invalidating cached data? |
Definition at line 1918 of file road_cmd.cpp.
References _generating_world, HasTownOwnedRoad(), IsRoadDepot(), IsTileType(), MP_ROAD, and Map::Size().