#include "industry_type.h"
#include "newgrf_spritegroup.h"
Go to the source code of this file.
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 } |
| From where is callback CBID_INDUSTRY_AVAILABLE been called. More... | |
Functions | |
| uint32 | IndustryGetVariable (const ResolverObject *object, byte variable, byte parameter, bool *available) |
| This function implements the industries variables that newGRF defines. | |
| uint16 | GetIndustryCallback (CallbackID callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile) |
| uint32 | GetIndustryIDAtOffset (TileIndex new_tile, const Industry *i) |
| Make an analysis of a tile and check for its belonging to the same industry, and/or the same grf file. | |
| void | IndustryProductionCallback (Industry *ind, int reason) |
| Get the industry production callback and apply it to the industry. | |
| bool | CheckIfCallBackAllowsCreation (TileIndex tile, IndustryType type, uint itspec_index, uint32 seed) |
| bool | CheckIfCallBackAllowsAvailability (IndustryType type, IndustryAvailabilityCallType creation_type) |
| IndustryType | MapNewGRFIndustryType (IndustryType grf_type, uint32 grf_id) |
| uint32 | GetNearbyIndustryTileInformation (byte parameter, TileIndex tile, IndustryID index) |
| Based on newhouses equivalent, but adapted for newindustries. | |
Definition in file newgrf_industries.h.
From where is callback CBID_INDUSTRY_AVAILABLE been called.
| IACT_MAPGENERATION | during random map generation |
| IACT_RANDOMCREATION | during creation of random ingame industry |
| IACT_USERCREATION | from the Fund/build window |
Definition at line 22 of file newgrf_industries.h.
| enum IndustryTrigger |
When should the industry(tile) be triggered for random bits?
| INDUSTRY_TRIGGER_TILELOOP_PROCESS | Triggered each tile loop. |
| INDUSTRY_TRIGGER_256_TICKS | Triggered (whole industry) each 256 ticks. |
| INDUSTRY_TRIGGER_CARGO_DELIVERY | Triggered on cargo delivery. |
Definition at line 12 of file newgrf_industries.h.
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 |
Definition at line 102 of file newgrf_industries.cpp.
References GetIndustryIndex(), GetIndustrySpec(), GetIndustryTileSpec(), IndustrySpec::grf_prop, IndustryTileSpec::grf_prop, GRFFileProps::grffile, PoolItem< T, Tid, Tpool >::index, INVALID_INDUSTRYTILE, IsTileType(), GRFFileProps::local_id, MP_INDUSTRY, NEW_INDUSTRYOFFSET, GRFFileProps::override, GRFFileProps::spritegroup, GRFFileProps::subst_id, and Industry::type.
Referenced by IndustryGetVariable().
| uint32 GetNearbyIndustryTileInformation | ( | byte | parameter, | |
| TileIndex | tile, | |||
| IndustryID | index | |||
| ) |
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 |
Definition at line 36 of file newgrf_industrytiles.cpp.
References GetIndustryIndex(), GetNearbyTileInformation(), IsTileType(), and MP_INDUSTRY.
Referenced by IndustryGetVariable().
| uint32 IndustryGetVariable | ( | const ResolverObject * | object, | |
| byte | variable, | |||
| byte | parameter, | |||
| bool * | available | |||
| ) |
This function implements the industries variables that newGRF defines.
| variable | that is queried | |
| parameter | unused | |
| available | will return false if ever the variable asked for does not exist | |
| ind | is of course the industry we are inquiring |
Definition at line 209 of file newgrf_industries.cpp.
References Industry::accepts_cargo, IndustrySpec::behaviour, IndustrySpec::callback_flags, CBM_IND_PRODUCTION_256_TICKS, CBM_IND_PRODUCTION_CARGO_ARRIVAL, Clamp(), Industry::construction_date, Industry::construction_type, Industry::counter, DAYS_TILL_ORIGINAL_BASE_YEAR, DistanceManhattan(), DistanceSquare(), Industry::founder, GB(), GetClosestWaterDistance(), GetCountAndDistanceOfClosestInstance(), GetIndustryAnimationState(), GetIndustryByTile(), GetIndustryIDAtOffset(), GetIndustryRandomBits(), GetIndustrySpec(), GetNearbyIndustryTileInformation(), GetRegister(), GetTownRadiusGroup(), IndustrySpec::grf_prop, GRFFileProps::grffile, HasBit(), Industry::height, Industry::incoming_cargo_waiting, INDUSTRYBEH_BUILT_ONWATER, INDUSTRYBEH_PROD_MULTI_HNDLING, INVALID_INDUSTRYTILE, INVALID_TILE, IsTileType(), Industry::last_cargo_accepted_at, Industry::last_month_pct_transported, Industry::last_month_production, Industry::last_month_transported, Industry::last_prod_year, min(), MP_INDUSTRY, ORIGINAL_BASE_YEAR, Industry::prod_level, Industry::produced_cargo, Industry::produced_cargo_waiting, Industry::production_rate, Industry::psa, Industry::random_colour, Industry::selected_layout, Industry::this_month_production, Industry::this_month_transported, Industry::town, TownGetVariable(), Industry::type, Industry::was_cargo_delivered, Industry::width, and Industry::xy.
| 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 564 of file newgrf_industries.cpp.
References IndustrySpec::behaviour, Clamp(), GetIndustrySpec(), IndustrySpec::grf_prop, GRFFileProps::grffile, Industry::incoming_cargo_waiting, PoolItem< T, Tid, Tpool >::index, INDUSTRYBEH_PROD_MULTI_HNDLING, INDUSTRYBEH_PRODCALLBACK_RANDOM, InvalidateWindow(), max(), IndustrySpec::name, Industry::prod_level, Industry::produced_cargo_waiting, SB(), SetDParamStr(), GRFFileProps::spritegroup, Industry::type, and Industry::xy.
Referenced by TriggerIndustryProduction().
1.5.6