Public Member Functions | Data Fields

ResolverObject Struct Reference

Public Member Functions

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

CallbackID callback
uint32 callback_param1
uint32 callback_param2
byte trigger
uint32 last_value
 Result of most recent DeterministicSpriteGroup (including procedure calls).
uint32 reseed [VSG_END]
 Collects bits to rerandomise while triggering triggers.
VarSpriteGroupScope scope
 Scope of currently resolved DeterministicSpriteGroup resp. RandomizedSpriteGroup.
byte count
 Additional scope for RandomizedSpriteGroup.
const GRFFilegrffile
 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
      Axis   axis
 Station axis, used only for the slope check callback.
   }   station
   struct {
      TileIndex   tile
      Town *   town
 Town of this house.
      HouseID   house_id
      uint16   initial_random_bits
 Random bits during construction checks.
      bool   not_yet_constructed
 True for construction check.
      uint32   watched_cargo_triggers
 Cargo types that triggered the watched cargo callback.
   }   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 *object, byte variable, uint32 parameter, bool *available)
const SpriteGroup *(* ResolveReal )(const struct ResolverObject *, const RealSpriteGroup *)
void(* StorePSA )(struct ResolverObject *, uint, int32)

Detailed Description

Definition at line 305 of file newgrf_spritegroup.h.


Member Function Documentation

uint32 ResolverObject::GetReseedSum (  )  const [inline]

Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with.

Returns:
OR-sum of the bits.

Definition at line 393 of file newgrf_spritegroup.h.

References reseed.

void ResolverObject::ResetState (  )  [inline]

Resets the dynamic state of the resolver object.

To be called before resolving an Action-1-2-3 chain.

Definition at line 406 of file newgrf_spritegroup.h.

References last_value, and reseed.

Referenced by NewHouseResolver(), and NewObjectResolver().


Field Documentation

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 328 of file newgrf_spritegroup.h.


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