|
OpenTTD Source
14.0-beta1
|
#include "road_type.h"#include "gfx_type.h"#include "core/bitmath_func.hpp"#include "strings_type.h"#include "timer/timer_game_calendar.h"#include "core/enum_type.hpp"#include "newgrf.h"#include "economy_func.h"Go to the source code of this file.
Data Structures | |
| class | RoadTypeInfo |
Typedefs | |
| typedef std::vector< RoadTypeLabel > | RoadTypeLabelList |
| List of road type labels. | |
Enumerations | |
| enum | RoadTramType : bool { RTT_ROAD, RTT_TRAM } |
| enum | RoadTramTypes : uint8_t { RTTB_ROAD = 1 << RTT_ROAD, RTTB_TRAM = 1 << RTT_TRAM } |
| enum | RoadTypeFlag { ROTF_CATENARY = 0, ROTF_NO_LEVEL_CROSSING, ROTF_NO_HOUSES, ROTF_HIDDEN, ROTF_TOWN_BUILD } |
| Roadtype flag bit numbers. More... | |
| enum | RoadTypeFlags : uint8_t { ROTFB_NONE = 0, ROTFB_CATENARY = 1 << ROTF_CATENARY, ROTFB_NO_LEVEL_CROSSING = 1 << ROTF_NO_LEVEL_CROSSING, ROTFB_NO_HOUSES = 1 << ROTF_NO_HOUSES, ROTFB_HIDDEN = 1 << ROTF_HIDDEN, ROTFB_TOWN_BUILD = 1 << ROTF_TOWN_BUILD } |
| Roadtype flags. More... | |
| enum | RoadTypeSpriteGroup { ROTSG_CURSORS, ROTSG_OVERLAY, ROTSG_GROUND, ROTSG_TUNNEL, ROTSG_CATENARY_FRONT, ROTSG_CATENARY_BACK, ROTSG_BRIDGE, ROTSG_reserved2, ROTSG_DEPOT, ROTSG_reserved3, ROTSG_ROADSTOP, ROTSG_ONEWAY, ROTSG_END } |
| Sprite groups for a roadtype. More... | |
Functions | |
| bool | RoadTypeIsRoad (RoadType roadtype) |
| bool | RoadTypeIsTram (RoadType roadtype) |
| RoadTramType | GetRoadTramType (RoadType roadtype) |
| RoadTramType | OtherRoadTramType (RoadTramType rtt) |
| const RoadTypeInfo * | GetRoadTypeInfo (RoadType roadtype) |
| Returns a pointer to the Roadtype information for a given roadtype. More... | |
| bool | HasPowerOnRoad (RoadType enginetype, RoadType tiletype) |
| Checks if an engine of the given RoadType got power on a tile with a given RoadType. More... | |
| Money | RoadBuildCost (RoadType roadtype) |
| Returns the cost of building the specified roadtype. More... | |
| Money | RoadClearCost (RoadType roadtype) |
| Returns the cost of clearing the specified roadtype. More... | |
| Money | RoadConvertCost (RoadType from, RoadType to) |
| Calculates the cost of road conversion. More... | |
| bool | RoadNoLevelCrossing (RoadType roadtype) |
| Test if road disallows level crossings. More... | |
| RoadType | GetRoadTypeByLabel (RoadTypeLabel label, bool allow_alternate_labels=true) |
| Get the road type for a given label. More... | |
| void | ResetRoadTypes () |
| Reset all road type information to its default values. | |
| void | InitRoadTypes () |
| Resolve sprites of custom road types. | |
| RoadType | AllocateRoadType (RoadTypeLabel label, RoadTramType rtt) |
| Allocate a new road type label. | |
| bool | HasAnyRoadTypesAvail (CompanyID company, RoadTramType rtt) |
| Test if any buildable RoadType is available for a company. More... | |
Variables | |
| static const RoadTramType | _roadtramtypes [] = { RTT_ROAD, RTT_TRAM } |
| RoadTypes | _roadtypes_type |
| Bitmap of road/tram types. More... | |
| std::vector< RoadType > | _sorted_roadtypes |
| RoadTypes | _roadtypes_hidden_mask |
Road specific functions.
Definition in file road.h.
| enum RoadTypeFlag |
Roadtype flag bit numbers.
Starts with RO instead of R because R is used for rails
| enum RoadTypeFlags : uint8_t |
Roadtype flags.
Starts with RO instead of R because R is used for rails
| enum RoadTypeSpriteGroup |
Sprite groups for a roadtype.
| Enumerator | |
|---|---|
| ROTSG_CURSORS | Optional: Cursor and toolbar icon images. |
| ROTSG_OVERLAY | Optional: Images for overlaying track. |
| ROTSG_GROUND | Required: Main group of ground images. |
| ROTSG_TUNNEL | Optional: Ground images for tunnels. |
| ROTSG_CATENARY_FRONT | Optional: Catenary front. |
| ROTSG_CATENARY_BACK | Optional: Catenary back. |
| ROTSG_BRIDGE | Required: Bridge surface images. |
| ROTSG_reserved2 | Placeholder, if we need specific level crossing sprites. |
| ROTSG_DEPOT | Optional: Depot images. |
| ROTSG_reserved3 | Placeholder, if we add road fences (for highways). |
| ROTSG_ROADSTOP | Required: Bay stop surface. |
| ROTSG_ONEWAY | Optional: One-way indicator images. |
| RoadType GetRoadTypeByLabel | ( | RoadTypeLabel | label, |
| bool | allow_alternate_labels | ||
| ) |
Get the road type for a given label.
| label | the roadtype label. |
| allow_alternate_labels | Search in the alternate label lists as well. |
Definition at line 254 of file road.cpp.
References RoadTypeInfo::alternate_labels, GetRoadTypeInfo(), INVALID_ROADTYPE, RoadTypeInfo::label, ROADTYPE_BEGIN, and ROADTYPE_END.
Referenced by RoadTypeResolverObject::GetFeature().
|
inline |
Returns a pointer to the Roadtype information for a given roadtype.
| roadtype | the road type which the information is requested for |
Definition at line 227 of file road.h.
Referenced by AddDateIntroducedRoadTypes(), CheckAutoreplaceValidity(), CmdBuildRoadVehicle(), GetCompanyRoadTypes(), GetRoadTypeByLabel(), GetRoadTypes(), HasPowerOnRoad(), HasRoadCatenary(), IsEngineBuildable(), NewVehicleAvailable(), and RoadNoLevelCrossing().
| bool HasAnyRoadTypesAvail | ( | CompanyID | company, |
| RoadTramType | rtt | ||
| ) |
Test if any buildable RoadType is available for a company.
| company | the company in question |
Definition at line 143 of file road.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get().
Referenced by CanBuildVehicleInfrastructure().
Checks if an engine of the given RoadType got power on a tile with a given RoadType.
This would normally just be an equality check, but for electrified roads (which also support non-electric vehicles).
| enginetype | The RoadType of the engine we are considering. |
| tiletype | The RoadType of the tile we are considering. |
Definition at line 242 of file road.h.
References GetRoadTypeInfo(), and HasBit().
Returns the cost of building the specified roadtype.
| roadtype | The roadtype being built. |
Definition at line 252 of file road.h.
References ROADTYPE_END.
Referenced by RoadConvertCost().
Returns the cost of clearing the specified roadtype.
| roadtype | The roadtype being removed. |
Definition at line 263 of file road.h.
References ROADTYPE_END.
Referenced by RoadConvertCost().
Calculates the cost of road conversion.
| from | The roadtype we are converting from |
| to | The roadtype we are converting to |
Definition at line 281 of file road.h.
References RoadBuildCost(), and RoadClearCost().
|
inline |
Test if road disallows level crossings.
| roadtype | The roadtype we are testing |
Definition at line 295 of file road.h.
References GetRoadTypeInfo(), HasBit(), ROADTYPE_END, and ROTF_NO_LEVEL_CROSSING.
| RoadTypes _roadtypes_type |
Bitmap of road/tram types.
Bit if set if a roadtype is tram.
Definition at line 62 of file road_cmd.cpp.
Referenced by ScenarioEditorToolbarWindow::OnPaint().