Public Member Functions | Data Fields

# StationResolverObject Struct Reference

Station resolver. More...

`#include <newgrf_station.h>`

Inheritance diagram for StationResolverObject:

## 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).

## Detailed Description

Station resolver.

Definition at line 43 of file newgrf_station.h.

## Constructor & Destructor Documentation

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.

Parameters:

  | 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.

## Member Function Documentation

ScopeResolver* StationResolverObject::GetScope | ( | VarSpriteGroupScope | scope = `VSG_SCOPE_SELF`,
|  | byte | relative = `0` |
| ) |  |  | `[inline, virtual]`

Get a resolver for the scope.

Parameters:

  | scope | Scope to return.
  | relative | Additional parameter for VSG_SCOPE_RELATIVE.

Returns:
  The resolver for the requested scope.

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).

Returns:
  Town scope, if available.

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.

Parameters:

  | group | Group to get.

Returns:
  The available sprite group.

Reimplemented from ResolverObject.

Definition at line 492 of file newgrf_station.cpp.

References GoodsEntry::cargo, StationSpec::cargo_threshold, StationScopeResolver::cargo_type, CargoList< Tinst, Tcont >::Count(), 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, BaseStation::train_station, and TileArea::w.

The documentation for this struct was generated from the following files:

- src/newgrf_station.h
- src/newgrf_station.cpp