Functions

bridge_map.h File Reference

Map accessor functions for bridges. More...

#include "road_map.h"
#include "bridge.h"

Go to the source code of this file.

Functions

static bool IsBridge (TileIndex t)
 Checks if this is a bridge, instead of a tunnel.
static bool IsBridgeTile (TileIndex t)
 checks if there is a bridge on this tile
static bool MayHaveBridgeAbove (TileIndex t)
 checks for the possibility that a bridge may be on this tile These are in fact all the tile types on which a bridge can be found
static bool IsBridgeAbove (TileIndex t)
 checks if a bridge is set above the ground of this tile
static BridgeType GetBridgeType (TileIndex t)
 Determines the type of bridge on a tile.
static Axis GetBridgeAxis (TileIndex t)
 Get the axis of the bridge that goes over the tile.
TileIndex GetNorthernBridgeEnd (TileIndex t)
 Finds the northern end of a bridge starting at a middle tile.
TileIndex GetSouthernBridgeEnd (TileIndex t)
 Finds the southern end of a bridge starting at a middle tile.
TileIndex GetOtherBridgeEnd (TileIndex t)
 Starting at one bridge end finds the other bridge end.
int GetBridgeHeight (TileIndex tile)
 Get the height ('z') of a bridge.
static int GetBridgePixelHeight (TileIndex tile)
 Get the height ('z') of a bridge in pixels.
static void ClearSingleBridgeMiddle (TileIndex t, Axis a)
 Remove the bridge over the given axis.
static void ClearBridgeMiddle (TileIndex t)
 Removes bridges from the given, that is bridges along the X and Y axis.
static void SetBridgeMiddle (TileIndex t, Axis a)
 Set that there is a bridge over the given axis.
static void MakeBridgeRamp (TileIndex t, Owner o, BridgeType bridgetype, DiagDirection d, TransportType tt, uint rt)
 Generic part to make a bridge ramp for both roads and rails.
static void MakeRoadBridgeRamp (TileIndex t, Owner o, BridgeType bridgetype, DiagDirection d, RoadTypes r)
 Make a bridge ramp for roads.
static void MakeRailBridgeRamp (TileIndex t, Owner o, BridgeType bridgetype, DiagDirection d, RailType r)
 Make a bridge ramp for rails.
static void MakeAqueductBridgeRamp (TileIndex t, Owner o, DiagDirection d)
 Make a bridge ramp for aqueducts.

Detailed Description

Map accessor functions for bridges.

Definition in file bridge_map.h.


Function Documentation

static void ClearBridgeMiddle ( TileIndex  t  )  [inline, static]

Removes bridges from the given, that is bridges along the X and Y axis.

Parameters:
t the tile to remove the bridge from
Precondition:
MayHaveBridgeAbove(t)

Definition at line 120 of file bridge_map.h.

References AXIS_X, AXIS_Y, and ClearSingleBridgeMiddle().

Referenced by AfterLoadGame(), and DoClearBridge().

static void ClearSingleBridgeMiddle ( TileIndex  t,
Axis  a 
) [inline, static]

Remove the bridge over the given axis.

Parameters:
t the tile to remove the bridge from
a the axis of the bridge to remove
Precondition:
MayHaveBridgeAbove(t)

Definition at line 109 of file bridge_map.h.

References _m, ClrBit(), and MayHaveBridgeAbove().

Referenced by ClearBridgeMiddle().

static Axis GetBridgeAxis ( TileIndex  t  )  [inline, static]

Get the axis of the bridge that goes over the tile.

Not the axis or the ramp.

Parameters:
t The tile to analyze
Precondition:
IsBridgeAbove(t)
Returns:
the above mentioned axis

Definition at line 82 of file bridge_map.h.

References _m, GB(), and IsBridgeAbove().

Referenced by CmdBuildBridge(), DrawBridgeMiddle(), DrawCatenaryOnBridge(), DrawCatenaryRailway(), GetNorthernBridgeEnd(), GetSouthernBridgeEnd(), and IsRoadAllowedHere().

