# ResolverObject Struct Reference

## Data Fields
CallbackID | callback
uint32 | callback_param1
uint32 | callback_param2
byte | trigger
uint32 | last_value
| Result of most recent DeterministicSpriteGroup (including procedure calls).
uint32 | reseed
| Collects bits to rerandomise while triggering triggers.
VarSpriteGroupScope | scope
| Scope of currently resolved DeterministicSpriteGroup resp. RandomizedSpriteGroup.
byte | count
| Additional scope for RandomizedSpriteGroup.
BaseStorageArray * | psa
| The persistent storage array of this resolved object.
const GRFFile * | grffile
| GRFFile the resolved SpriteGroup belongs to.
union {
struct {
struct Vehicle * self
struct Vehicle * parent
EngineID self_type
bool info_view
| Indicates if the item is being drawn in an info window.
} vehicle
struct {
TileIndex tile
} canal
struct {
TileIndex tile
struct BaseStation * st
struct StationSpec * statspec
CargoID cargo_type
} station
struct {
TileIndex tile
const Town * town
HouseID house_id
uint16 initial_random_bits
| Random bits during construction checks.
bool not_yet_constructed
| True for construction check.
} house
struct {
TileIndex tile
Industry * ind
IndustryGfx gfx
IndustryType type
} industry
struct {
struct CargoSpec * cs
} cargo
struct {
CargoID cargo_type
uint8 default_selection
uint8 src_industry
| Source industry substitute type. 0xFF for "town", 0xFE for "unknown".
uint8 dst_industry
| Destination industry substitute type. 0xFF for "town", 0xFE for "unknown".
uint8 distance
AIConstructionEvent event
uint8 count
uint8 station_size
} generic
struct {
TileIndex tile
| Tracktile. For track on a bridge this is the southern bridgehead.
TileContext context
| Are we resolving sprites for the upper halftile, or on a bridge?
} routes
struct {
struct Station * st
| Station of the airport for which the callback is run, or NULL for build gui.
byte airport_id
| Type of airport for which the callback is run.
byte layout
| Layout of the airport to build.
TileIndex tile
| Tile for the callback, only valid for airporttile callbacks.
} airport
struct {
struct Object * o
| The object the callback is ran for.
TileIndex tile
| The tile related to the object.
uint8 view
| The view of the object.
} object
} | u
uint32(* | GetRandomBits )(const struct ResolverObject *)
uint32(* | GetTriggers )(const struct ResolverObject *)
void(* | SetTriggers )(const struct ResolverObject *, int)
uint32(* | GetVariable )(const struct ResolverObject *, byte, byte, bool *)
const SpriteGroup *(* | ResolveReal )(const struct ResolverObject *, const RealSpriteGroup *)

## Detailed Description

Definition at line 288 of file newgrf_spritegroup.h.

## Field Documentation

TileIndex ResolverObject::tile

Tracktile. For track on a bridge this is the southern bridgehead.

The tile related to the object.

Tile for the callback, only valid for airporttile callbacks.

Definition at line 313 of file newgrf_spritegroup.h.

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

- src/newgrf_spritegroup.h