|
@@ -208,14 +208,14 @@ static inline IndustryID GetMaxIndustryI
|
|
|
return GetIndustryPoolSize() - 1;
|
|
|
}
|
|
|
|
|
|
extern int _total_industries; // general counter
|
|
|
extern uint16 _industry_counts[NUM_INDUSTRYTYPES]; // Number of industries per type ingame
|
|
|
|
|
|
static inline uint GetNumIndustries()
|
|
|
{
|
|
|
extern int _total_industries; // general counter
|
|
|
return _total_industries;
|
|
|
}
|
|
|
|
|
|
extern uint16 _industry_counts[NUM_INDUSTRYTYPES]; // Number of industries per type ingame
|
|
|
|
|
|
/** Increment the count of industries for this type
|
|
|
* @param type IndustryType to increment
|
|
|
* @pre type < INVALID_INDUSTRYTYPE */
|
|
@@ -223,6 +223,7 @@ static inline void IncIndustryTypeCount(
|
|
|
{
|
|
|
assert(type < INVALID_INDUSTRYTYPE);
|
|
|
_industry_counts[type]++;
|
|
|
_total_industries++;
|
|
|
}
|
|
|
|
|
|
/** Decrement the count of industries for this type
|
|
@@ -232,6 +233,7 @@ static inline void DecIndustryTypeCount(
|
|
|
{
|
|
|
assert(type < INVALID_INDUSTRYTYPE);
|
|
|
_industry_counts[type]--;
|
|
|
_total_industries--;
|
|
|
}
|
|
|
|
|
|
/** get the count of industries for this type
|
|
@@ -243,6 +245,14 @@ static inline uint8 GetIndustryTypeCount
|
|
|
return min(_industry_counts[type], 0xFF); // callback expects only a byte, so cut it
|
|
|
}
|
|
|
|
|
|
/** Resets both the total_industries and the _industry_counts
|
|
|
* This way, we centralize all counts activities */
|
|
|
static inline void ResetIndustryCounts()
|
|
|
{
|
|
|
_total_industries = 0;
|
|
|
memset(&_industry_counts, 0, sizeof(_industry_counts));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Return a random valid industry.
|
|
|
*/
|