mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-22 15:11:54 +00:00
(svn r1222) Currency cleanup. Changed some currency symbols according to forum suggestions (thx ChrisCF) and rearranged the currencies alphabetically (except for the major ones).
This commit is contained in:
parent
5c7decc27d
commit
b7f71b026d
25
economy.c
25
economy.c
@ -18,6 +18,31 @@
|
||||
#include "engine.h"
|
||||
#include "network_data.h"
|
||||
|
||||
// get a mask of the allowed currencies depending on the year
|
||||
uint GetMaskOfAllowedCurrencies()
|
||||
{
|
||||
int i;
|
||||
uint mask = 0;
|
||||
for(i=0; i!=lengthof(_currency_specs); i++) {
|
||||
uint16 to_euro = _currency_specs[i].to_euro;
|
||||
if (i == 23) mask |= (1 << 23); // always allow custom currency
|
||||
if (to_euro != CF_NOEURO && to_euro != CF_ISEURO && _cur_year >= (to_euro-1920)) continue;
|
||||
if (_cur_year < (2000-1920) && (to_euro == CF_ISEURO)) continue;
|
||||
mask |= (1 << i);
|
||||
}
|
||||
return mask;
|
||||
}
|
||||
|
||||
void CheckSwitchToEuro()
|
||||
{
|
||||
if (_currency_specs[_opt.currency].to_euro != CF_NOEURO &&
|
||||
_currency_specs[_opt.currency].to_euro != CF_ISEURO &&
|
||||
_cur_year >= (_currency_specs[_opt.currency].to_euro-1920)) {
|
||||
_opt.currency = 2; // this is the index of euro above.
|
||||
AddNewsItem(STR_EURO_INTRODUCE, NEWS_FLAGS(NM_NORMAL,0,NT_ECONOMY,0), 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdatePlayerHouse(Player *p, uint score)
|
||||
{
|
||||
byte val;
|
||||
|
@ -868,30 +868,31 @@ STR_TOWNNAME_ROMANIAN :Romanian
|
||||
STR_TOWNNAME_CZECH :Czech
|
||||
############ end of townname region
|
||||
|
||||
STR_CURR_POUNDS :Pounds ({POUNDSIGN})
|
||||
STR_CURR_DOLLARS :Dollars ($)
|
||||
STR_CURR_FF :Franc (FF)
|
||||
STR_CURR_DM :Deutschmark (DM)
|
||||
STR_CURR_YEN :Yen ({YENSIGN})
|
||||
STR_CURR_PT :Peseta (Pt)
|
||||
STR_CURR_FT :Hungarian Forint (Ft)
|
||||
STR_CURR_ZL :Polish Zloty (zl)
|
||||
STR_CURR_ATS :Austrian Shilling (ATS)
|
||||
STR_CURR_BEF :Belgian Franc (BEF)
|
||||
STR_CURR_DKK :Danish Krone (DKK)
|
||||
STR_CURR_FIM :Finnish Markka (FIM)
|
||||
STR_CURR_GRD :Greek Drachma (GRD)
|
||||
STR_CURR_CHF :Swiss Franc (CHF)
|
||||
STR_CURR_NLG :Dutch Guilder (NLG)
|
||||
STR_CURR_ITL :Italian Lira (ITL)
|
||||
STR_CURR_CUSTOM :Custom...
|
||||
STR_CURR_SEK :Swedish Krona (SEK)
|
||||
STR_CURR_RUR :Russian Rubel (rur)
|
||||
STR_CURR_CZK :Czech Koruna (CZK)
|
||||
STR_CURR_ISK :Icelandic Krona (ISK)
|
||||
STR_CURR_NOK :Norwegian Krone (NOK)
|
||||
STR_CURR_ROL :Romanian Leu (Lei)
|
||||
STR_CURR_EUR :Euro (¤)
|
||||
STR_CURR_GBP :Pounds ({POUNDSIGN})
|
||||
STR_CURR_USD :Dollars ($)
|
||||
STR_CURR_EUR :Euro (¤)
|
||||
STR_CURR_YEN :Yen ({YENSIGN})
|
||||
STR_CURR_ATS :Austrian Shilling (ATS)
|
||||
STR_CURR_BEF :Belgian Franc (BEF)
|
||||
STR_CURR_CHF :Swiss Franc (CHF)
|
||||
STR_CURR_CZK :Czech Koruna (CZK)
|
||||
STR_CURR_DEM :Deutschmark (DEM)
|
||||
STR_CURR_DKK :Danish Krone (DKK)
|
||||
STR_CURR_ESP :Peseta (ESP)
|
||||
STR_CURR_FIM :Finnish Markka (FIM)
|
||||
STR_CURR_FRF :Franc (FRF)
|
||||
STR_CURR_GRD :Greek Drachma (GRD)
|
||||
STR_CURR_HUF :Hungarian Forint (HUF)
|
||||
STR_CURR_ISK :Icelandic Krona (ISK)
|
||||
STR_CURR_ITL :Italian Lira (ITL)
|
||||
STR_CURR_NLG :Dutch Guilder (NLG)
|
||||
STR_CURR_NOK :Norwegian Krone (NOK)
|
||||
STR_CURR_PLN :Polish Zloty (PLN)
|
||||
STR_CURR_ROL :Romanian Leu (ROL)
|
||||
STR_CURR_RUR :Russian Rubles (RUR)
|
||||
STR_CURR_SEK :Swedish Krona (SEK)
|
||||
|
||||
STR_CURR_CUSTOM :Custom...
|
||||
|
||||
STR_OPTIONS_LANG :{BLACK}Language
|
||||
STR_OPTIONS_LANG_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
enum {
|
||||
SAVEGAME_MAJOR_VERSION = 4,
|
||||
SAVEGAME_MINOR_VERSION = 1,
|
||||
SAVEGAME_MINOR_VERSION = 2,
|
||||
|
||||
SAVEGAME_LOADABLE_VERSION = (SAVEGAME_MAJOR_VERSION << 8) + SAVEGAME_MINOR_VERSION
|
||||
};
|
||||
|
55
strings.c
55
strings.c
@ -33,29 +33,29 @@ typedef struct {
|
||||
} LanguagePackHeader;
|
||||
|
||||
const uint16 _currency_string_list[] = {
|
||||
STR_CURR_POUNDS,
|
||||
STR_CURR_DOLLARS,
|
||||
STR_CURR_FF,
|
||||
STR_CURR_DM,
|
||||
STR_CURR_GBP,
|
||||
STR_CURR_USD,
|
||||
STR_CURR_EUR,
|
||||
STR_CURR_YEN,
|
||||
STR_CURR_PT,
|
||||
STR_CURR_FT,
|
||||
STR_CURR_ZL,
|
||||
STR_CURR_ATS,
|
||||
STR_CURR_BEF,
|
||||
STR_CURR_DKK,
|
||||
STR_CURR_FIM,
|
||||
STR_CURR_GRD,
|
||||
STR_CURR_CHF,
|
||||
STR_CURR_NLG,
|
||||
STR_CURR_ITL,
|
||||
STR_CURR_SEK,
|
||||
STR_CURR_RUR,
|
||||
STR_CURR_CZK,
|
||||
STR_CURR_DEM,
|
||||
STR_CURR_DKK,
|
||||
STR_CURR_ESP,
|
||||
STR_CURR_FIM,
|
||||
STR_CURR_FRF,
|
||||
STR_CURR_GRD,
|
||||
STR_CURR_HUF,
|
||||
STR_CURR_ISK,
|
||||
STR_CURR_ITL,
|
||||
STR_CURR_NLG,
|
||||
STR_CURR_NOK,
|
||||
STR_CURR_EUR,
|
||||
STR_CURR_PLN,
|
||||
STR_CURR_ROL,
|
||||
STR_CURR_RUR,
|
||||
STR_CURR_SEK,
|
||||
STR_CURR_CUSTOM,
|
||||
INVALID_STRING_ID
|
||||
};
|
||||
@ -67,31 +67,6 @@ static const uint16 _cargo_string_list[NUM_LANDSCAPE][NUM_CARGO] = {
|
||||
/* LT_CANDY */ {STR_PASSENGERS, STR_TONS, STR_BAGS, STR_NOTHING, STR_NOTHING, STR_TONS, STR_TONS, STR_LITERS, STR_TONS, STR_NOTHING, STR_LITERS, STR_NOTHING}
|
||||
};
|
||||
|
||||
// get a mask of the allowed currencies depending on the year
|
||||
uint GetMaskOfAllowedCurrencies()
|
||||
{
|
||||
int i;
|
||||
uint mask = 0;
|
||||
for(i=0; i!=lengthof(_currency_specs); i++) {
|
||||
uint16 to_euro = _currency_specs[i].to_euro;
|
||||
if (i == 23) mask |= (1 << 23); // always allow custom currency
|
||||
if (to_euro != CF_NOEURO && to_euro != CF_ISEURO && _cur_year >= (to_euro-1920)) continue;
|
||||
if (_cur_year < (2000-1920) && (to_euro == CF_ISEURO)) continue;
|
||||
mask |= (1 << i);
|
||||
}
|
||||
return mask;
|
||||
}
|
||||
|
||||
void CheckSwitchToEuro()
|
||||
{
|
||||
if (_currency_specs[_opt.currency].to_euro != CF_NOEURO &&
|
||||
_currency_specs[_opt.currency].to_euro != CF_ISEURO &&
|
||||
_cur_year >= (_currency_specs[_opt.currency].to_euro-1920)) {
|
||||
_opt.currency = 21; // this is the index of euro above.
|
||||
AddNewsItem(STR_EURO_INTRODUCE, NEWS_FLAGS(NM_NORMAL,0,NT_ECONOMY,0), 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static byte *str_cat(byte *dst, const byte *src)
|
||||
{
|
||||
while ( (*dst++ = *src++) != 0) {}
|
||||
|
@ -1,26 +1,30 @@
|
||||
|
||||
// exchange rate prefix
|
||||
// | separator | postfix
|
||||
// | | Euro year | |
|
||||
// | | | | |
|
||||
CurrencySpec _currency_specs[] = {
|
||||
{ 1, ',', CF_NOEURO, "\xA3", "" }, // british pounds
|
||||
{ 2, ',', CF_NOEURO, "$", "" }, // us dollars
|
||||
{ 10, '.', 2002, "FF ", "" }, // french francs
|
||||
{ 4, '.', 2002, "DM ", "" }, // deutsche mark
|
||||
{ 200, ',', CF_NOEURO, "\xA5", "" }, // yen
|
||||
{ 200, '.', 2002, "Pt", "" }, // spanish pesetas
|
||||
{ 376, ',', 2002, "", " Ft" },
|
||||
{ 6, ' ', CF_NOEURO, "", " zl" },
|
||||
{ 19, ',', 2002, "ATS ", "" },
|
||||
{ 57, ',', 2002, "BEF ", "" },
|
||||
{ 10, '.', CF_NOEURO, "", " kr" },
|
||||
{ 8, ',', 2002, "FIM ", "" },
|
||||
{ 480, ',', 2002, "GRD ", "" },
|
||||
{ 2, ',', CF_NOEURO, "CHF ", "" },
|
||||
{ 3, ',', 2002, "NLG ", "" },
|
||||
{ 2730,',', 2002, "ITL ", "" },
|
||||
{ 13, '.', CF_NOEURO, "", " kr" },
|
||||
{ 5, ' ', CF_NOEURO, "", " rur" },
|
||||
{ 50, ',', CF_NOEURO, "", " Kc" },
|
||||
{ 130, '.', CF_NOEURO, "", " kr" },
|
||||
{ 11, '.', CF_NOEURO, "", " kr" },
|
||||
{ 2, ',', CF_ISEURO, "¤", "" },
|
||||
{ 6, '.', CF_NOEURO, "", " Lei" },
|
||||
{ 1, ',', CF_NOEURO, "\xA3", "" }, // british pounds
|
||||
{ 2, ',', CF_NOEURO, "$", "" }, // us dollars
|
||||
{ 2, ',', CF_ISEURO, "¤", "" }, // Euro
|
||||
{ 200, ',', CF_NOEURO, "\xA5", "" }, // yen
|
||||
{ 57, ',', 2002, "BEF ", "" }, // belgian franc
|
||||
{ 2, ',', CF_NOEURO,"CHF ", "" }, // swiss franc
|
||||
{ 480, ',', 2002, "", "Dr." }, // greek drachma
|
||||
{ 4, '.', 2002, "DM ", "" }, // deutsche mark
|
||||
{ 10, '.', 2002, "FF ", "" }, // french francs
|
||||
{ 376, ',', 2002, "", " Ft" }, // forint
|
||||
{ 50, ',', CF_NOEURO, "", " Kc" }, // czech koruna // TODO: Should use the "c" with an upside down "^"
|
||||
{ 13, '.', CF_NOEURO, "", " Kr" }, // swedish krona
|
||||
{ 130, '.', CF_NOEURO, "", " Kr" }, // icelandic krona
|
||||
{ 11, '.', CF_NOEURO, "", " Kr" }, // norwegian krone
|
||||
{ 10, '.', CF_NOEURO, "", " kr" }, // danish krone
|
||||
{ 2730,',', 2002, "", " L." }, // italian lira
|
||||
{ 6, '.', CF_NOEURO, ""," Lei" }, // romanian Lei
|
||||
{ 8, ',', 2002, "", " MK" }, // finnish markka
|
||||
{ 3, ',', 2002, "NLG ", "" }, // dutch gulden
|
||||
{ 5, ' ', CF_NOEURO, "", " p" }, // russian rouble
|
||||
{ 200, '.', 2002, "Pts ", "" }, // spanish pesetas
|
||||
{ 19, ',', 2002, "", " S." }, // austrian schilling
|
||||
{ 6, ' ', CF_NOEURO, "", " zl" }, // polish zloty
|
||||
{ 1, ' ', CF_NOEURO, "", "" }, // custom currency
|
||||
};
|
||||
|
18
ttd.c
18
ttd.c
@ -1185,6 +1185,19 @@ void UpdateExclusiveRights()
|
||||
*/
|
||||
}
|
||||
|
||||
byte covert_currency[] = {
|
||||
0, 1, 12, 8, 3,
|
||||
10, 14, 19, 4, 5,
|
||||
9, 11, 13, 6, 17,
|
||||
16, 22, 21, 7, 15,
|
||||
18, 2, 20, };
|
||||
|
||||
// since savegame version 4.2 the currencies are arranged differently
|
||||
void UpdateCurrencies()
|
||||
{
|
||||
_opt.currency = covert_currency[_opt.currency];
|
||||
}
|
||||
|
||||
extern void UpdateOldAircraft();
|
||||
|
||||
bool AfterLoadGame(uint version)
|
||||
@ -1202,6 +1215,11 @@ bool AfterLoadGame(uint version)
|
||||
UpdateExclusiveRights();
|
||||
}
|
||||
|
||||
// from version 4.2 of the savegame, currencies are in a different order
|
||||
if (version <= 0x401) {
|
||||
UpdateCurrencies();
|
||||
}
|
||||
|
||||
// convert road side to my format.
|
||||
if (_opt.road_side) _opt.road_side = 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user