Changeset - r19582:dc0eafc8298f
[Not reviewed]
master
0 8 0
frosch - 12 years ago 2012-09-08 12:14:00
frosch@openttd.org
(svn r24513) -Add: [Script] ScriptIndustryType::IsProcessingIndustry.
8 files changed with 43 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/industry_cmd.cpp
Show inline comments
 
@@ -2722,8 +2722,17 @@ void InitializeIndustries()
 
 */
 
bool IndustrySpec::IsRawIndustry() const
 
{
 
	/* Lumber mills are extractive/organic, but can always be built like a non-raw industry */
 
	return (this->life_type & (INDUSTRYLIFE_EXTRACTIVE | INDUSTRYLIFE_ORGANIC)) != 0 &&
 
	return (this->life_type & (INDUSTRYLIFE_EXTRACTIVE | INDUSTRYLIFE_ORGANIC)) != 0;
 
}
 

	
 
/**
 
 * Is an industry with the spec a processing industry?
 
 * @return true if it should be handled as a processing industry
 
 */
 
bool IndustrySpec::IsProcessingIndustry() const
 
{
 
	/* Lumber mills are neither raw nor processing */
 
	return (this->life_type & INDUSTRYLIFE_PROCESSING) != 0 &&
 
			(this->behaviour & INDUSTRYBEH_CUT_TREES) == 0;
 
}
 

	
src/industrytype.h
Show inline comments
 
@@ -136,6 +136,7 @@ struct IndustrySpec {
 
	GRFFileProps grf_prop;                ///< properties related to the grf file
 

	
 
	bool IsRawIndustry() const;
 
	bool IsProcessingIndustry() const;
 
	Money GetConstructionCost() const;
 
	Money GetRemovalCost() const;
 
	bool UsesSmoothEconomy() const;
src/script/api/ai/ai_industrytype.hpp.sq
Show inline comments
 
@@ -29,6 +29,7 @@ void SQAIIndustryType_Register(Squirrel 
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::GetProducedCargo,      "GetProducedCargo",      2, ".i");
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::GetAcceptedCargo,      "GetAcceptedCargo",      2, ".i");
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::IsRawIndustry,         "IsRawIndustry",         2, ".i");
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::IsProcessingIndustry,  "IsProcessingIndustry",  2, ".i");
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::ProductionCanIncrease, "ProductionCanIncrease", 2, ".i");
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::GetConstructionCost,   "GetConstructionCost",   2, ".i");
 
	SQAIIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::CanBuildIndustry,      "CanBuildIndustry",      2, ".i");
src/script/api/ai_changelog.hpp
Show inline comments
 
@@ -22,6 +22,7 @@
 
 * API additions:
 
 * \li AIEventExclusiveTransportRights
 
 * \li AIEventRoadReconstruction
 
 * \li AIIndustryType::IsProcessingIndustry
 
 * \li AIStation::IsAirportClosed
 
 * \li AIStation::OpenCloseAirport
 
 *
src/script/api/game/game_industrytype.hpp.sq
Show inline comments
 
@@ -29,6 +29,7 @@ void SQGSIndustryType_Register(Squirrel 
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::GetProducedCargo,      "GetProducedCargo",      2, ".i");
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::GetAcceptedCargo,      "GetAcceptedCargo",      2, ".i");
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::IsRawIndustry,         "IsRawIndustry",         2, ".i");
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::IsProcessingIndustry,  "IsProcessingIndustry",  2, ".i");
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::ProductionCanIncrease, "ProductionCanIncrease", 2, ".i");
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::GetConstructionCost,   "GetConstructionCost",   2, ".i");
 
	SQGSIndustryType.DefSQStaticMethod(engine, &ScriptIndustryType::CanBuildIndustry,      "CanBuildIndustry",      2, ".i");
src/script/api/game_changelog.hpp
Show inline comments
 
@@ -25,6 +25,7 @@
 
 * \li GSEventExclusiveTransportRights
 
 * \li GSEventRoadReconstruction
 
 * \li GSNews::NT_ACCIDENT, GSNews::NT_COMPANY_INFO, GSNews::NT_ADVICE, GSNews::NT_ACCEPTANCE
 
 * \li GSIndustryType::IsProcessingIndustry
 
 * \li GSStation::IsAirportClosed
 
 * \li GSStation::OpenCloseAirport
 
 *
src/script/api/script_industrytype.cpp
Show inline comments
 
@@ -32,6 +32,13 @@
 
	return ::GetIndustrySpec(industry_type)->IsRawIndustry();
 
}
 

	
 
/* static */ bool ScriptIndustryType::IsProcessingIndustry(IndustryType industry_type)
 
{
 
	if (!IsValidIndustryType(industry_type)) return false;
 

	
 
	return ::GetIndustrySpec(industry_type)->IsProcessingIndustry();
 
}
 

	
 
/* static */ bool ScriptIndustryType::ProductionCanIncrease(IndustryType industry_type)
 
{
 
	if (!IsValidIndustryType(industry_type)) return false;
src/script/api/script_industrytype.hpp
Show inline comments
 
@@ -65,13 +65,33 @@ public:
 

	
 
	/**
 
	 * Is this industry type a raw industry?
 
	 * Raw industries usually produce cargo without any prerequisites.
 
	 * ("Usually" means that advanced NewGRF industry concepts might not fit the "raw"/"processing"
 
	 * classification, so it's up to the interpretation of the NewGRF author.)
 
	 * @param industry_type The type of the industry.
 
	 * @pre IsValidIndustryType(industry_type).
 
	 * @return True if it should be handled as a raw industry.
 
	 * @note Industries might be neither raw nor processing.
 
	 *       This is usually the case for industries which produce nothing (e.g. power plants),
 
	 *       but also for weird industries like temperate banks and tropic lumber mills.
 
	 */
 
	static bool IsRawIndustry(IndustryType industry_type);
 

	
 
	/**
 
	 * Is this industry type a processing industry?
 
	 * Processing industries usually produce cargo when delivered with input cargo.
 
	 * ("Usually" means that advanced NewGRF industry concepts might not fit the "raw"/"processing"
 
	 * classification, so it's up to the interpretation of the NewGRF author.)
 
	 * @param industry_type The type of the industry.
 
	 * @pre IsValidIndustryType(industry_type).
 
	 * @return True if it is a processing industry.
 
	 * @note Industries might be neither raw nor processing.
 
	 *       This is usually the case for industries which produce nothing (e.g. power plants),
 
	 *       but also for weird industries like temperate banks and tropic lumber mills.
 
	 */
 
	static bool IsProcessingIndustry(IndustryType industry_type);
 

	
 
	/**
 
	 * Can the production of this industry increase?
 
	 * @param industry_type The type of the industry.
 
	 * @pre IsValidIndustryType(industry_type).
0 comments (0 inline, 0 general)