int GetBridgeHeight ( TileIndex  t  ) 

Get the height ('z') of a bridge.

Parameters:
tile the bridge ramp tile to get the bridge height from
Returns:
the height of the bridge.

Definition at line 70 of file bridge_map.cpp.

References ApplyFoundationToSlope(), DiagDirToAxis(), GetBridgeFoundation(), GetTileSlope(), and GetTunnelBridgeDirection().

Referenced by CmdBuildBridge(), CmdBuildObject(), CmdTerraformLand(), DoClearBridge(), DrawCatenaryRailway(), DrawRoadBits(), DrawTramCatenary(), GetBridgePixelHeight(), and GetTerrainType().

static int GetBridgePixelHeight ( TileIndex  tile  )  [inline, static]

Get the height ('z') of a bridge in pixels.

Parameters:
tile the bridge ramp tile to get the bridge height from
Returns:
the height of the bridge in pixels

Definition at line 98 of file bridge_map.h.

References GetBridgeHeight(), and TILE_HEIGHT.

Referenced by DrawBridgeMiddle(), DrawCatenaryOnBridge(), and FloodVehicles().

static BridgeType GetBridgeType ( TileIndex  t  )  [inline, static]

Determines the type of bridge on a tile.

Parameters:
t The tile to analyze
Precondition:
IsBridgeTile(t)
Returns:
The bridge type

Definition at line 70 of file bridge_map.h.

References _m, GB(), and IsBridgeTile().

Referenced by CmdBuildBridge(), DrawBridgeMiddle(), DrawTile_TunnelBridge(), and TrainController().

TileIndex GetNorthernBridgeEnd ( TileIndex  t  ) 

Finds the northern end of a bridge starting at a middle tile.

Parameters:
t the bridge tile to find the bridge ramp for

Definition at line 39 of file bridge_map.cpp.

References AxisToDiagDir(), GetBridgeAxis(), GetBridgeEnd(), and ReverseDiagDir().

Referenced by AfterLoadGame(), CmdBuildBridge(), DrawBridgeMiddle(), DrawCatenaryRailway(), DrawRoadBits(), and DrawTramCatenary().

TileIndex GetOtherBridgeEnd ( TileIndex  tile  ) 

Starting at one bridge end finds the other bridge end.

Parameters:
t the bridge ramp tile to find the other bridge ramp for

Definition at line 59 of file bridge_map.cpp.

References GetBridgeEnd(), GetTunnelBridgeDirection(), and IsBridgeTile().

Referenced by CmdBuildBridge(), DoClearBridge(), DrawCatenaryOnBridge(), FloodVehicles(), GetOtherTunnelBridgeEnd(), and GetRailTrackBitsUniversal().

TileIndex GetSouthernBridgeEnd ( TileIndex  t  ) 

Finds the southern end of a bridge starting at a middle tile.

Parameters:
t the bridge tile to find the bridge ramp for

Definition at line 49 of file bridge_map.cpp.

References AxisToDiagDir(), GetBridgeAxis(), and GetBridgeEnd().

Referenced by CmdBuildObject(), CmdTerraformLand(), DrawBridgeMiddle(), and DrawCatenaryOnBridge().

static bool IsBridge ( TileIndex  t  )  [inline, static]

Checks if this is a bridge, instead of a tunnel.

Parameters:
t The tile to analyze
Precondition:
IsTileType(t, MP_TUNNELBRIDGE)
Returns:
true if the structure is a bridge one

Definition at line 24 of file bridge_map.h.

References _m, HasBit(), IsTileType(), and MP_TUNNELBRIDGE.

Referenced by AfterLoadGame(), CmdBuildLongRoad(), CmdBuildRoad(), CmdConvertRail(), IsBridgeTile(), and RemoveRoad().

