Changeset - r20792:d41be17c1b0b
[Not reviewed]
master
0 2 0
frosch - 11 years ago 2013-10-12 16:32:16
frosch@openttd.org
(svn r25836) -Codechange: Use NUM_INDUSTRYTYPES_PER_GRF instead of NUM_INDUSTRYTYPES to properly distinguish limits per NewGRF and limits of the pool.
2 files changed with 9 insertions and 7 deletions:
0 comments (0 inline, 0 general)
src/industry_type.h
Show inline comments
 
@@ -22,8 +22,10 @@ struct IndustryTileSpec;
 

	
 
static const IndustryID INVALID_INDUSTRY = 0xFFFF;
 

	
 
static const IndustryType NEW_INDUSTRYOFFSET     = 37;                ///< original number of industries
 
static const IndustryType NUM_INDUSTRYTYPES      = 64;                ///< total number of industries, new and old
 
static const IndustryType NUM_INDUSTRYTYPES_PER_GRF = 64;              ///< maximum number of industry types per NewGRF
 

	
 
static const IndustryType NEW_INDUSTRYOFFSET     = 37;                ///< original number of industry types
 
static const IndustryType NUM_INDUSTRYTYPES      = 64;                ///< total number of industry types, new and old
 
static const IndustryType INVALID_INDUSTRYTYPE   = NUM_INDUSTRYTYPES; ///< one above amount is considered invalid
 

	
 
static const IndustryGfx  INDUSTRYTILE_NOANIM    = 0xFF;              ///< flag to mark industry tiles as having no animation
src/newgrf.cpp
Show inline comments
 
@@ -3215,14 +3215,14 @@ static ChangeInfoResult IndustriesChange
 
{
 
	ChangeInfoResult ret = CIR_SUCCESS;
 

	
 
	if (indid + numinfo > NUM_INDUSTRYTYPES) {
 
		grfmsg(1, "IndustriesChangeInfo: Too many industries loaded (%u), max (%u). Ignoring.", indid + numinfo, NUM_INDUSTRYTYPES);
 
	if (indid + numinfo > NUM_INDUSTRYTYPES_PER_GRF) {
 
		grfmsg(1, "IndustriesChangeInfo: Too many industries loaded (%u), max (%u). Ignoring.", indid + numinfo, NUM_INDUSTRYTYPES_PER_GRF);
 
		return CIR_INVALID_ID;
 
	}
 

	
 
	/* Allocate industry specs if they haven't been allocated already. */
 
	if (_cur.grffile->industryspec == NULL) {
 
		_cur.grffile->industryspec = CallocT<IndustrySpec*>(NUM_INDUSTRYTYPES);
 
		_cur.grffile->industryspec = CallocT<IndustrySpec*>(NUM_INDUSTRYTYPES_PER_GRF);
 
	}
 

	
 
	for (int i = 0; i < numinfo; i++) {
 
@@ -7846,7 +7846,7 @@ static void ResetCustomIndustries()
 
		/* We are verifiying both tiles and industries specs loaded from the grf file
 
		 * First, let's deal with industryspec */
 
		if (industryspec != NULL) {
 
			for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) {
 
			for (uint i = 0; i < NUM_INDUSTRYTYPES_PER_GRF; i++) {
 
				IndustrySpec *ind = industryspec[i];
 
				if (ind == NULL) continue;
 

	
 
@@ -8482,7 +8482,7 @@ static void FinaliseIndustriesArray()
 
		IndustrySpec **&industryspec = (*file)->industryspec;
 
		IndustryTileSpec **&indtspec = (*file)->indtspec;
 
		if (industryspec != NULL) {
 
			for (int i = 0; i < NUM_INDUSTRYTYPES; i++) {
 
			for (int i = 0; i < NUM_INDUSTRYTYPES_PER_GRF; i++) {
 
				IndustrySpec *indsp = industryspec[i];
 

	
 
				if (indsp != NULL && indsp->enabled) {
0 comments (0 inline, 0 general)