#include <newgrf_station.h>
Public Member Functions | |
StationResolverObject (const StationSpec *statspec, BaseStation *st, TileIndex tile, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0) | |
Resolver for stations. | |
TownScopeResolver * | GetTown () |
Get the town scope associated with a station, if it exists. | |
ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) |
Get a resolver for the scope. | |
const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const |
Get the real sprites of the grf. | |
Data Fields | |
StationScopeResolver | station_scope |
The station scope resolver. | |
TownScopeResolver * | town_scope |
The town scope resolver (created on the first call). |
Station resolver.
Definition at line 43 of file newgrf_station.h.
StationResolverObject::StationResolverObject | ( | const StationSpec * | statspec, | |
BaseStation * | st, | |||
TileIndex | tile, | |||
CallbackID | callback = CBID_NO_CALLBACK , |
|||
uint32 | callback_param1 = 0 , |
|||
uint32 | callback_param2 = 0 | |||
) |
Resolver for stations.
statspec | Station (type) specification. | |
st | Instance of the station. | |
tile | Tile of the station. | |
callback | Callback ID. | |
callback_param1 | First parameter (var 10) of the callback. | |
callback_param2 | Second parameter (var 18) of the callback. |
Definition at line 546 of file newgrf_station.cpp.
References _svc.
ScopeResolver* StationResolverObject::GetScope | ( | VarSpriteGroupScope | scope = VSG_SCOPE_SELF , |
|
byte | relative = 0 | |||
) | [inline, virtual] |
Get a resolver for the scope.
scope | Scope to return. | |
relative | Additional parameter for VSG_SCOPE_RELATIVE. |
Reimplemented from ResolverObject.
Definition at line 53 of file newgrf_station.h.
References GetTown(), station_scope, VSG_SCOPE_PARENT, and VSG_SCOPE_SELF.
Referenced by NIHStation::Resolve().
TownScopeResolver * StationResolverObject::GetTown | ( | ) |
Get the town scope associated with a station, if it exists.
On the first call, the town scope is created (if possible).
Definition at line 263 of file newgrf_station.cpp.
References ClosestTownFromTile(), INVALID_TILE, StationScopeResolver::st, station_scope, StationScopeResolver::tile, BaseStation::town, and town_scope.
Referenced by GetScope().
const SpriteGroup * StationResolverObject::ResolveReal | ( | const RealSpriteGroup * | group | ) | const [virtual] |
Get the real sprites of the grf.
group | Group to get. |
Reimplemented from ResolverObject.
Definition at line 492 of file newgrf_station.cpp.
References GoodsEntry::cargo, StationSpec::cargo_threshold, StationScopeResolver::cargo_type, CT_INVALID, StationSpec::flags, SpecializedStation< Station, false >::From(), Station::goods, TileArea::h, HasBit(), RealSpriteGroup::loaded, RealSpriteGroup::loading, min(), RealSpriteGroup::num_loaded, RealSpriteGroup::num_loading, SSF_DIV_BY_STATION_SIZE, StationScopeResolver::st, STAT_CLASS_WAYP, station_scope, StationScopeResolver::statspec, StationCargoList::TotalCount(), BaseStation::train_station, and TileArea::w.