diff options
author | planetmaker <planetmaker@openttd.org> | 2013-03-09 16:16:17 +0000 |
---|---|---|
committer | planetmaker <planetmaker@openttd.org> | 2013-03-09 16:16:17 +0000 |
commit | c22bbf5293d5727a061ed9839d8ab397710b81d0 (patch) | |
tree | 4cecdc676abac4ad4e40c898a73e18c7f479c94c /src/currency.cpp | |
parent | 54915063f041d552f2eb86e39bd1637cacbaa32b (diff) | |
download | openttd-c22bbf5293d5727a061ed9839d8ab397710b81d0.tar.xz |
(svn r25072) -Codechange: Don't require the custom currency to be the last defined one
Diffstat (limited to 'src/currency.cpp')
-rw-r--r-- | src/currency.cpp | 90 |
1 files changed, 26 insertions, 64 deletions
diff --git a/src/currency.cpp b/src/currency.cpp index 44cd6dd01..bae5f08d1 100644 --- a/src/currency.cpp +++ b/src/currency.cpp @@ -23,7 +23,7 @@ * | | Euro year | | | name * | | | | | | | */ /** The original currency specifications. */ -static const CurrencySpec origin_currency_specs[NUM_CURRENCY] = { +static const CurrencySpec origin_currency_specs[CURRENCY_END] = { { 1, "", CF_NOEURO, "\xC2\xA3", "", 0, STR_GAME_OPTIONS_CURRENCY_GBP }, ///< british pound { 2, "", CF_NOEURO, "$", "", 0, STR_GAME_OPTIONS_CURRENCY_USD }, ///< american dollar { 2, "", CF_ISEURO, "\xE2\x82\xAC", "", 0, STR_GAME_OPTIONS_CURRENCY_EUR }, ///< euro @@ -55,49 +55,11 @@ static const CurrencySpec origin_currency_specs[NUM_CURRENCY] = { { 4, "", 2014, "", NBSP "Lt", 1, STR_GAME_OPTIONS_CURRENCY_LTL }, ///< lithuanian litas { 1850, "", CF_NOEURO, "\xE2\x82\xA9", "", 0, STR_GAME_OPTIONS_CURRENCY_KRW }, ///< south korean won { 13, "", CF_NOEURO, "R" NBSP, "", 0, STR_GAME_OPTIONS_CURRENCY_ZAR }, ///< south african rand - { 1, "", CF_NOEURO, "", "", 2, STR_GAME_OPTIONS_CURRENCY_CUSTOM }, ///< custom currency + { 1, "", CF_NOEURO, "", "", 2, STR_GAME_OPTIONS_CURRENCY_CUSTOM }, ///< custom currency (add further languages below) }; /** Array of currencies used by the system */ -CurrencySpec _currency_specs[NUM_CURRENCY]; - -/** - * These enums are only declared in order to make sense - * out of the TTDPatch_To_OTTDIndex array that will follow - * Every currency used by Ottd is there, just in case TTDPatch will - * add those missing in its code - */ -enum Currencies { - CURR_GBP, - CURR_USD, - CURR_EUR, - CURR_JPY, - CURR_ATS, - CURR_BEF, - CURR_CHF, - CURR_CZK, - CURR_DEM, - CURR_DKK, - CURR_ESP, - CURR_FIM, - CURR_FRF, - CURR_GRD, - CURR_HUF, - CURR_ISK, - CURR_ITL, - CURR_NLG, - CURR_NOK, - CURR_PLN, - CURR_RON, - CURR_RUR, - CURR_SIT, - CURR_SEK, - CURR_YTL, - CURR_SKK, - CURR_BRL, - CURR_EEK, - CURR_LTL, -}; +CurrencySpec _currency_specs[CURRENCY_END]; /** * This array represent the position of OpenTTD's currencies, @@ -107,25 +69,25 @@ enum Currencies { */ const byte TTDPatch_To_OTTDIndex[] = { - CURR_GBP, - CURR_USD, - CURR_FRF, - CURR_DEM, - CURR_JPY, - CURR_ESP, - CURR_HUF, - CURR_PLN, - CURR_ATS, - CURR_BEF, - CURR_DKK, - CURR_FIM, - CURR_GRD, - CURR_CHF, - CURR_NLG, - CURR_ITL, - CURR_SEK, - CURR_RUR, - CURR_EUR, + CURRENCY_GBP, + CURRENCY_USD, + CURRENCY_FRF, + CURRENCY_DEM, + CURRENCY_JPY, + CURRENCY_ESP, + CURRENCY_HUF, + CURRENCY_PLN, + CURRENCY_ATS, + CURRENCY_BEF, + CURRENCY_DKK, + CURRENCY_FIM, + CURRENCY_GRD, + CURRENCY_CHF, + CURRENCY_NLG, + CURRENCY_ITL, + CURRENCY_SEK, + CURRENCY_RUR, + CURRENCY_EUR, }; /** @@ -150,14 +112,14 @@ uint GetMaskOfAllowedCurrencies() uint mask = 0; uint i; - for (i = 0; i < NUM_CURRENCY; i++) { + for (i = 0; i < CURRENCY_END; i++) { Year to_euro = _currency_specs[i].to_euro; 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); } - mask |= (1 << CUSTOM_CURRENCY_ID); // always allow custom currency + mask |= (1 << CURRENCY_CUSTOM); // always allow custom currency return mask; } @@ -195,11 +157,11 @@ void ResetCurrencies(bool preserve_custom) StringID *BuildCurrencyDropdown() { /* Allow room for all currencies, plus a terminator entry */ - static StringID names[NUM_CURRENCY + 1]; + static StringID names[CURRENCY_END + 1]; uint i; /* Add each name */ - for (i = 0; i < NUM_CURRENCY; i++) { + for (i = 0; i < CURRENCY_END; i++) { names[i] = _currency_specs[i].name; } /* Terminate the list */ |