From fae3cbae9fffc2fa3315d4e77f31bdd7d5a34a2c Mon Sep 17 00:00:00 2001 From: planetmaker Date: Sat, 9 Mar 2013 16:24:43 +0000 Subject: (svn r25075) -Codechange: Allow for more than 32 currencies --- src/currency.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/currency.cpp') diff --git a/src/currency.cpp b/src/currency.cpp index bae5f08d1..e812538e3 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -10,6 +10,8 @@ /** @file currency.cpp Support for different currencies. */ #include "stdafx.h" +#include "core/bitmath_func.hpp" + #include "currency.h" #include "news_func.h" #include "settings_type.h" @@ -107,9 +109,9 @@ byte GetNewgrfCurrencyIdConverted(byte grfcurr_id) * get a mask of the allowed currencies depending on the year * @return mask of currencies */ -uint GetMaskOfAllowedCurrencies() +uint64 GetMaskOfAllowedCurrencies() { - uint mask = 0; + uint64 mask = 0LL; uint i; for (i = 0; i < CURRENCY_END; i++) { @@ -117,9 +119,9 @@ uint GetMaskOfAllowedCurrencies() if (to_euro != CF_NOEURO && to_euro != CF_ISEURO && _cur_year >= to_euro) continue; if (to_euro == CF_ISEURO && _cur_year < 2000) continue; - mask |= (1 << i); + SetBit(mask, i); } - mask |= (1 << CURRENCY_CUSTOM); // always allow custom currency + SetBit(mask, CURRENCY_CUSTOM); // always allow custom currency return mask; } -- cgit v1.2.3-54-g00ecf