OpenTTD
|
Functions related to roads. More...
Go to the source code of this file.
Macros | |
#define | FOR_EACH_SET_ROADTYPE(var, road_types) FOR_EACH_SET_BIT_EX(RoadType, var, RoadTypes, road_types) |
Iterate through each set RoadType in a RoadTypes value. More... | |
Functions | |
static bool | IsValidRoadType (RoadType rt) |
Whether the given roadtype is valid. More... | |
static bool | IsValidRoadBits (RoadBits r) |
Whether the given roadtype is valid. More... | |
static RoadTypes | RoadTypeToRoadTypes (RoadType rt) |
Maps a RoadType to the corresponding RoadTypes value. More... | |
static RoadTypes | ComplementRoadTypes (RoadTypes r) |
Returns the RoadTypes which are not present in the given RoadTypes. More... | |
static RoadBits | ComplementRoadBits (RoadBits r) |
Calculate the complement of a RoadBits value. More... | |
static RoadBits | MirrorRoadBits (RoadBits r) |
Calculate the mirrored RoadBits. More... | |
static RoadBits | RotateRoadBits (RoadBits r, DiagDirDiff rot) |
Calculate rotated RoadBits. More... | |
static bool | IsStraightRoad (RoadBits r) |
Check if we've got a straight road. More... | |
static RoadBits | DiagDirToRoadBits (DiagDirection d) |
Create the road-part which belongs to the given DiagDirection. More... | |
static RoadBits | AxisToRoadBits (Axis a) |
Create the road-part which belongs to the given Axis. More... | |
static Money | RoadMaintenanceCost (RoadType roadtype, uint32 num) |
Calculates the maintenance cost of a number of road bits. More... | |
bool | HasRoadTypesAvail (const CompanyID company, const RoadTypes rts) |
Finds out, whether given company has all given RoadTypes available. More... | |
bool | ValParamRoadType (const RoadType rt) |
Validate functions for rail building. More... | |
RoadTypes | GetCompanyRoadtypes (const CompanyID company) |
Get the road types the given company can build. More... | |
void | UpdateLevelCrossing (TileIndex tile, bool sound=true) |
Sets correct crossing state. More... | |
Functions related to roads.
Definition in file road_func.h.
#define FOR_EACH_SET_ROADTYPE | ( | var, | |
road_types | |||
) | FOR_EACH_SET_BIT_EX(RoadType, var, RoadTypes, road_types) |
Iterate through each set RoadType in a RoadTypes value.
For more informations see FOR_EACH_SET_BIT_EX.
var | Loop index variable that stores fallowing set road type. Must be of type RoadType. |
road_types | The value to iterate through (any expression). |
Definition at line 28 of file road_func.h.
Create the road-part which belongs to the given Axis.
This function returns a RoadBits value which belongs to the given Axis.
a | The Axis |
Definition at line 159 of file road_func.h.
Referenced by CmdBuildLongRoad(), CmdRemoveLongRoad(), GetAnyRoadBits(), and RemoveRoad().
Calculate the complement of a RoadBits value.
Simply flips all bits in the RoadBits value to get the complement of the RoadBits.
r | The given RoadBits value |
Definition at line 85 of file road_func.h.
Returns the RoadTypes which are not present in the given RoadTypes.
This function returns the complement of a given RoadTypes.
r | The given RoadTypes |
Definition at line 70 of file road_func.h.
References ROADTYPES_ALL.
|
inlinestatic |
Create the road-part which belongs to the given DiagDirection.
This function returns a RoadBits value which belongs to the given DiagDirection.
d | The DiagDirection |
Definition at line 144 of file road_func.h.
Referenced by CanConnectToRoad(), CanFollowRoad(), CleanUpRoadBits(), CmdBuildLongRoad(), GetAnyRoadBits(), and IsNeighborRoadTile().
Get the road types the given company can build.
company | the company to get the roadtypes for. |
Definition at line 139 of file road.cpp.
References ROADTYPES_NONE.
Finds out, whether given company has all given RoadTypes available.
company | ID of company |
rts | RoadTypes to test |
Definition at line 110 of file road.cpp.
References OWNER_DEITY, and OWNER_TOWN.
Referenced by CmdBuildBridge(), CmdBuildTunnel(), and ValParamRoadType().
|
inlinestatic |
Check if we've got a straight road.
r | The given RoadBits |
Definition at line 129 of file road_func.h.
|
inlinestatic |
Whether the given roadtype is valid.
rt | the roadtype to check for validness |
Definition at line 45 of file road_func.h.
References ROAD_END.
|
inlinestatic |
Whether the given roadtype is valid.
rt | the roadtype to check for validness |
Definition at line 35 of file road_func.h.
References ROADTYPE_ROAD, and ROADTYPE_TRAM.
Referenced by CmdBuildLongRoad(), CmdBuildRoadDepot(), and CmdRemoveLongRoad().
Calculate the mirrored RoadBits.
Simply move the bits to their new position.
r | The given RoadBits value |
Definition at line 99 of file road_func.h.
Referenced by CleanUpRoadBits().
Calculates the maintenance cost of a number of road bits.
roadtype | Road type to get the cost for. |
num | Number of road bits. |
Definition at line 172 of file road_func.h.
Referenced by CompanyInfrastructureWindow::GetTotalMaintenanceCost().
Maps a RoadType to the corresponding RoadTypes value.
rt | the roadtype to get the roadtypes from |
Definition at line 56 of file road_func.h.
Referenced by MakeRoadDepot(), BuildRoadToolbarWindow::OnPlacePresize(), RemoveRoad(), and ValParamRoadType().
|
inlinestatic |
Calculate rotated RoadBits.
Move the Roadbits clockwise until they are in their final position.
r | The given RoadBits value |
rot | The given Rotation angle |
Definition at line 114 of file road_func.h.
void UpdateLevelCrossing | ( | TileIndex | tile, |
bool | sound | ||
) |
Sets correct crossing state.
tile | tile to update |
sound | should we play sound? |
Definition at line 1699 of file train_cmd.cpp.
Referenced by Train::Crash().
bool ValParamRoadType | ( | const RoadType | rt | ) |
Validate functions for rail building.
rt | road type to check. |
Definition at line 129 of file road.cpp.
References _current_company, HasRoadTypesAvail(), and RoadTypeToRoadTypes().
Referenced by CmdBuildLongRoad(), and CmdBuildRoadDepot().