OpenTTD Source  20240919-master-gdf0233f4c2
HouseScopeResolver Struct Reference

Scope resolver for houses. More...

#include <newgrf_house.h>

Inheritance diagram for HouseScopeResolver:
ScopeResolver

Public Member Functions

 HouseScopeResolver (ResolverObject &ro, HouseID house_id, TileIndex tile, Town *town, bool not_yet_constructed, uint8_t initial_random_bits, CargoTypes watched_cargo_triggers, int view)
 Constructor of a house scope resolver. More...
 
uint32_t GetRandomBits () const override
 Get a few random bits. More...
 
uint32_t GetVariable (uint8_t variable, [[maybe_unused]] uint32_t parameter, bool &available) const override
 
uint32_t GetTriggers () const override
 Get the triggers. More...
 
- Public Member Functions inherited from ScopeResolver
 ScopeResolver (ResolverObject &ro)
 
virtual void StorePSA (uint reg, int32_t value)
 Store a value into the persistent storage area (PSA). More...
 

Data Fields

HouseID house_id
 Type of house being queried.
 
TileIndex tile
 Tile of this house.
 
Towntown
 Town of this house.
 
bool not_yet_constructed
 True for construction check.
 
uint16_t initial_random_bits
 Random bits during construction checks.
 
CargoTypes watched_cargo_triggers
 Cargo types that triggered the watched cargo callback.
 
int view
 View when house does yet exist.
 
- Data Fields inherited from ScopeResolver
ResolverObjectro
 Surrounding resolver object.
 

Detailed Description

Scope resolver for houses.

Definition at line 20 of file newgrf_house.h.

Constructor & Destructor Documentation

◆ HouseScopeResolver()

HouseScopeResolver::HouseScopeResolver ( ResolverObject ro,
HouseID  house_id,
TileIndex  tile,
Town town,
bool  not_yet_constructed,
uint8_t  initial_random_bits,
CargoTypes  watched_cargo_triggers,
int  view 
)
inline

Constructor of a house scope resolver.

Parameters
roSurrounding resolver.
house_idHouse type being queried.
tileTile containing the house.
townTown containing the house.
not_yet_constructedHouse is still under construction.
initial_random_bitsRandom bits during construction checks.
watched_cargo_triggersCargo types that triggered the watched cargo callback.

Definition at line 39 of file newgrf_house.h.

Member Function Documentation

◆ GetRandomBits()

uint32_t HouseScopeResolver::GetRandomBits ( ) const
overridevirtual

Get a few random bits.

Default implementation has no random bits.

Returns
Random bits.

Reimplemented from ScopeResolver.

Definition at line 222 of file newgrf_house.cpp.

References GetHouseRandomBits(), initial_random_bits, not_yet_constructed, and tile.

◆ GetTriggers()

uint32_t HouseScopeResolver::GetTriggers ( ) const
overridevirtual

Get the triggers.

Base class returns 0 to prevent trouble.

Returns
The triggers.

Reimplemented from ScopeResolver.

Definition at line 228 of file newgrf_house.cpp.

References GetHouseTriggers(), not_yet_constructed, and tile.

◆ GetVariable()

uint32_t HouseScopeResolver::GetVariable ( uint8_t  variable,
[[maybe_unused] ] uint32_t  parameter,
bool &  available 
) const
overridevirtual
Note
Used by the resolver to get values for feature 07 deterministic spritegroups.

Reimplemented from ScopeResolver.

Definition at line 373 of file newgrf_house.cpp.

References _generating_world, Debug, GetHouseAge(), GetHouseBuildingStage(), GetTerrainType(), GetTownRadiusGroup(), INVALID_TILE, IsTileType(), MP_HOUSE, tile, TileHash2Bit(), TileX(), TileY(), town, TOWN_HOUSE_COMPLETED, and view.


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