OpenTTD Source
20241108-master-g80f628063a
|
Header file for bridges. More...
Go to the source code of this file.
Data Structures | |
struct | BridgeSpec |
Struct containing information about a single bridge type. More... | |
Typedefs | |
typedef uint | BridgeType |
Bridge spec number. | |
Enumerations | |
enum | BridgePieces { BRIDGE_PIECE_NORTH = 0 , BRIDGE_PIECE_SOUTH , BRIDGE_PIECE_INNER_NORTH , BRIDGE_PIECE_INNER_SOUTH , BRIDGE_PIECE_MIDDLE_ODD , BRIDGE_PIECE_MIDDLE_EVEN , BRIDGE_PIECE_HEAD , BRIDGE_PIECE_INVALID } |
This enum is related to the definition of bridge pieces, which is used to determine the proper sprite table to use while drawing a given bridge part. | |
Functions | |
Foundation | GetBridgeFoundation (Slope tileh, Axis axis) |
Get the foundation for a bridge. More... | |
bool | HasBridgeFlatRamp (Slope tileh, Axis axis) |
Determines if the track on a bridge ramp is flat or goes up/down. More... | |
const BridgeSpec * | GetBridgeSpec (BridgeType i) |
Get the specification of a bridge type. More... | |
void | DrawBridgeMiddle (const TileInfo *ti) |
Draw the middle bits of a bridge. More... | |
CommandCost | CheckBridgeAvailability (BridgeType bridge_type, uint bridge_len, DoCommandFlag flags=DC_NONE) |
Is a bridge of the specified type and length available? More... | |
int | CalcBridgeLenCostFactor (int x) |
Calculate the price factor for building a long bridge. More... | |
void | ResetBridges () |
Reset the data been eventually changed by the grf loaded. | |
Variables | |
static const uint | MAX_BRIDGES = 13 |
Maximal number of available bridge specs. | |
BridgeSpec | _bridge [MAX_BRIDGES] |
The specification of all bridges. | |
Header file for bridges.
Definition in file bridge.h.
int CalcBridgeLenCostFactor | ( | int | length | ) |
Calculate the price factor for building a long bridge.
Basically the cost delta is 1,1, 1, 2,2, 3,3,3, 4,4,4,4, 5,5,5,5,5, 6,6,6,6,6,6, 7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,
length | Length of the bridge. |
Definition at line 108 of file tunnelbridge_cmd.cpp.
Referenced by ShowBuildBridgeWindow().
CommandCost CheckBridgeAvailability | ( | BridgeType | bridge_type, |
uint | bridge_len, | ||
DoCommandFlag | flags | ||
) |
Is a bridge of the specified type and length available?
bridge_type | Wanted type of bridge. |
bridge_len | Wanted length of the bridge. |
flags | Type of operation. |
Definition at line 200 of file tunnelbridge_cmd.cpp.
References _settings_game, BridgeSpec::avail_year, CMD_ERROR, GameSettings::construction, DC_QUERY_COST, GetBridgeSpec(), ConstructionSettings::max_bridge_length, MAX_BRIDGES, BridgeSpec::max_length, BridgeSpec::min_length, return_cmd_error, and TimerGameCalendar::year.
Referenced by ShowBuildBridgeWindow().
void DrawBridgeMiddle | ( | const TileInfo * | ti | ) |
Draw the middle bits of a bridge.
ti | Tile information of the tile to draw it on. |
Definition at line 1542 of file tunnelbridge_cmd.cpp.
References RailTypeInfo::bridge_offset, CalcBridgePiece(), GetBridgeAxis(), GetBridgeSpec(), GetBridgeType(), GetNorthernBridgeEnd(), GetRailType(), GetRailTypeInfo(), GetSouthernBridgeEnd(), GetTunnelBridgeLength(), GetTunnelBridgeTransportType(), HasBit(), IsBridgeAbove(), TileInfo::tile, TRANSPORT_RAIL, and TRANSPORT_WATER.
Foundation GetBridgeFoundation | ( | Slope | tileh, |
Axis | axis | ||
) |
Get the foundation for a bridge.
tileh | The slope to build the bridge on. |
axis | The axis of the bridge entrance. |
Definition at line 129 of file tunnelbridge_cmd.cpp.
References AXIS_X, AXIS_Y, FlatteningFoundation(), FOUNDATION_NONE, HasSlopeHighestCorner(), InclinedFoundation(), SLOPE_FLAT, SLOPE_NE, SLOPE_NW, SLOPE_SE, and SLOPE_SW.
Referenced by GetBridgeHeight(), and HasBridgeFlatRamp().
|
inline |
Get the specification of a bridge type.
i | The type of bridge to get the specification for. |
Definition at line 66 of file bridge.h.
References _bridge, and lengthof.
Referenced by CheckBridgeAvailability(), DrawBridgeMiddle(), and CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::GetSpeedLimit().
Determines if the track on a bridge ramp is flat or goes up/down.
tileh | Slope of the tile under the bridge head |
axis | Orientation of bridge |
Definition at line 145 of file tunnelbridge_cmd.cpp.
References ApplyFoundationToSlope(), GetBridgeFoundation(), and SLOPE_FLAT.
Referenced by CYapfCostBase::stSlopeCost().