(svn r20737) -Codechange: Introduce a function for advertising opening of a new industry.

This commit is contained in:
alberth 2010-09-04 12:01:55 +00:00
parent fcf92a20e2
commit 21a80e0a0e
1 changed files with 19 additions and 10 deletions

View File

@ -1890,6 +1890,24 @@ static const byte _numof_industry_table[] = {
80, // high
};
/**
* Advertise about a new industry opening.
* @param ind Industry being opened.
*/
static void AdvertiseIndustryOpening(Industry *ind)
{
const IndustrySpec *ind_spc = GetIndustrySpec(ind->type);
SetDParam(0, ind_spc->name);
if (ind_spc->new_industry_text > STR_LAST_STRINGID) {
SetDParam(1, STR_TOWN_NAME);
SetDParam(2, ind->town->index);
} else {
SetDParam(1, ind->town->index);
}
AddIndustryNewsItem(ind_spc->new_industry_text, NS_INDUSTRY_OPEN, ind->index);
AI::BroadcastNewEvent(new AIEventIndustryOpen(ind->index));
}
/**
* Try to place the industry in the game.
* Since there is no feedback why placement fails, there is no other option
@ -2041,16 +2059,7 @@ static void MaybeNewIndustry()
Industry *ind = PlaceIndustry(cumulative_probs[j].ind, false);
if (ind == NULL) return;
const IndustrySpec *ind_spc = GetIndustrySpec(cumulative_probs[j].ind);
SetDParam(0, ind_spc->name);
if (ind_spc->new_industry_text > STR_LAST_STRINGID) {
SetDParam(1, STR_TOWN_NAME);
SetDParam(2, ind->town->index);
} else {
SetDParam(1, ind->town->index);
}
AddIndustryNewsItem(ind_spc->new_industry_text, NS_INDUSTRY_OPEN, ind->index);
AI::BroadcastNewEvent(new AIEventIndustryOpen(ind->index));
AdvertiseIndustryOpening(ind);
}
/**