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.h | |
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.h')
-rw-r--r-- | src/currency.h | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/src/currency.h b/src/currency.h index 40a110968..586b6197c 100644 --- a/src/currency.h +++ b/src/currency.h @@ -17,8 +17,46 @@ static const int CF_NOEURO = 0; ///< Currency never switches to the Euro (as far as known). static const int CF_ISEURO = 1; ///< Currency _is_ the Euro. -static const uint NUM_CURRENCY = 32; ///< Number of currencies. -static const int CUSTOM_CURRENCY_ID = NUM_CURRENCY - 1; ///< Index of the custom currency. + +/** + * This enum gives the currencies a unique id in order to refer + * quickly to them, especially the custom one. And to ensure + */ +enum Currencies { + CURRENCY_GBP, ///< British Pound + CURRENCY_USD, ///< US Dollar + CURRENCY_EUR, ///< Euro + CURRENCY_JPY, ///< Japanese Yen + CURRENCY_ATS, ///< Austrian Schilling + CURRENCY_BEF, ///< Belgian Franc + CURRENCY_CHF, ///< Swiss Franc + CURRENCY_CZK, ///< Czech Koruna + CURRENCY_DEM, ///< Deutsche Mark + CURRENCY_DKK, ///< Danish Krona + CURRENCY_ESP, ///< Spanish Peseta + CURRENCY_FIM, ///< Finish Markka + CURRENCY_FRF, ///< French Franc + CURRENCY_GRD, ///< Greek Drachma + CURRENCY_HUF, ///< Hungarian Forint + CURRENCY_ISK, ///< Icelandic Krona + CURRENCY_ITL, ///< Italian Lira + CURRENCY_NLG, ///< Dutch Gulden + CURRENCY_NOK, ///< Norwegian Krone + CURRENCY_PLN, ///< Polish Zloty + CURRENCY_RON, ///< Romenian Leu + CURRENCY_RUR, ///< Russian Rouble + CURRENCY_SIT, ///< Slovenian Tolar + CURRENCY_SEK, ///< Swedish Krona + CURRENCY_YTL, ///< Turkish Lira + CURRENCY_SKK, ///< Slovak Kornuna + CURRENCY_BRL, ///< Brazilian Real + CURRENCY_EEK, ///< Estonian Krooni + CURRENCY_LTL, ///< Lithuanian Litas + CURRENCY_KRW, ///< South Korean Won + CURRENCY_ZAR, ///< South African Rand + CURRENCY_CUSTOM, ///< Custom currency + CURRENCY_END, ///< always the last item +}; /** Specification of a currency. */ struct CurrencySpec { @@ -40,11 +78,10 @@ struct CurrencySpec { StringID name; }; - -extern CurrencySpec _currency_specs[NUM_CURRENCY]; +extern CurrencySpec _currency_specs[CURRENCY_END]; /* XXX small hack, but makes the rest of the code a bit nicer to read */ -#define _custom_currency (_currency_specs[CUSTOM_CURRENCY_ID]) +#define _custom_currency (_currency_specs[CURRENCY_CUSTOM]) #define _currency ((const CurrencySpec*)&_currency_specs[GetGameSettings().locale.currency]) uint GetMaskOfAllowedCurrencies(); |