OpenTTD Source 20241224-master-gf74b0cf984
|
Scope resolver for road stops. More...
#include <newgrf_roadstop.h>
Public Member Functions | |
RoadStopScopeResolver (ResolverObject &ro, BaseStation *st, const RoadStopSpec *roadstopspec, TileIndex tile, RoadType roadtype, StationType type, uint8_t view=0) | |
uint32_t | GetRandomBits () const override |
Get a few random bits. | |
uint32_t | GetTriggers () const override |
Get the triggers. | |
uint32_t | GetVariable (uint8_t variable, uint32_t parameter, bool &available) const override |
Get a variable value. | |
Public Member Functions inherited from ScopeResolver | |
ScopeResolver (ResolverObject &ro) | |
virtual void | StorePSA (uint reg, int32_t value) |
Store a value into the persistent storage area (PSA). | |
Data Fields | |
TileIndex | tile |
Tile of the station. | |
struct BaseStation * | st |
Instance of the station. | |
const struct RoadStopSpec * | roadstopspec |
Station (type) specification. | |
CargoID | cargo_type |
Type of cargo of the station. | |
StationType | type |
Station type. | |
uint8_t | view |
Station axis. | |
RoadType | roadtype |
Road type (used when no tile) | |
Data Fields inherited from ScopeResolver | |
ResolverObject & | ro |
Surrounding resolver object. | |
Scope resolver for road stops.
Definition at line 89 of file newgrf_roadstop.h.
|
inline |
Definition at line 98 of file newgrf_roadstop.h.
|
overridevirtual |
Get a few random bits.
Default implementation has no random bits.
Reimplemented from ScopeResolver.
Definition at line 51 of file newgrf_roadstop.cpp.
References SpecializedStation< Station, false >::From(), INVALID_TILE, SpecializedStation< Station, false >::IsExpected(), BaseStation::random_bits, st, and tile.
|
overridevirtual |
Get the triggers.
Base class returns 0
to prevent trouble.
Reimplemented from ScopeResolver.
Definition at line 62 of file newgrf_roadstop.cpp.
References st, and BaseStation::waiting_triggers.
|
overridevirtual |
Get a variable value.
Default implementation has no available variables.
variable | Variable to read | |
parameter | Parameter for 60+x variables | |
[out] | available | Set to false, in case the variable does not exist. |
Reimplemented from ScopeResolver.
Definition at line 67 of file newgrf_roadstop.cpp.
References _current_company, BaseStation::build_date, ClosestTownFromTile(), TimerGameCalendar::date, TimerGameConst< struct Calendar >::DAYS_TILL_ORIGINAL_BASE_YEAR, DistanceManhattan(), DistanceSquare(), BaseStation::facilities, BaseStation::GetByTile(), GetCompanyInfo(), GetCustomRoadStopSpecIndex(), GetNearbyTile(), GetNearbyTileInformation(), BaseStation::GetNewGRFVariable(), GetReverseRoadTypeTranslation(), GetStationGfx(), GetStationIndex(), GetStationType(), GetTerrainType(), GetTileSlope(), GetTownRadiusGroup(), RoadStopSpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, ResolverObject::grffile, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_ROADTYPE, INVALID_TILE, IsAnyRoadStopTile(), IsCustomRoadStopSpecIndex(), BaseStation::owner, ScopeResolver::ro, BaseStation::roadstop_speclist, roadstopspec, roadtype, SetBit(), st, TCX_NORMAL, tile, BaseStation::town, type, view, and Town::xy.
CargoID RoadStopScopeResolver::cargo_type |
Type of cargo of the station.
Definition at line 93 of file newgrf_roadstop.h.
const struct RoadStopSpec* RoadStopScopeResolver::roadstopspec |
Station (type) specification.
Definition at line 92 of file newgrf_roadstop.h.
Referenced by GetVariable().
RoadType RoadStopScopeResolver::roadtype |
Road type (used when no tile)
Definition at line 96 of file newgrf_roadstop.h.
Referenced by GetVariable().
struct BaseStation* RoadStopScopeResolver::st |
Instance of the station.
Definition at line 91 of file newgrf_roadstop.h.
Referenced by GetRandomBits(), GetTriggers(), and GetVariable().
TileIndex RoadStopScopeResolver::tile |
Tile of the station.
Definition at line 90 of file newgrf_roadstop.h.
Referenced by GetRandomBits(), and GetVariable().
StationType RoadStopScopeResolver::type |
uint8_t RoadStopScopeResolver::view |