OpenTTD Source
20241108-master-g80f628063a
|
Functions for NewGRF industries. More...
#include "newgrf_town.h"
Go to the source code of this file.
Data Structures | |
struct | IndustriesScopeResolver |
Resolver for industry scopes. More... | |
struct | IndustriesResolverObject |
Resolver for industries. More... | |
Enumerations | |
enum | IndustryTrigger { INDUSTRY_TRIGGER_TILELOOP_PROCESS = 1 , INDUSTRY_TRIGGER_256_TICKS = 2 , INDUSTRY_TRIGGER_CARGO_DELIVERY = 4 } |
When should the industry(tile) be triggered for random bits? More... | |
enum | IndustryAvailabilityCallType { IACT_MAPGENERATION , IACT_RANDOMCREATION , IACT_USERCREATION , IACT_PROSPECTCREATION } |
From where has callback CBID_INDUSTRY_PROBABILITY been called. More... | |
Functions | |
uint16_t | GetIndustryCallback (CallbackID callback, uint32_t param1, uint32_t param2, Industry *industry, IndustryType type, TileIndex tile) |
Perform an industry callback. More... | |
uint32_t | GetIndustryIDAtOffset (TileIndex new_tile, const Industry *i, uint32_t cur_grfid) |
Make an analysis of a tile and check for its belonging to the same industry, and/or the same grf file. More... | |
void | IndustryProductionCallback (Industry *ind, int reason) |
Get the industry production callback and apply it to the industry. More... | |
CommandCost | CheckIfCallBackAllowsCreation (TileIndex tile, IndustryType type, size_t layout, uint32_t seed, uint16_t initial_random_bits, Owner founder, IndustryAvailabilityCallType creation_type) |
Check that the industry callback allows creation of the industry. More... | |
uint32_t | GetIndustryProbabilityCallback (IndustryType type, IndustryAvailabilityCallType creation_type, uint32_t default_prob) |
Check with callback CBID_INDUSTRY_PROBABILITY whether the industry can be built. More... | |
bool | IndustryTemporarilyRefusesCargo (Industry *ind, CargoID cargo_type) |
Check whether an industry temporarily refuses to accept a certain cargo. More... | |
IndustryType | MapNewGRFIndustryType (IndustryType grf_type, uint32_t grf_id) |
Map the GRF local type to an industry type. More... | |
uint32_t | GetNearbyIndustryTileInformation (uint8_t parameter, TileIndex tile, IndustryID index, bool signed_offsets, bool grf_version8) |
Based on newhouses equivalent, but adapted for newindustries. More... | |
Functions for NewGRF industries.
Definition in file newgrf_industries.h.
From where has callback CBID_INDUSTRY_PROBABILITY been called.
Definition at line 81 of file newgrf_industries.h.
enum IndustryTrigger |
When should the industry(tile) be triggered for random bits?
Definition at line 71 of file newgrf_industries.h.
CommandCost CheckIfCallBackAllowsCreation | ( | TileIndex | tile, |
IndustryType | type, | ||
size_t | layout, | ||
uint32_t | seed, | ||
uint16_t | initial_random_bits, | ||
Owner | founder, | ||
IndustryAvailabilityCallType | creation_type | ||
) |
Check that the industry callback allows creation of the industry.
tile | Tile to build the industry. |
type | Type of industry to build. |
layout | Layout number. |
seed | Seed for the random generator. |
initial_random_bits | The random bits the industry is going to have after construction. |
founder | Industry founder |
creation_type | The circumstances the industry is created under. |
Definition at line 534 of file newgrf_industries.cpp.
uint16_t GetIndustryCallback | ( | CallbackID | callback, |
uint32_t | param1, | ||
uint32_t | param2, | ||
Industry * | industry, | ||
IndustryType | type, | ||
TileIndex | tile | ||
) |
Perform an industry callback.
callback | The callback to perform. |
param1 | The first parameter. |
param2 | The second parameter. |
industry | The industry to do the callback for. |
type | The type of industry to do the callback for. |
tile | The tile associated with the callback. |
Definition at line 517 of file newgrf_industries.cpp.
Make an analysis of a tile and check for its belonging to the same industry, and/or the same grf file.
tile | TileIndex of the tile to query |
i | Industry to which to compare the tile to |
cur_grfid | GRFID of the current callback chain |
Definition at line 56 of file newgrf_industries.cpp.
References GetCleanIndustryGfx(), GetIndustryTileSpec(), IndustryTileSpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, INVALID_INDUSTRYTILE, GRFFilePropsBase< Tcnt >::local_id, NEW_INDUSTRYTILEOFFSET, GRFFileProps::override, GRFFilePropsBase< Tcnt >::spritegroup, and Industry::TileBelongsToIndustry().
uint32_t GetIndustryProbabilityCallback | ( | IndustryType | type, |
IndustryAvailabilityCallType | creation_type, | ||
uint32_t | default_prob | ||
) |
Check with callback CBID_INDUSTRY_PROBABILITY whether the industry can be built.
type | Industry type to check. |
creation_type | Reason to construct a new industry. |
true
is returned. Otherwise, false
is returned. Definition at line 565 of file newgrf_industries.cpp.
References IndustrySpec::callback_mask, CBM_IND_PROBABILITY, GetIndustrySpec(), and HasBit().
uint32_t GetNearbyIndustryTileInformation | ( | uint8_t | parameter, |
TileIndex | tile, | ||
IndustryID | index, | ||
bool | signed_offsets, | ||
bool | grf_version8 | ||
) |
Based on newhouses equivalent, but adapted for newindustries.
parameter | from callback. It's in fact a pair of coordinates |
tile | TileIndex from which the callback was initiated |
index | of the industry been queried for |
signed_offsets | Are the x and y offset encoded in parameter signed? |
grf_version8 | True, if we are dealing with a new NewGRF which uses GRF version >= 8. |
Definition at line 34 of file newgrf_industrytiles.cpp.
References GetIndustryIndex(), GetNearbyTile(), GetNearbyTileInformation(), IsTileType(), and MP_INDUSTRY.
Referenced by IndustryTileScopeResolver::GetVariable().
void IndustryProductionCallback | ( | Industry * | ind, |
int | reason | ||
) |
Get the industry production callback and apply it to the industry.
ind | the industry this callback has to be called for |
reason | the reason it is called (0 = incoming cargo, 1 = periodic tick callback) |
Definition at line 598 of file newgrf_industries.cpp.
References IndustrySpec::behaviour, GetIndustrySpec(), INDUSTRYBEH_PRODCALLBACK_RANDOM, Industry::location, OrthogonalTileArea::tile, and Industry::type.
Check whether an industry temporarily refuses to accept a certain cargo.
ind | The industry to query. |
cargo_type | The cargo to get information about. |
Definition at line 678 of file newgrf_industries.cpp.
References IndustrySpec::callback_mask, CBM_IND_REFUSE_CARGO, GetIndustrySpec(), HasBit(), Industry::IsCargoAccepted(), and Industry::type.
Referenced by CanCargoServiceIndustry(), and DeliverGoodsToIndustry().
IndustryType MapNewGRFIndustryType | ( | IndustryType | grf_type, |
uint32_t | grf_id | ||
) |
Map the GRF local type to an industry type.
grf_type | The GRF local type. |
grf_id | The GRF of the local type. |
Definition at line 40 of file newgrf_industries.cpp.
Referenced by GetCountAndDistanceOfClosestInstance().