Change: Switch town growth rate and counter to actual game ticks (#6763)

This commit is contained in:
Pavel Stupnikov
2018-05-02 22:01:30 +03:00
committed by frosch
parent 61515c9abd
commit fef8b831a9
8 changed files with 68 additions and 37 deletions

View File

@@ -2969,6 +2969,19 @@ bool AfterLoadGame()
#endif
}
if (IsSavegameVersionBefore(198)) {
/* Convert towns growth_rate and grow_counter to ticks */
Town *t;
FOR_ALL_TOWNS(t) {
/* 0x8000 = TOWN_GROWTH_RATE_CUSTOM previously */
if (t->growth_rate & 0x8000) SetBit(t->flags, TOWN_CUSTOM_GROWTH);
if (t->growth_rate != TOWN_GROWTH_RATE_NONE) {
t->growth_rate = TownTicksToGameTicks(t->growth_rate & ~0x8000);
}
/* Add t->index % TOWN_GROWTH_TICKS to spread growth across ticks. */
t->grow_counter = TownTicksToGameTicks(t->grow_counter) + t->index % TOWN_GROWTH_TICKS;
}
}
/* Station acceptance is some kind of cache */
if (IsSavegameVersionBefore(127)) {

View File

@@ -265,8 +265,9 @@
* 195 27572 1.6.x
* 196 27778 1.7.x
* 197 27978 1.8.x
* 198
*/
extern const uint16 SAVEGAME_VERSION = 197; ///< Current savegame version of OpenTTD.
extern const uint16 SAVEGAME_VERSION = 198; ///< Current savegame version of OpenTTD.
SavegameType _savegame_type; ///< type of savegame we are loading
FileToSaveLoad _file_to_saveload; ///< File to save or load in the openttd loop.