belugas@6835: /* $Id$ */ belugas@6835: belugas@6835: /** @file newgrf_industries.h */ belugas@6835: belugas@6835: #ifndef NEWGRF_INDUSTRIES_H belugas@6835: #define NEWGRF_INDUSTRIES_H belugas@6835: belugas@6835: #include "industry.h" belugas@6835: #include "newgrf_spritegroup.h" belugas@6835: rubidium@7621: /** When should the industry(tile) be triggered for random bits? */ rubidium@7621: enum IndustryTrigger { rubidium@7621: /** Triggered each tile loop */ rubidium@7621: INDUSTRY_TRIGGER_TILELOOP_PROCESS = 1, rubidium@7621: /** Triggered (whole industry) each 256 ticks */ rubidium@7621: INDUSTRY_TRIGGER_256_TICKS = 2, rubidium@7621: /** Triggered on cargo delivery */ rubidium@7621: INDUSTRY_TRIGGER_CARGO_DELIVERY = 4, rubidium@7621: }; rubidium@7621: belugas@6884: /* in newgrf_industry.cpp */ belugas@6835: uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte parameter, bool *available); rubidium@7327: uint16 GetIndustryCallback(CallbackID callback, uint32 param1, uint32 param2, Industry *industry, IndustryType type, TileIndex tile); rubidium@7622: uint32 GetIndustryIDAtOffset(TileIndex new_tile, const Industry *i); rubidium@7168: void IndustryProductionCallback(Industry *ind, int reason); rubidium@7207: bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspec_index); belugas@7260: bool CheckIfCallBackAllowsAvailability(IndustryType type, IndustryAvailabilityCallType creation_type); belugas@6835: rubidium@7233: IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32 grf_id); rubidium@7233: belugas@6884: /* in newgrf_industrytiles.cpp*/ rubidium@7234: uint32 GetNearbyIndustryTileInformation(byte parameter, TileIndex tile, IndustryID index); rubidium@7234: belugas@6835: #endif /* NEWGRF_INDUSTRIES_H */