mirror of https://github.com/OpenTTD/OpenTTD
(svn r11177) -Codechange: add support for newgrf callbacks 14B and 14C
parent
5e45e73037
commit
7cdbb50b5b
|
@ -1414,7 +1414,7 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
|
|||
{
|
||||
const IndustrySpec *indspec = GetIndustrySpec(type);
|
||||
uint32 r;
|
||||
int j;
|
||||
uint j;
|
||||
|
||||
i->xy = tile;
|
||||
i->width = i->height = 0;
|
||||
|
@ -1458,6 +1458,25 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
|
|||
i->last_month_production[0] = i->production_rate[0] * 8;
|
||||
i->last_month_production[1] = i->production_rate[1] * 8;
|
||||
i->founder = _current_player;
|
||||
|
||||
if (HASBIT(indspec->callback_flags, CBM_IND_INPUT_CARGO_TYPES)) {
|
||||
for (j = 0; j < lengthof(i->accepts_cargo); j++) i->accepts_cargo[j] = CT_INVALID;
|
||||
for (j = 0; j < lengthof(i->accepts_cargo); j++) {
|
||||
uint16 res = GetIndustryCallback(CBID_INDUSTRY_INPUT_CARGO_TYPES, j, 0, i, type, INVALID_TILE);
|
||||
if (res == CALLBACK_FAILED || GB(res, 0, 8) == CT_INVALID) break;
|
||||
i->accepts_cargo[j] = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile);
|
||||
}
|
||||
}
|
||||
|
||||
if (HASBIT(indspec->callback_flags, CBM_IND_OUTPUT_CARGO_TYPES)) {
|
||||
for (j = 0; j < lengthof(i->produced_cargo); j++) i->produced_cargo[j] = CT_INVALID;
|
||||
for (j = 0; j < lengthof(i->produced_cargo); j++) {
|
||||
uint16 res = GetIndustryCallback(CBID_INDUSTRY_OUTPUT_CARGO_TYPES, j, 0, i, type, INVALID_TILE);
|
||||
if (res == CALLBACK_FAILED || GB(res, 0, 8) == CT_INVALID) break;
|
||||
i->produced_cargo[j] = GetCargoTranslation(GB(res, 0, 8), indspec->grf_prop.grffile);
|
||||
}
|
||||
}
|
||||
|
||||
i->construction_date = _date;
|
||||
i->construction_type = (_game_mode == GM_EDITOR) ? ICT_SCENARIO_EDITOR :
|
||||
(_generating_world ? ICT_MAP_GENERATION : ICT_NORMAL_GAMEPLAY);
|
||||
|
|
|
@ -196,10 +196,10 @@ enum CallbackID {
|
|||
CBID_INDUSTRY_DECIDE_COLOUR = 0x14A, // not implemented
|
||||
|
||||
/** Customize the input cargo types of a newly build industry. */
|
||||
CBID_INDUSTRY_INPUT_CARGO_TYPES = 0x14B, // not implemented
|
||||
CBID_INDUSTRY_INPUT_CARGO_TYPES = 0x14B,
|
||||
|
||||
/** Customize the output cargo types of a newly build industry. */
|
||||
CBID_INDUSTRY_OUTPUT_CARGO_TYPES = 0x14C, // not implemented
|
||||
CBID_INDUSTRY_OUTPUT_CARGO_TYPES = 0x14C,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue