(svn r10572) -Codechange: Add function CheckIfCallBackAllowsAvailability for industries

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
belugas 17 years ago
parent 6d22aa54cf
commit 318f19f5a4

@ -380,6 +380,19 @@ bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspe
return false;
}
bool CheckIfCallBackAllowsAvailability(IndustryType type, IndustryAvailabilityCallType creation_type)
{
const IndustrySpec *indspec = GetIndustrySpec(type);
if (HASBIT(indspec->callback_flags, CBM_IND_AVAILABLE)) {
uint16 res = GetIndustryCallback(CBID_INDUSTRY_AVAILABLE, 0, creation_type, NULL, type, INVALID_TILE);
if (res != CALLBACK_FAILED) {
return (res == 0);
}
}
return true;
}
static int32 DerefIndProd(uint field, bool use_register)
{
return use_register ? (int32)GetRegister(field) : field;

@ -14,6 +14,7 @@ uint16 GetIndustryCallback(uint16 callback, uint32 param1, uint32 param2, Indust
uint32 GetIndustryIDAtOffset(TileIndex new_tile, TileIndex old_tile, const Industry *i);
void IndustryProductionCallback(Industry *ind, int reason);
bool CheckIfCallBackAllowsCreation(TileIndex tile, IndustryType type, uint itspec_index);
bool CheckIfCallBackAllowsAvailability(IndustryType type, IndustryAvailabilityCallType creation_type);
IndustryType MapNewGRFIndustryType(IndustryType grf_type, uint32 grf_id);

Loading…
Cancel
Save