From 43f807a9189a1dde0260f40f8553bcc8050a3e1d Mon Sep 17 00:00:00 2001 From: alberth Date: Sat, 13 Nov 2010 09:45:20 +0000 Subject: [PATCH] (svn r21156) -Codechange: Introduce EconomyIsInRecession(). --- src/economy.cpp | 2 +- src/economy_func.h | 9 +++++++++ src/industry_cmd.cpp | 2 +- src/object_cmd.cpp | 4 ++-- src/town_cmd.cpp | 4 ++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/economy.cpp b/src/economy.cpp index 9961250058..87d946f95c 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -710,7 +710,7 @@ static void HandleEconomyFluctuations() if (_settings_game.difficulty.economy != 0) { /* When economy is Fluctuating, decrease counter */ _economy.fluct--; - } else if (_economy.fluct <= 0) { + } else if (EconomyIsInRecession()) { /* When it's Steady and we are in recession, end it now */ _economy.fluct = -12; } else { diff --git a/src/economy_func.h b/src/economy_func.h index dfeefbb9c1..e9c9c170d7 100644 --- a/src/economy_func.h +++ b/src/economy_func.h @@ -42,4 +42,13 @@ void InitializeEconomy(); void RecomputePrices(); void AddInflation(bool check_year = true); +/** + * Is the economy in recession? + * @return \c True if economy is in recession, \c false otherwise. + */ +static inline bool EconomyIsInRecession() +{ + return _economy.fluct <= 0; +} + #endif /* ECONOMY_FUNC_H */ diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 2e617afe2f..a56ed02b59 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -497,7 +497,7 @@ static void TransportIndustryGoods(TileIndex tile) i->produced_cargo_waiting[j] -= cw; /* fluctuating economy? */ - if (_economy.fluct <= 0) cw = (cw + 1) / 2; + if (EconomyIsInRecession()) cw = (cw + 1) / 2; i->this_month_production[j] += cw; diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 4ad51d58f1..0cf87a50e0 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -508,7 +508,7 @@ static void TileLoop_Object(TileIndex tile) /* Top town buildings generate 250, so the top HQ type makes 256. */ if (GB(r, 0, 8) < (256 / 4 / (6 - level))) { uint amt = GB(r, 0, 8) / 8 / 4 + 1; - if (_economy.fluct <= 0) amt = (amt + 1) >> 1; + if (EconomyIsInRecession()) amt = (amt + 1) >> 1; MoveGoodsToStation(CT_PASSENGERS, amt, ST_HEADQUARTERS, GetTileOwner(tile), stations.GetStations()); } @@ -517,7 +517,7 @@ static void TileLoop_Object(TileIndex tile) * equations. */ if (GB(r, 8, 8) < (196 / 4 / (6 - level))) { uint amt = GB(r, 8, 8) / 8 / 4 + 1; - if (_economy.fluct <= 0) amt = (amt + 1) >> 1; + if (EconomyIsInRecession()) amt = (amt + 1) >> 1; MoveGoodsToStation(CT_MAIL, amt, ST_HEADQUARTERS, GetTileOwner(tile), stations.GetStations()); } } diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index e08cbb1586..3f22313265 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -497,7 +497,7 @@ static void TileLoop_Town(TileIndex tile) if (GB(r, 0, 8) < hs->population) { uint amt = GB(r, 0, 8) / 8 + 1; - if (_economy.fluct <= 0) amt = (amt + 1) >> 1; + if (EconomyIsInRecession()) amt = (amt + 1) >> 1; t->new_max_pass += amt; t->new_act_pass += MoveGoodsToStation(CT_PASSENGERS, amt, ST_TOWN, t->index, stations.GetStations()); } @@ -505,7 +505,7 @@ static void TileLoop_Town(TileIndex tile) if (GB(r, 8, 8) < hs->mail_generation) { uint amt = GB(r, 8, 8) / 8 + 1; - if (_economy.fluct <= 0) amt = (amt + 1) >> 1; + if (EconomyIsInRecession()) amt = (amt + 1) >> 1; t->new_max_mail += amt; t->new_act_mail += MoveGoodsToStation(CT_MAIL, amt, ST_TOWN, t->index, stations.GetStations()); }