static bool IsBridgeAbove ( TileIndex  t  )  [inline, static]
static bool IsBridgeTile ( TileIndex  t  )  [inline, static]

checks if there is a bridge on this tile

Parameters:
t The tile to analyze
Returns:
true if a bridge is present

Definition at line 35 of file bridge_map.h.

References IsBridge(), IsTileType(), and MP_TUNNELBRIDGE.

Referenced by AfterLoadGame(), CmdBuildBridge(), DrawCatenaryRailway(), FloodVehicles(), GetBridgeEnd(), GetBridgeType(), GetOtherBridgeEnd(), PlaceRail_Bridge(), PlaceRoad_Bridge(), ShowBuildBridgeWindow(), CYapfCostBase::stSlopeCost(), and UpdateStatusAfterSwap().

static void MakeAqueductBridgeRamp ( TileIndex  t,
Owner  o,
DiagDirection  d 
) [inline, static]

Make a bridge ramp for aqueducts.

Parameters:
t the tile to make a bridge ramp
o the new owner of the bridge ramp
d the direction this ramp must be facing

Definition at line 195 of file bridge_map.h.

References MakeBridgeRamp(), and TRANSPORT_WATER.

Referenced by CmdBuildBridge().

static void MakeBridgeRamp ( TileIndex  t,
Owner  o,
BridgeType  bridgetype,
DiagDirection  d,
TransportType  tt,
uint  rt 
) [inline, static]

Generic part to make a bridge ramp for both roads and rails.

Parameters:
t the tile to make a bridge ramp
o the new owner of the bridge ramp
bridgetype the type of bridge this bridge ramp belongs to
d the direction this ramp must be facing
tt the transport type of the bridge
rt the road or rail type
Note:
this function should not be called directly.

Definition at line 148 of file bridge_map.h.

References _m, _me, Tile::m2, Tile::m3, Tile::m4, Tile::m5, TileExtended::m7, MP_TUNNELBRIDGE, SB(), SetTileOwner(), and SetTileType().

Referenced by MakeAqueductBridgeRamp(), MakeRailBridgeRamp(), and MakeRoadBridgeRamp().

static void MakeRailBridgeRamp ( TileIndex  t,
Owner  o,
BridgeType  bridgetype,
DiagDirection  d,
RailType  r 
) [inline, static]

Make a bridge ramp for rails.

Parameters:
t the tile to make a bridge ramp
o the new owner of the bridge ramp
bridgetype the type of bridge this bridge ramp belongs to
d the direction this ramp must be facing
r the rail type of the bridge

Definition at line 184 of file bridge_map.h.

References MakeBridgeRamp(), and TRANSPORT_RAIL.

Referenced by CmdBuildBridge().

static void MakeRoadBridgeRamp ( TileIndex  t,
Owner  o,
BridgeType  bridgetype,
DiagDirection  d,
RoadTypes  r 
) [inline, static]

Make a bridge ramp for roads.

Parameters:
t the tile to make a bridge ramp
o the new owner of the bridge ramp
bridgetype the type of bridge this bridge ramp belongs to
d the direction this ramp must be facing
r the road type of the bridge

Definition at line 168 of file bridge_map.h.

References MakeBridgeRamp(), OWNER_TOWN, ROADTYPE_ROAD, ROADTYPE_TRAM, SetRoadOwner(), SetRoadTypes(), and TRANSPORT_ROAD.

Referenced by CmdBuildBridge().

static bool MayHaveBridgeAbove ( TileIndex  t  )  [inline, static]
static void SetBridgeMiddle ( TileIndex  t,
Axis  a 
) [inline, static]

Set that there is a bridge over the given axis.

Parameters:
t the tile to add the bridge to
a the axis of the bridge to add
Precondition:
MayHaveBridgeAbove(t)

Definition at line 132 of file bridge_map.h.

References _m, MayHaveBridgeAbove(), and SetBit().

Referenced by AfterLoadGame(), and CmdBuildBridge().