mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-24 00:03:11 +01:00
Merge pull request #2242 from Gymnasiast/more-currencies
Add South Korean Won and Russian Rouble as currencies, closes #2222, also fix #2232
This commit is contained in:
@@ -3915,6 +3915,8 @@ STR_5573 :Remove From Favorites
|
|||||||
STR_5574 :Server Name:
|
STR_5574 :Server Name:
|
||||||
STR_5575 :Max Players:
|
STR_5575 :Max Players:
|
||||||
STR_5576 :Port:
|
STR_5576 :Port:
|
||||||
|
STR_5577 :South Korean Won (W)
|
||||||
|
STR_5578 :Russian Rouble (R)
|
||||||
|
|
||||||
#####################
|
#####################
|
||||||
# Rides/attractions #
|
# Rides/attractions #
|
||||||
|
|||||||
@@ -124,6 +124,8 @@ config_enum_definition _currencyEnum[] = {
|
|||||||
{ "NLG", CURRENCY_GUILDERS },
|
{ "NLG", CURRENCY_GUILDERS },
|
||||||
{ "SEK", CURRENCY_KRONA },
|
{ "SEK", CURRENCY_KRONA },
|
||||||
{ "EUR", CURRENCY_EUROS },
|
{ "EUR", CURRENCY_EUROS },
|
||||||
|
{ "KRW", CURRENCY_WON },
|
||||||
|
{ "RUB", CURRENCY_ROUBLE },
|
||||||
END_OF_ENUM
|
END_OF_ENUM
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -19,16 +19,19 @@
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
#include "currency.h"
|
#include "currency.h"
|
||||||
|
#include "string_ids.h"
|
||||||
|
|
||||||
const rct_currency_spec g_currency_specs[CURRENCY_END] = {
|
const rct_currency_spec g_currency_specs[CURRENCY_END] = {
|
||||||
{ 10 , "\xC2\xA3" , CURRENCY_PREFIX }, // British Pound
|
{ 10 , "\xC2\xA3" , CURRENCY_PREFIX, STR_POUNDS }, // British Pound
|
||||||
{ 10 , "$" , CURRENCY_PREFIX }, // US Dollar
|
{ 10 , "$" , CURRENCY_PREFIX, STR_DOLLARS}, // US Dollar
|
||||||
{ 10 , "F" , CURRENCY_SUFFIX }, // French Franc
|
{ 10 , "F" , CURRENCY_SUFFIX, STR_FRANC }, // French Franc
|
||||||
{ 10 , "DM" , CURRENCY_PREFIX }, // Deutsche Mark
|
{ 10 , "DM" , CURRENCY_PREFIX, STR_DEUTSCHMARK }, // Deutschmark
|
||||||
{ 1000 , "\xC2\xA5" , CURRENCY_PREFIX }, // Japanese Yen
|
{ 1000 , "\xC2\xA5" , CURRENCY_PREFIX, STR_YEN }, // Japanese Yen
|
||||||
{ 10 , "Pts" , CURRENCY_SUFFIX }, // Spanish Peseta
|
{ 10 , "Pts" , CURRENCY_SUFFIX, STR_PESETA }, // Spanish Peseta
|
||||||
{ 1000 , "L" , CURRENCY_PREFIX }, // Italian Lira
|
{ 1000 , "L" , CURRENCY_PREFIX, STR_LIRA }, // Italian Lira
|
||||||
{ 10 , "fl. " , CURRENCY_PREFIX }, // Dutch Guilder
|
{ 10 , "fl. " , CURRENCY_PREFIX, STR_GUILDERS }, // Dutch Guilder
|
||||||
{ 10 , "kr." , CURRENCY_SUFFIX }, // Swedish Krona
|
{ 10 , "kr." , CURRENCY_SUFFIX, STR_KRONA }, // Swedish Krona
|
||||||
{ 10 , "\xE2\x82\xAC" , CURRENCY_PREFIX }, // Euro
|
{ 10 , "\xE2\x82\xAC" , CURRENCY_PREFIX, STR_EUROS }, // Euro
|
||||||
|
{ 10000 , "W" , CURRENCY_PREFIX, STR_WON }, // South Korean Won
|
||||||
|
{ 1000 , "R " , CURRENCY_PREFIX, STR_ROUBLE }, // Russian Rouble
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ typedef enum {
|
|||||||
CURRENCY_GUILDERS, // Dutch Gilder
|
CURRENCY_GUILDERS, // Dutch Gilder
|
||||||
CURRENCY_KRONA, // Swedish Krona
|
CURRENCY_KRONA, // Swedish Krona
|
||||||
CURRENCY_EUROS, // Euro
|
CURRENCY_EUROS, // Euro
|
||||||
|
CURRENCY_WON, // South Korean Won
|
||||||
|
CURRENCY_ROUBLE, // Russian Rouble
|
||||||
|
|
||||||
CURRENCY_END // Last item
|
CURRENCY_END // Last item
|
||||||
} CURRENCY_TYPE;
|
} CURRENCY_TYPE;
|
||||||
@@ -52,6 +54,7 @@ typedef struct {
|
|||||||
int rate;
|
int rate;
|
||||||
utf8 symbol[CURRENCY_SYMBOL_MAX_SIZE];
|
utf8 symbol[CURRENCY_SYMBOL_MAX_SIZE];
|
||||||
int affix;
|
int affix;
|
||||||
|
int stringId;
|
||||||
} rct_currency_spec;
|
} rct_currency_spec;
|
||||||
|
|
||||||
// List of currency formats
|
// List of currency formats
|
||||||
|
|||||||
@@ -2166,6 +2166,9 @@ enum {
|
|||||||
STR_MAX_PLAYERS = 5575,
|
STR_MAX_PLAYERS = 5575,
|
||||||
STR_PORT = 5576,
|
STR_PORT = 5576,
|
||||||
|
|
||||||
|
STR_WON = 5577,
|
||||||
|
STR_ROUBLE = 5578,
|
||||||
|
|
||||||
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
||||||
STR_COUNT = 32768
|
STR_COUNT = 32768
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
#include "../interface/viewport.h"
|
#include "../interface/viewport.h"
|
||||||
#include "../interface/widget.h"
|
#include "../interface/widget.h"
|
||||||
#include "../interface/window.h"
|
#include "../interface/window.h"
|
||||||
|
#include "../localisation/currency.h"
|
||||||
#include "../localisation/date.h"
|
#include "../localisation/date.h"
|
||||||
#include "../localisation/localisation.h"
|
#include "../localisation/localisation.h"
|
||||||
#include "../platform/platform.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);
|
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;
|
break;
|
||||||
case WIDX_CURRENCY_DROPDOWN:
|
case WIDX_CURRENCY_DROPDOWN:
|
||||||
num_items = 10;
|
num_items = CURRENCY_END;
|
||||||
|
|
||||||
for (i = 0; i < num_items; i++) {
|
for (i = 0; i < num_items; i++) {
|
||||||
gDropdownItemsFormat[i] = 1142;
|
gDropdownItemsFormat[i] = 1142;
|
||||||
gDropdownItemsArgs[i] = STR_POUNDS + i;
|
gDropdownItemsArgs[i] = g_currency_specs[i].stringId;
|
||||||
}
|
}
|
||||||
|
|
||||||
window_options_show_dropdown(w, widget, num_items);
|
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:
|
case WINDOW_OPTIONS_PAGE_CULTURE:
|
||||||
// currency: pounds, dollars, etc. (10 total)
|
// 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
|
// distance: metric/imperial
|
||||||
RCT2_GLOBAL(0x013CE952 + 14, uint16) = STR_IMPERIAL + gConfigGeneral.measurement_format;
|
RCT2_GLOBAL(0x013CE952 + 14, uint16) = STR_IMPERIAL + gConfigGeneral.measurement_format;
|
||||||
|
|||||||
Reference in New Issue
Block a user