diff options
author | frosch <frosch@openttd.org> | 2012-10-01 19:29:31 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2012-10-01 19:29:31 +0000 |
commit | 712260202660ffaf19342b43c0b34cd2e2093434 (patch) | |
tree | 4723c95c9c4051fbbb322e5e28f9f2c50372bbc6 | |
parent | d07676e03f4a923ed522d86c0f0985f4428c9969 (diff) | |
download | openttd-712260202660ffaf19342b43c0b34cd2e2093434.tar.xz |
(svn r24564) -Fix [FS#5312] (r17433): Limiting the inflation did not quite work.
-rw-r--r-- | src/economy.cpp | 7 | ||||
-rw-r--r-- | src/saveload/afterload.cpp | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/economy.cpp b/src/economy.cpp index d767524ed..5026e0127 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -676,8 +676,11 @@ void AddInflation(bool check_year) * 12 -> months per year * This is only a good approxiamtion for small values */ - _economy.inflation_prices += min((_economy.inflation_prices * _economy.infl_amount * 54) >> 16, MAX_INFLATION); - _economy.inflation_payment += min((_economy.inflation_payment * _economy.infl_amount_pr * 54) >> 16, MAX_INFLATION); + _economy.inflation_prices += (_economy.inflation_prices * _economy.infl_amount * 54) >> 16; + _economy.inflation_payment += (_economy.inflation_payment * _economy.infl_amount_pr * 54) >> 16; + + if (_economy.inflation_prices > MAX_INFLATION) _economy.inflation_prices = MAX_INFLATION; + if (_economy.inflation_payment > MAX_INFLATION) _economy.inflation_payment = MAX_INFLATION; } /** diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 8a87dcc40..d97aa2aaf 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -2742,6 +2742,12 @@ bool AfterLoadGame() FOR_ALL_COMPANIES(c) c->tree_limit = _settings_game.construction.tree_frame_burst << 16; } + if (IsSavegameVersionBefore(177)) { + /* Fix too high inflation rates */ + if (_economy.inflation_prices > MAX_INFLATION) _economy.inflation_prices = MAX_INFLATION; + if (_economy.inflation_payment > MAX_INFLATION) _economy.inflation_payment = MAX_INFLATION; + } + /* Road stops is 'only' updating some caches */ AfterLoadRoadStops(); AfterLoadLabelMaps(); |