OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields
RailTypeResolverObject Struct Reference

Resolver object for rail types. More...

`#include <newgrf_railtype.h>`

Inheritance diagram for RailTypeResolverObject:

## Public Member Functions
| RailTypeResolverObject (const RailtypeInfo *rti, TileIndex tile, TileContext context, RailTypeSpriteGroup rtsg, uint32 param1=0, uint32 param2=0)
| Resolver object for rail types.
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
RailTypeScopeResolver | railtype_scope
| Resolver for the railtype scope.
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.

## Detailed Description

Resolver object for rail types.

Definition at line 31 of file newgrf_railtype.h.

## Constructor & Destructor Documentation

RailTypeResolverObject::RailTypeResolverObject | ( | const RailtypeInfo * | rti,
|  | TileIndex | tile,
|  | TileContext | context,
|  | RailTypeSpriteGroup | rtsg,
|  | uint32 | param1 = `0`,
|  | uint32 | param2 = `0`
| ) |  |

Resolver object for rail types.

Parameters

  rti | Railtype. NULL in NewGRF Inspect window.
  tile | Tile containing the track. For track on a bridge this is the southern bridgehead.
  context | Are we resolving sprites for the upper halftile, or on a bridge?
  rtsg | Railpart of interest
  param1 | Extra parameter (first parameter of the callback, except railtypes do not have callbacks).
  param2 | Extra parameter (second parameter of the callback, except railtypes do not have callbacks).

Definition at line 91 of file newgrf_railtype.cpp.

References RailtypeInfo::group, and ResolverObject::root_spritegroup.

## Member Function Documentation

ScopeResolver* RailTypeResolverObject::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 36 of file newgrf_railtype.h.

References railtype_scope, and VSG_SCOPE_SELF.

const SpriteGroup * RailTypeResolverObject::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 63 of file newgrf_railtype.cpp.

References RealSpriteGroup::loaded, RealSpriteGroup::loading, RealSpriteGroup::num_loaded, and RealSpriteGroup::num_loading.

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

- src/newgrf_railtype.h
- src/newgrf_railtype.cpp