changeset 16440:c776a99ce938 draft

(svn r21156) -Codechange: Introduce EconomyIsInRecession().
author alberth <alberth@openttd.org>
date Sat, 13 Nov 2010 09:45:20 +0000
parents d318b299c5de
children 86fd9bcc9d2f
files src/economy.cpp src/economy_func.h src/industry_cmd.cpp src/object_cmd.cpp src/town_cmd.cpp
diffstat 5 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/economy.cpp
+++ b/src/economy.cpp
@@ -710,7 +710,7 @@
 	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 {
--- a/src/economy_func.h
+++ b/src/economy_func.h
@@ -42,4 +42,13 @@
 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 */
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -497,7 +497,7 @@
 			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;
 
--- a/src/object_cmd.cpp
+++ b/src/object_cmd.cpp
@@ -508,7 +508,7 @@
 	/* 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 @@
 	 * 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());
 	}
 }
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -497,7 +497,7 @@
 		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 @@
 		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());
 		}