OpenTTD Source 20241224-master-gf74b0cf984
|
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 (TileIndex tile) | |
Set station type correctly. | |
Public Member Functions inherited from BaseStation | |
BaseStation (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) |
virtual void | GetTileArea (TileArea *ta, 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) |
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool > | |
void * | operator new (size_t size) |
Allocates space for new Titem. | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. | |
void * | operator new (size_t, void *ptr) |
Allocates space for new Titem at given memory address. | |
void | operator delete (void *p) |
Marks Titem as free. | |
Static Public Member Functions | |
static bool | IsExpected (const BaseStation *st) |
Helper for checking whether the given station is of this type. | |
static bool | IsValidID (size_t index) |
Tests whether given index is a valid index for station of this type. | |
static T * | Get (size_t index) |
Gets station with given index. | |
static T * | GetIfValid (size_t 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. | |
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 Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool > | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-nullptr) Titem. | |
static Titem * | Get (size_t index) |
Returns Titem with given index. | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. | |
static size_t | GetPoolSize () |
Returns first unused index. | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. | |
static void | PostDestructor (size_t index) |
Dummy function called after destructor of each member. | |
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0) |
Returns an iterable ensemble of all valid Titem. | |
Static Public Attributes | |
static const StationFacility | EXPECTED_FACIL = Tis_waypoint ? FACIL_WAYPOINT : FACIL_NONE |
Specialized type. | |
Additional Inherited Members | |
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool > | |
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > | Pool |
Type of the pool this item is going to be part of. | |
Data Fields inherited from BaseStation | |
TileIndex | xy |
Base tile of the station. | |
TrackedViewportSign | sign |
NOSAVE: Dimensions of sign. | |
uint8_t | delete_ctr |
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 |
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 |
The town this station is associated with. | |
Owner | owner |
The owner of this station. | |
StationFacility | 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 |
Random bits assigned to this station. | |
uint8_t | waiting_triggers |
Waiting triggers (NewGRF) for this station. | |
uint8_t | cached_anim_triggers |
NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen. | |
uint8_t | 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 |
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. | |
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool > | |
Tindex | index |
Index of this pool item. | |
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.
tile | The base tile of the station. |
Definition at line 224 of file base_station_base.h.
References SpecializedStation< T, Tis_waypoint >::EXPECTED_FACIL.
|
inlinestatic |
Converts a BaseStation to SpecializedStation with type checking.
st | BaseStation pointer |
Definition at line 283 of file base_station_base.h.
References SpecializedStation< T, Tis_waypoint >::IsExpected().
|
inlinestatic |
Converts a const BaseStation to const SpecializedStation with type checking.
st | BaseStation pointer |
Definition at line 294 of file base_station_base.h.
References SpecializedStation< T, Tis_waypoint >::IsExpected().
|
inlinestatic |
Gets station with given index.
Definition at line 254 of file base_station_base.h.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::Get(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::index.
Referenced by SpecializedStation< T, Tis_waypoint >::GetIfValid().
|
inlinestatic |
Get the station belonging to a specific tile.
tile | The tile to get the station from. |
Definition at line 273 of file base_station_base.h.
References SpecializedStation< T, Tis_waypoint >::GetIfValid(), and GetStationIndex().
|
inlinestatic |
Returns station if the index is a valid index for this station type.
Definition at line 263 of file base_station_base.h.
References SpecializedStation< T, Tis_waypoint >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::index, and SpecializedStation< T, Tis_waypoint >::IsValidID().
Referenced by SpecializedStation< T, Tis_waypoint >::GetByTile().
|
inlinestatic |
Helper for checking whether the given station is of this type.
st | the station to check. |
Definition at line 235 of file base_station_base.h.
References SpecializedStation< T, Tis_waypoint >::EXPECTED_FACIL, FACIL_WAYPOINT, and BaseStation::facilities.
Referenced by SpecializedStation< T, Tis_waypoint >::From(), SpecializedStation< T, Tis_waypoint >::From(), and SpecializedStation< T, Tis_waypoint >::IsValidID().
|
inlinestatic |
Tests whether given index is a valid index for station of this type.
index | tested index |
Definition at line 245 of file base_station_base.h.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::index, SpecializedStation< T, Tis_waypoint >::IsExpected(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::IsValidID().
Referenced by SpecializedStation< T, Tis_waypoint >::GetIfValid().
|
inlinestatic |
Returns an iterable ensemble of all valid stations of type T.
from | index of the first station to consider |
Definition at line 305 of file base_station_base.h.
|
static |
Specialized type.
Definition at line 218 of file base_station_base.h.
Referenced by SpecializedStation< T, Tis_waypoint >::IsExpected(), and SpecializedStation< T, Tis_waypoint >::SpecializedStation().