OpenTTD
|
Resolver for industries. More...
#include <newgrf_industries.h>
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. | |
![]() | |
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 | 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 ). | |
![]() | |
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. |
Resolver for industries.
Definition at line 34 of file newgrf_industries.h.
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.
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 431 of file newgrf_industries.cpp.
References GetIndustrySpec(), IndustrySpec::grf_prop, ResolverObject::root_spritegroup, and GRFFilePropsBase< Tcnt >::spritegroup.
|
inlinevirtual |
Get a resolver for the scope.
scope | Scope to return. |
relative | Additional parameter for VSG_SCOPE_RELATIVE. |
Reimplemented from ResolverObject.
Definition at line 44 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.
Definition at line 449 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().