Functions to handle different currencies. More...
#include "date_type.h"
#include "strings_type.h"
Go to the source code of this file.
Data Structures | |
struct | CurrencySpec |
Specification of a currency. More... | |
Defines | |
#define | _custom_currency (_currency_specs[CURRENCY_CUSTOM]) |
#define | _currency ((const CurrencySpec*)&_currency_specs[GetGameSettings().locale.currency]) |
Enumerations | |
enum | Currencies { CURRENCY_GBP, CURRENCY_USD, CURRENCY_EUR, CURRENCY_JPY, CURRENCY_ATS, CURRENCY_BEF, CURRENCY_CHF, CURRENCY_CZK, CURRENCY_DEM, CURRENCY_DKK, CURRENCY_ESP, CURRENCY_FIM, CURRENCY_FRF, CURRENCY_GRD, CURRENCY_HUF, CURRENCY_ISK, CURRENCY_ITL, CURRENCY_NLG, CURRENCY_NOK, CURRENCY_PLN, CURRENCY_RON, CURRENCY_RUR, CURRENCY_SIT, CURRENCY_SEK, CURRENCY_YTL, CURRENCY_SKK, CURRENCY_BRL, CURRENCY_EEK, CURRENCY_LTL, CURRENCY_KRW, CURRENCY_ZAR, CURRENCY_CUSTOM, CURRENCY_GEL, CURRENCY_IRR, CURRENCY_END } |
This enum gives the currencies a unique id which must be maintained for savegame compatibility and in order to refer to them quickly, especially for referencing the custom one. More... | |
Functions | |
uint64 | GetMaskOfAllowedCurrencies () |
get a mask of the allowed currencies depending on the year | |
void | CheckSwitchToEuro () |
Verify if the currency chosen by the user is about to be converted to Euro. | |
void | ResetCurrencies (bool preserve_custom=true) |
Will fill _currency_specs array with default values from origin_currency_specs Called only from newgrf.cpp and settings.cpp. | |
StringID * | BuildCurrencyDropdown () |
Build a list of currency names StringIDs to use in a dropdown list. | |
byte | GetNewgrfCurrencyIdConverted (byte grfcurr_id) |
Will return the ottd's index correspondence to the ttdpatch's id. | |
Variables | |
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. | |
CurrencySpec | _currency_specs [CURRENCY_END] |
Array of currencies used by the system. |
Functions to handle different currencies.
Definition in file currency.h.
enum Currencies |
This enum gives the currencies a unique id which must be maintained for savegame compatibility and in order to refer to them quickly, especially for referencing the custom one.
Definition at line 26 of file currency.h.
StringID* BuildCurrencyDropdown | ( | ) |
Build a list of currency names StringIDs to use in a dropdown list.
Definition at line 161 of file currency.cpp.
References CURRENCY_END, and INVALID_STRING_ID.
Referenced by GameOptionsWindow::BuildDropDownList().
uint64 GetMaskOfAllowedCurrencies | ( | ) |
get a mask of the allowed currencies depending on the year
Definition at line 114 of file currency.cpp.
References _cur_year, CF_ISEURO, CF_NOEURO, CURRENCY_CUSTOM, SetBit(), and CurrencySpec::to_euro.
Referenced by GameOptionsWindow::BuildDropDownList().
byte GetNewgrfCurrencyIdConverted | ( | byte | grfcurr_id | ) |
Will return the ottd's index correspondence to the ttdpatch's id.
If the id is bigger than the array, it is a grf written for ottd, thus returning the same id. Only called from newgrf.cpp
grfcurr_id | currency id coming from newgrf |
Definition at line 105 of file currency.cpp.
References lengthof, and TTDPatch_To_OTTDIndex.
Referenced by GlobalVarChangeInfo().
void ResetCurrencies | ( | bool | preserve_custom | ) |
Will fill _currency_specs array with default values from origin_currency_specs Called only from newgrf.cpp and settings.cpp.
preserve_custom | will not reset custom currency (the latest one on the list) if ever it is flagged to true. In which case, the total size of the memory to move will be one currency spec less, thus preserving the custom currency from been overwritten. |
Definition at line 152 of file currency.cpp.
Referenced by LoadFromConfig(), and ResetNewGRFData().