|
OpenTTD
|
#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. | |
Public Member Functions inherited from ResolverObject | |
| ResolverObject (const GRFFile *grffile, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0) | |
| Resolver constructor. | |
| const SpriteGroup * | Resolve () |
| Resolve SpriteGroup. | |
| uint16 | ResolveCallback () |
| Resolve callback. | |
| uint32 | GetReseedSum () const |
| Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with. | |
| void | ResetState () |
| Resets the dynamic state of the resolver object. | |
Data Fields | |
| StationScopeResolver | station_scope |
| The station scope resolver. | |
| TownScopeResolver * | town_scope |
| The town scope resolver (created on the first call). | |
Data Fields inherited from ResolverObject | |
| ScopeResolver | default_scope |
| Default implementation of the grf scope. | |
| CallbackID | callback |
| Callback being resolved. | |
| uint32 | callback_param1 |
| First parameter (var 10) of the callback. | |
| uint32 | callback_param2 |
| Second parameter (var 18) of the callback. | |
| byte | trigger |
| uint32 | last_value |
| Result of most recent DeterministicSpriteGroup (including procedure calls) | |
| uint32 | reseed [VSG_END] |
| Collects bits to rerandomise while triggering triggers. | |
| const GRFFile * | grffile |
| GRFFile the resolved SpriteGroup belongs to. | |
| const SpriteGroup * | root_spritegroup |
| Root SpriteGroup to use for resolving. | |
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 548 of file newgrf_station.cpp.
References _svc, GoodsEntry::cargo, StationScopeResolver::cargo_type, SpecializedStation< Station, false >::From(), Station::goods, StationSpec::grf_prop, CargoSpec::Index(), SpecializedStation< Station, false >::IsExpected(), ResolverObject::root_spritegroup, GRFFilePropsBase< Tcnt >::spritegroup, StationScopeResolver::st, station_scope, StationScopeResolver::statspec, and StationCargoList::TotalCount().
|
inlinevirtual |
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.
| 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 265 of file newgrf_station.cpp.
References ClosestTownFromTile(), INVALID_TILE, StationScopeResolver::st, station_scope, StationScopeResolver::tile, BaseStation::town, and town_scope.
Referenced by GetScope().
|
virtual |
Get the real sprites of the grf.
| group | Group to get. |
Reimplemented from ResolverObject.
Definition at line 494 of file newgrf_station.cpp.
References GoodsEntry::cargo, StationSpec::cargo_threshold, StationScopeResolver::cargo_type, CT_INVALID, StationSpec::flags, SpecializedStation< Station, false >::From(), Station::goods, OrthogonalTileArea::h, HasBit(), RealSpriteGroup::loaded, RealSpriteGroup::loading, min(), NUM_CARGO, 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 OrthogonalTileArea::w.
1.8.1.2