OpenTTD: src/road_internal.h File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Functions
road_internal.h File Reference

Functions used internally by the roads. More...

`#include "tile_cmd.h"`
`#include "road_type.h"`

Go to the source code of this file.

## Functions
RoadBits | CleanUpRoadBits (const TileIndex tile, RoadBits org_rb)
| Clean up unnecessary RoadBits of a planed tile.
CommandCost | CheckAllowRemoveRoad (TileIndex tile, RoadBits remove, Owner owner, RoadType rt, DoCommandFlag flags, bool town_check=true)
| Is it allowed to remove the given road bits from the given tile?
void | DrawTramCatenary (const TileInfo *ti, RoadBits tram)
| Draws the catenary for the given tile.

## Detailed Description

Functions used internally by the roads.

Definition in file road_internal.h.

## Function Documentation

CommandCost CheckAllowRemoveRoad | ( | TileIndex | tile,
|  | RoadBits | remove,
|  | Owner | owner,
|  | RoadType | rt,
|  | DoCommandFlag | flags,
|  | bool | town_check
| ) |  |

Is it allowed to remove the given road bits from the given tile?

Parameters

  tile | the tile to remove the road from
  remove | the roadbits that are going to be removed
  owner | the actual owner of the roadbits of the tile
  rt | the road type to remove the bits from
  flags | command flags
  town_check | Shall the town rating checked/affected

Returns
  A succeeded command when it is allowed to remove the road bits, a failed command otherwise.

Definition at line 116 of file road_cmd.cpp.

References _cheats, _current_company, _settings_game, ChangeTownRating(), CheckforTownRating(), CheckOwnership(), ClosestTownFromTile(), GameSettings::construction, ConstructionSettings::extra_dynamite, CommandCost::Failed(), GetAnyRoadBits(), 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<&_company_pool >::IsValidID(), KillFirstBit(), Cheats::magic_bulldozer, OWNER_NONE, OWNER_TOWN, OWNER_WATER, RATING_ROAD_DOWN_STEP_EDGE, RATING_ROAD_DOWN_STEP_INNER, RATING_ROAD_MINIMUM, return_cmd_error, ROAD_NE, ROAD_NONE, ROAD_NW, ROAD_REMOVE, ROAD_SE, ROAD_SW, ROADTYPE_ROAD, SetDParam(), TILE_ADDXY, and Cheat::value.

Referenced by CanRemoveRoadWithStop(), and RemoveRoad().

RoadBits CleanUpRoadBits | ( | const TileIndex | tile,
|  | RoadBits | org_rb
| ) |  |

Clean up unnecessary RoadBits of a planed tile.

Parameters

  tile | current tile
  org_rb | planed RoadBits

Returns
  optimised RoadBits

Definition at line 46 of file road.cpp.

References DIAGDIR_BEGIN, DIAGDIR_END, DiagDirToAxis(), DiagDirToRoadBits(), GetAnyRoadBits(), GetTileType(), HasExactlyOneBit(), IsPossibleCrossing(), IsValidTile(), IsWater(), MirrorRoadBits(), MP_CLEAR, MP_RAILWAY, MP_ROAD, MP_STATION, MP_TREES, MP_TUNNELBRIDGE, MP_WATER, ROAD_NONE, ROADTYPE_ROAD, ROADTYPE_TRAM, and TileAddByDiagDir().

Referenced by GrowTownInTile().

void DrawTramCatenary | ( | const TileInfo * | ti,
|  | RoadBits | tram
| ) |  |

Draws the catenary for the given tile.

Parameters

  ti | information about the tile (slopes, height etc)
  tram | the roadbits for the tram

Definition at line 1182 of file road_cmd.cpp.

References AddSortableSpriteToDraw(), BB_HEIGHT_UNDER_BRIDGE, GetBridgeHeight(), GetNorthernBridgeEnd(), GetTileMaxZ(), IsBridgeAbove(), IsInvisibilitySet(), IsTransparencySet(), SLOPE_FLAT, SPR_TRAMWAY_BASE, TileInfo::tile, TILE_HEIGHT, TileInfo::tileh, TO_CATENARY, TileInfo::x, TileInfo::y, and TileInfo::z.

Referenced by DrawRoadBits(), and DrawTile_Road().