OpenTTD: IndustriesResolverObject Struct Reference

OpenTTD

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

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields
IndustriesResolverObject Struct Reference

Resolver for industries. More...

`#include <newgrf_industries.h>`

Inheritance diagram for IndustriesResolverObject:

## Public Member Functions
| IndustriesResolverObject (TileIndex tile, Industry *indus, IndustryType type, uint32 random_bits=0, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0)
| Constructor of the industries resolver.
TownScopeResolver * | GetTown ()
| Get or create the town scope object associated with the industry.
ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
| Get a resolver for the scope.
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.
virtual const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const
| Get the real sprites of the grf.
uint32 | GetRemainingTriggers () const
| Returns the waiting triggers that did not trigger any rerandomisation.
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
IndustriesScopeResolver | industries_scope
| Scope resolver for the industry.
TownScopeResolver * | town_scope
| Scope resolver for the associated town (if needed and available, else `NULL`).
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.
uint32 | last_value
| Result of most recent DeterministicSpriteGroup (including procedure calls)
uint32 | waiting_triggers
| Waiting triggers to be used by any rerandomisation. (scope independent)
uint32 | used_triggers
| Subset of cur_triggers, which actually triggered some rerandomisation. (scope independent)
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 for industries.

Definition at line 44 of file newgrf_industries.h.

## Constructor & Destructor Documentation

IndustriesResolverObject::IndustriesResolverObject | ( | TileIndex | tile,
|  | Industry * | indus,
|  | IndustryType | type,
|  | uint32 | random_bits = `0`,
|  | CallbackID | callback = `CBID_NO_CALLBACK`,
|  | uint32 | callback_param1 = `0`,
|  | uint32 | callback_param2 = `0`
| ) |  |

Constructor of the industries resolver.

Parameters

  tile | Tile owned by the industry.
  industry | Industry being resolved.
  type | Type of the industry.
  random_bits | Random bits of the new industry.
  callback | Callback ID.
  callback_param1 | First parameter (var 10) of the callback.
  callback_param2 | Second parameter (var 18) of the callback.

Definition at line 425 of file newgrf_industries.cpp.

References GetIndustrySpec(), IndustrySpec::grf_prop, ResolverObject::root_spritegroup, and GRFFilePropsBase< Tcnt >::spritegroup.

## Member Function Documentation

ScopeResolver* IndustriesResolverObject::GetScope | ( | VarSpriteGroupScope | scope = `VSG_SCOPE_SELF`,
|  | byte | relative = `0`
| ) |  |
| inlinevirtual

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 54 of file newgrf_industries.h.

References GetTown(), industries_scope, VSG_SCOPE_PARENT, and VSG_SCOPE_SELF.

TownScopeResolver * IndustriesResolverObject::GetTown | ( |  | ) |

Get or create the town scope object associated with the industry.

Returns
  The associated town scope, if it exists.

Definition at line 443 of file newgrf_industries.cpp.

References ClosestTownFromTile(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, industries_scope, IndustriesScopeResolver::industry, INVALID_TILE, IndustriesScopeResolver::tile, Industry::town, and town_scope.

Referenced by GetScope().

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

- src/newgrf_industries.h
- src/newgrf_industries.cpp