|
OpenTTD Source
14.0-beta1
|
Go to the documentation of this file.
10 #ifndef NEWGRF_HOUSE_H
11 #define NEWGRF_HOUSE_H
46 uint32_t
GetVariable(
byte variable, [[maybe_unused]] uint32_t parameter,
bool *available)
const override;
57 bool not_yet_constructed =
false, uint8_t initial_random_bits = 0, CargoTypes watched_cargo_triggers = 0);
90 void ResetHouseClassIDs();
91 HouseClassID AllocateHouseClassID(
byte grf_class_id, uint32_t grfid);
93 void InitializeBuildingCounts();
99 void AnimateNewHouseConstruction(
TileIndex tile);
102 bool not_yet_constructed =
false, uint8_t initial_random_bits = 0, CargoTypes watched_cargo_triggers = 0);
111 HOUSE_TRIGGER_TILE_LOOP = 0x01,
116 HOUSE_TRIGGER_TILE_LOOP_TOP = 0x02,
118 void TriggerHouse(
TileIndex t, HouseTrigger trigger);
Town * town
Town of this house.
CargoTypes watched_cargo_triggers
Cargo types that triggered the watched cargo callback.
Tile information, used while rendering the tile.
uint16_t initial_random_bits
Random bits during construction checks.
Resolver object to be used for houses (feature 07 spritegroups).
Interface for SpriteGroup-s to access the gamestate.
uint32_t GetVariable(byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override
CallbackID
List of implemented NewGRF callbacks.
@ VSG_SCOPE_PARENT
Related object of the resolved one.
uint32_t GetDebugID() const override
Get an identifier for the item being resolved.
Interface to query and set values specific to a single VarSpriteGroupScope (action 2 scope).
void WatchedCargoCallback(TileIndex tile, CargoTypes trigger_cargoes)
Run watched cargo accepted callback for a house.
@ VSG_SCOPE_SELF
Resolved object itself.
HouseScopeResolver(ResolverObject &ro, HouseID house_id, TileIndex tile, Town *town, bool not_yet_constructed, uint8_t initial_random_bits, CargoTypes watched_cargo_triggers)
Constructor of a house scope resolver.
uint32_t GetRandomBits() const override
Get a few random bits.
HouseID house_id
Type of house being queried.
bool not_yet_constructed
True for construction check.
@ CBID_NO_CALLBACK
Set when using the callback resolve system, but not to resolve a callback.
uint16_t HouseClassID
Classes of houses.
void IncreaseBuildingCount(Town *t, HouseID house_id)
IncreaseBuildingCount() Increase the count of a building when it has been added by a town.
virtual ScopeResolver * GetScope(VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
Get a resolver for the scope.
Scope resolver for a town.
ScopeResolver * GetScope(VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) override
Get a resolver for the scope.
void DecreaseBuildingCount(Town *t, HouseID house_id)
DecreaseBuildingCount() Decrease the number of a building when it is deleted.
uint32_t grfid
The GRF ID of the file this class belongs to.
GrfSpecFeature GetFeature() const override
Get the feature number being resolved for.
CallbackID callback
Callback being resolved.
Scope resolver for houses.
uint16_t HouseID
OpenTTD ID of house types.
TileIndex tile
Tile of this house.
uint8_t class_id
The class id within the grf file.
ResolverObject & ro
Surrounding resolver object.
uint32_t GetTriggers() const override
Get the triggers.
HouseResolverObject(HouseID house_id, TileIndex tile, Town *town, CallbackID callback=CBID_NO_CALLBACK, uint32_t param1=0, uint32_t param2=0, bool not_yet_constructed=false, uint8_t initial_random_bits=0, CargoTypes watched_cargo_triggers=0)
Construct a resolver for a house.
Makes class IDs unique to each GRF file.