(svn r21171) -Change: Reset industry build data at game start or load.

This commit is contained in:
alberth 2010-11-13 15:15:25 +00:00
parent 4d419b9f3e
commit f22fb0d53d
4 changed files with 27 additions and 2 deletions

View File

@ -151,6 +151,8 @@ struct IndustryTypeBuildData {
uint16 max_wait; ///< Starting number of turns to wait (copied to #wait_count).
uint16 wait_count; ///< Number of turns to wait before trying to build again.
void Reset();
void GetIndustryTypeData(IndustryType it);
};
@ -161,6 +163,8 @@ struct IndustryBuildData {
IndustryTypeBuildData builddata[NUM_INDUSTRYTYPES]; ///< Industry build data for every industry type.
uint32 wanted_inds; ///< Number of wanted industries (bits 31-16), and a fraction (bits 15-0).
void Reset();
void SetupTargetCount();
void TryBuildNewIndustry();
};

View File

@ -1955,6 +1955,22 @@ static void PlaceInitialIndustry(IndustryType type, bool try_hard)
cur_company.Restore();
}
/** Reset the entry. */
void IndustryTypeBuildData::Reset()
{
this->probability = 0;
this->target_count = 0;
}
/** Completely reset the industry build data. */
void IndustryBuildData::Reset()
{
for (IndustryType it = 0; it < NUM_INDUSTRYTYPES; it++) {
this->builddata[it].Reset();
}
}
/**
* This function will create random industries during game creation.
* It will scale the amount of industries by mapsize and difficulty level.
@ -2005,6 +2021,7 @@ void GenerateIndustries()
assert(industry_probs[it] > 0);
PlaceInitialIndustry(it, false);
}
_industry_builder.Reset();
}
/**
@ -2541,6 +2558,8 @@ void InitializeIndustries()
Industry::ResetIndustryCounts();
_industry_sound_tile = 0;
_industry_builder.Reset();
}
bool IndustrySpec::IsRawIndustry() const

View File

@ -2319,8 +2319,9 @@ bool AfterLoadGame()
}
}
if (CheckSavegameVersion(152)) {
_industry_builder.Reset(); // Initialize industry build data.
/* The moment vehicles go from hidden to visible changed. This means
* that vehicles don't always get visible anymore causing things to
* get messed up just after loading the savegame. This fixes that. */

View File

@ -214,8 +214,9 @@
* 149 20832
* 150 20857
* 151 20918
* 152 21171
*/
extern const uint16 SAVEGAME_VERSION = 151; ///< current savegame version of OpenTTD
extern const uint16 SAVEGAME_VERSION = 152; ///< Current savegame version of OpenTTD.
SavegameType _savegame_type; ///< type of savegame we are loading