|
OpenTTD Source 20260208-master-g43af8e94d0
|
Class defining several overloaded accessors so we don't have to cast base stations that often. More...
#include <base_station_base.h>
Public Member Functions | |
| SpecializedStation (StationID index, TileIndex tile) | |
| Set station type correctly. | |
| Public Member Functions inherited from BaseStation | |
| BaseStation (StationID index, TileIndex tile) | |
| Initialize the base station. | |
| virtual bool | TileBelongsToRailStation (TileIndex tile) const =0 |
| Check whether a specific tile belongs to this station. | |
| virtual uint32_t | GetNewGRFVariable (const struct ResolverObject &object, uint8_t variable, uint8_t parameter, bool &available) const =0 |
| Helper function to get a NewGRF variable that isn't implemented by the base class. | |
| virtual void | UpdateVirtCoord ()=0 |
| Update the coordinated of the sign (as shown in the viewport). | |
| const std::string & | GetCachedName () const |
| virtual void | MoveSign (TileIndex new_xy) |
| Move this station's main coordinate somewhere else. | |
| virtual TileArea | GetTileArea (StationType type) const =0 |
| Get the tile area for a given station type. | |
| virtual uint | GetPlatformLength (TileIndex tile) const =0 |
| Obtain the length of a platform. | |
| virtual uint | GetPlatformLength (TileIndex tile, DiagDirection dir) const =0 |
| Determines the REMAINING length of a platform, starting at (and including) the given tile. | |
| bool | IsInUse () const |
| Check whether the base station currently is in use; in use means that it is not scheduled for deletion and that it still has some facilities left. | |
| uint8_t | GetRoadStopRandomBits (TileIndex tile) const |
| uint8_t | GetRoadStopAnimationFrame (TileIndex tile) const |
| void | SetRoadStopRandomBits (TileIndex tile, uint8_t random_bits) |
| bool | SetRoadStopAnimationFrame (TileIndex tile, uint8_t frame) |
| void | RemoveRoadStopTileData (TileIndex tile) |
Static Public Member Functions | |
| static bool | IsExpected (const BaseStation *st) |
| Helper for checking whether the given station is of this type. | |
| static bool | IsValidID (auto index) |
| Tests whether given index is a valid index for station of this type. | |
| static T * | Get (auto index) |
| Gets station with given index. | |
| static T * | GetIfValid (auto index) |
| Returns station if the index is a valid index for this station type. | |
| static T * | GetByTile (TileIndex tile) |
| Get the station belonging to a specific tile. | |
| template<typename... Targs> | |
| static T * | Create (Targs &&... args) |
| Creates a new T-object in the station pool. | |
| template<typename... Targs> | |
| static T * | CreateAtIndex (StationID index, Targs &&... args) |
| Creates a new T-object in the station pool. | |
| static T * | From (BaseStation *st) |
| Converts a BaseStation to SpecializedStation with type checking. | |
| static const T * | From (const BaseStation *st) |
| Converts a const BaseStation to const SpecializedStation with type checking. | |
| static Pool::IterateWrapper< T > | Iterate (size_t from=0) |
| Returns an iterable ensemble of all valid stations of type T. | |
| Static Public Member Functions inherited from BaseStation | |
| static BaseStation * | GetByTile (TileIndex tile) |
| Get the base station belonging to a specific tile. | |
| static void | PostDestructor (size_t index) |
| Invalidating of the JoinStation window has to be done after removing item from the pool. | |
Static Public Attributes | |
| static constexpr StationFacilities | EXPECTED_FACIL = Tis_waypoint ? StationFacility::Waypoint : StationFacilities{} |
| Specialized type. | |
Additional Inherited Members | |
| Data Fields inherited from BaseStation | |
| TileIndex | xy = INVALID_TILE |
| Base tile of the station. | |
| TrackedViewportSign | sign {} |
| NOSAVE: Dimensions of sign. | |
| uint8_t | delete_ctr = 0 |
| Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. | |
| std::string | name {} |
| Custom name. | |
| StringID | string_id = INVALID_STRING_ID |
| Default name (town area) of station. | |
| std::string | cached_name |
| NOSAVE: Cache of the resolved name of the station, if not using a custom name. | |
| Town * | town = nullptr |
| The town this station is associated with. | |
| Owner | owner = INVALID_OWNER |
| The owner of this station. | |
| StationFacilities | facilities {} |
| The facilities that this station has. | |
| std::vector< SpecMapping< StationSpec > > | speclist {} |
| List of rail station specs of this station. | |
| std::vector< SpecMapping< RoadStopSpec > > | roadstop_speclist {} |
| List of road stop specs of this station. | |
| TimerGameCalendar::Date | build_date {} |
| Date of construction. | |
| uint16_t | random_bits = 0 |
| Random bits assigned to this station. | |
| std::unordered_map< TileIndex, StationRandomTriggers > | tile_waiting_random_triggers |
| StationRandomTriggers | waiting_random_triggers |
| Waiting triggers (NewGRF), shared by all station parts/tiles, road stops, ... essentially useless and broken by design. | |
| StationAnimationTriggers | cached_anim_triggers |
| NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen. | |
| StationAnimationTriggers | cached_roadstop_anim_triggers |
| NOSAVE: Combined animation trigger bitmask for road stops, used to determine if trigger processing should happen. | |
| CargoTypes | cached_cargo_triggers {} |
| NOSAVE: Combined cargo trigger bitmask. | |
| CargoTypes | cached_roadstop_cargo_triggers {} |
| NOSAVE: Combined cargo trigger bitmask for road stops. | |
| TileArea | train_station {INVALID_TILE, 0, 0} |
| Tile area the train 'station' part covers. | |
| StationRect | rect {} |
| NOSAVE: Station spread out rectangle maintained by StationRect::xxx() functions. | |
| std::vector< RoadStopTileData > | custom_roadstop_tile_data {} |
| List of custom road stop tile data. | |
Class defining several overloaded accessors so we don't have to cast base stations that often.
Definition at line 217 of file base_station_base.h.
|
inline |
Set station type correctly.
| index | The index within the station pool. |
| tile | The base tile of the station. |
Definition at line 225 of file base_station_base.h.
References BaseStation::BaseStation(), and EXPECTED_FACIL.
|
inlinestatic |
Creates a new T-object in the station pool.
| args | The arguments to the constructor. |
Definition at line 285 of file base_station_base.h.
|
inlinestatic |
Creates a new T-object in the station pool.
| index | The index allocate the object at. |
| args | The arguments to the constructor. |
Definition at line 297 of file base_station_base.h.
|
inlinestatic |
Converts a BaseStation to SpecializedStation with type checking.
| st | BaseStation pointer |
Definition at line 307 of file base_station_base.h.
References BaseStation::BaseStation(), and IsExpected().
|
inlinestatic |
Converts a const BaseStation to const SpecializedStation with type checking.
| st | BaseStation pointer |
Definition at line 318 of file base_station_base.h.
References BaseStation::BaseStation(), and IsExpected().
|
inlinestatic |
Gets station with given index.
Definition at line 255 of file base_station_base.h.
Referenced by GetIfValid().
|
inlinestatic |
Get the station belonging to a specific tile.
| tile | The tile to get the station from. |
Definition at line 274 of file base_station_base.h.
References GetIfValid(), and GetStationIndex().
|
inlinestatic |
Returns station if the index is a valid index for this station type.
Definition at line 264 of file base_station_base.h.
References Get(), and IsValidID().
Referenced by GetByTile().
|
inlinestatic |
Helper for checking whether the given station is of this type.
| st | the station to check. |
Definition at line 236 of file base_station_base.h.
References BaseStation::BaseStation(), BaseStation::facilities, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and Waypoint.
Referenced by From(), From(), and IsValidID().
|
inlinestatic |
Tests whether given index is a valid index for station of this type.
| index | tested index |
Definition at line 246 of file base_station_base.h.
References IsExpected().
Referenced by GetIfValid().
|
inlinestatic |
Returns an iterable ensemble of all valid stations of type T.
| from | index of the first station to consider |
Definition at line 329 of file base_station_base.h.
|
staticconstexpr |
Specialized type.
Definition at line 218 of file base_station_base.h.
Referenced by SpecializedStation().