1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 00:03:11 +01:00

Add South Korean Won and Russian Rouble as currencies, closes #2222, also fix #2232

This commit is contained in:
Gymnasiast
2015-11-08 11:46:11 +01:00
parent 15f6f9b66a
commit 4e5b8a1a19
5 changed files with 24 additions and 14 deletions

View File

@@ -3915,6 +3915,8 @@ STR_5573 :Remove From Favorites
STR_5574 :Server Name:
STR_5575 :Max Players:
STR_5576 :Port:
STR_5577 :South Korean Won (W)
STR_5578 :Russian Rouble (R)
#####################
# Rides/attractions #

View File

@@ -124,6 +124,8 @@ config_enum_definition _currencyEnum[] = {
{ "NLG", CURRENCY_GUILDERS },
{ "SEK", CURRENCY_KRONA },
{ "EUR", CURRENCY_EUROS },
{ "KRW", CURRENCY_WON },
{ "RUB", CURRENCY_ROUBLE },
END_OF_ENUM
};

View File

@@ -21,14 +21,16 @@
#include "currency.h"
const rct_currency_spec g_currency_specs[CURRENCY_END] = {
{ 10 , "\xC2\xA3" , CURRENCY_PREFIX }, // British Pound
{ 10 , "$" , CURRENCY_PREFIX }, // US Dollar
{ 10 , "F" , CURRENCY_SUFFIX }, // French Franc
{ 10 , "DM" , CURRENCY_PREFIX }, // Deutsche Mark
{ 1000 , "\xC2\xA5" , CURRENCY_PREFIX }, // Japanese Yen
{ 10 , "Pts" , CURRENCY_SUFFIX }, // Spanish Peseta
{ 1000 , "L" , CURRENCY_PREFIX }, // Italian Lira
{ 10 , "fl. " , CURRENCY_PREFIX }, // Dutch Guilder
{ 10 , "kr." , CURRENCY_SUFFIX }, // Swedish Krona
{ 10 , "\xE2\x82\xAC" , CURRENCY_PREFIX }, // Euro
{ 10 , "\xC2\xA3" , CURRENCY_PREFIX, 2334 }, // British Pound
{ 10 , "$" , CURRENCY_PREFIX, 2335}, // US Dollar
{ 10 , "F" , CURRENCY_SUFFIX, 2336 }, // French Franc
{ 10 , "DM" , CURRENCY_PREFIX, 2337 }, // Deutsche Mark
{ 1000 , "\xC2\xA5" , CURRENCY_PREFIX, 2338 }, // Japanese Yen
{ 10 , "Pts" , CURRENCY_SUFFIX, 2339 }, // Spanish Peseta
{ 1000 , "L" , CURRENCY_PREFIX, 2340 }, // Italian Lira
{ 10 , "fl. " , CURRENCY_PREFIX, 2341 }, // Dutch Guilder
{ 10 , "kr." , CURRENCY_SUFFIX, 2342 }, // Swedish Krona
{ 10 , "\xE2\x82\xAC" , CURRENCY_PREFIX, 2343 }, // Euro
{ 10000 , "W" , CURRENCY_PREFIX, 5577 }, // South Korean Won
{ 1000 , "R " , CURRENCY_PREFIX, 5578 }, // Russian Rouble
};

View File

@@ -35,6 +35,8 @@ typedef enum {
CURRENCY_GUILDERS, // Dutch Gilder
CURRENCY_KRONA, // Swedish Krona
CURRENCY_EUROS, // Euro
CURRENCY_WON, // South Korean Won
CURRENCY_ROUBLE, // Russian Rouble
CURRENCY_END // Last item
} CURRENCY_TYPE;
@@ -52,6 +54,7 @@ typedef struct {
int rate;
utf8 symbol[CURRENCY_SYMBOL_MAX_SIZE];
int affix;
int stringId;
} rct_currency_spec;
// List of currency formats

View File

@@ -36,6 +36,7 @@
#include "../interface/viewport.h"
#include "../interface/widget.h"
#include "../interface/window.h"
#include "../localisation/currency.h"
#include "../localisation/date.h"
#include "../localisation/localisation.h"
#include "../platform/platform.h"
@@ -773,14 +774,14 @@ static void window_options_mousedown(int widgetIndex, rct_window*w, rct_widget*
window_options_show_dropdown(w, widget, 2);
dropdown_set_checked(gConfigGeneral.show_height_as_units ? 1 : 2, true);
dropdown_set_checked(gConfigGeneral.show_height_as_units ? 0 : 1, true);
break;
case WIDX_CURRENCY_DROPDOWN:
num_items = 10;
num_items = CURRENCY_END;
for (i = 0; i < num_items; i++) {
gDropdownItemsFormat[i] = 1142;
gDropdownItemsArgs[i] = STR_POUNDS + i;
gDropdownItemsArgs[i] = g_currency_specs[i].stringId;
}
window_options_show_dropdown(w, widget, num_items);
@@ -1181,7 +1182,7 @@ static void window_options_invalidate(rct_window *w)
case WINDOW_OPTIONS_PAGE_CULTURE:
// currency: pounds, dollars, etc. (10 total)
RCT2_GLOBAL(0x013CE952 + 12, uint16) = STR_POUNDS + gConfigGeneral.currency_format;
RCT2_GLOBAL(0x013CE952 + 12, uint16) = g_currency_specs[gConfigGeneral.currency_format].stringId;
// distance: metric/imperial
RCT2_GLOBAL(0x013CE952 + 14, uint16) = STR_IMPERIAL + gConfigGeneral.measurement_format;