Changeset - r19282:4d6e684192fc
[Not reviewed]
master
0 1 0
frosch - 12 years ago 2012-04-28 16:07:28
frosch@openttd.org
(svn r24185) -Codechange: Deduplicate some only partly deduplicated code.
1 file changed with 20 insertions and 30 deletions:
0 comments (0 inline, 0 general)
src/industry_cmd.cpp
Show inline comments
 
@@ -1582,6 +1582,25 @@ static CommandCost CheckIfFarEnoughFromC
 
}
 

	
 
/**
 
 * Advertise about a new industry opening.
 
 * @param ind Industry being opened.
 
 */
 
static void AdvertiseIndustryOpening(const 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 ScriptEventIndustryOpen(ind->index));
 
	Game::NewEvent(new ScriptEventIndustryOpen(ind->index));
 
}
 

	
 
/**
 
 * Put an industry on the map.
 
 * @param i       Just allocated poolitem, mostly empty.
 
 * @param tile    North tile of the industry.
 
@@ -1867,17 +1886,7 @@ CommandCost CmdBuildIndustry(TileIndex t
 
	}
 

	
 
	if ((flags & DC_EXEC) && ind != NULL && _game_mode != GM_EDITOR) {
 
		/* Created a new industry in-game, advertise the event. */
 
		SetDParam(0, indspec->name);
 
		if (indspec->new_industry_text > STR_LAST_STRINGID) {
 
			SetDParam(1, STR_TOWN_NAME);
 
			SetDParam(2, ind->town->index);
 
		} else {
 
			SetDParam(1, ind->town->index);
 
		}
 
		AddIndustryNewsItem(indspec->new_industry_text, NS_INDUSTRY_OPEN, ind->index);
 
		AI::BroadcastNewEvent(new ScriptEventIndustryOpen(ind->index));
 
		Game::NewEvent(new ScriptEventIndustryOpen(ind->index));
 
		AdvertiseIndustryOpening(ind);
 
	}
 

	
 
	return CommandCost(EXPENSES_OTHER, indspec->GetConstructionCost());
 
@@ -1976,25 +1985,6 @@ static uint GetNumberOfIndustries()
 
}
 

	
 
/**
 
 * Advertise about a new industry opening.
 
 * @param ind Industry being opened.
 
 */
 
static void AdvertiseIndustryOpening(const 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 ScriptEventIndustryOpen(ind->index));
 
	Game::NewEvent(new ScriptEventIndustryOpen(ind->index));
 
}
 

	
 
/**
 
 * Try to place the industry in the game.
 
 * Since there is no feedback why placement fails, there is no other option
 
 * than to try a few times before concluding it does not work.
0 comments (0 inline, 0 general)