diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index 5af63f13f9..6e9a96781e 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -3077,7 +3077,7 @@ STR_5574 :Server Name: STR_5575 :Max Players: STR_5576 :Port: STR_5577 :South Korean Won (W) -STR_5578 :Russian Rouble (R) +STR_5578 :Russian Rouble (₽) STR_5579 :Window scale factor: STR_5580 :Czech koruna (Kč) STR_5581 :Show FPS diff --git a/distribution/changelog.txt b/distribution/changelog.txt index a135845b92..eafdee6b24 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -8,6 +8,7 @@ - Feature: [#8073] Auto-upload minidumps to backtrace.io (optional, MSVC/Windows only) - Feature: [#8078] Add save_park command to in-game console. - Feature: [#8080] New console variable "current_rotation" to get or set view rotation. +- Feature: [#8098] Glyph for Russian rouble sign. - Feature: [#8099] Add Powered Launch mode to Inverted RC (for RCT1 parity). - Feature: [#8190] Allow building footpaths on 'corner down' terrain. - Feature: [#8191] Allow building on-ride photos and water S-bends on the Water Coaster. diff --git a/resources/g2/font/rouble-bold.png b/resources/g2/font/rouble-bold.png new file mode 100644 index 0000000000..345f9c03b3 Binary files /dev/null and b/resources/g2/font/rouble-bold.png differ diff --git a/resources/g2/font/rouble-small.png b/resources/g2/font/rouble-small.png new file mode 100644 index 0000000000..0d299fb4f8 Binary files /dev/null and b/resources/g2/font/rouble-small.png differ diff --git a/resources/g2/font/rouble-tiny.png b/resources/g2/font/rouble-tiny.png new file mode 100644 index 0000000000..2d6c166dc3 Binary files /dev/null and b/resources/g2/font/rouble-tiny.png differ diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 98af666bed..3ce6013081 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -842,6 +842,12 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/rouble-small.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, { "path": "font/latin/ae-uc-bold.png", "y_offset": 0, @@ -1245,6 +1251,12 @@ "palette": "keep", "forceBmp": true }, + { + "path": "font/rouble-bold.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true + }, { "path": "font/latin/ae-uc-tiny.png", "y_offset": 0, @@ -1655,5 +1667,11 @@ "y_offset": -1, "palette": "keep", "forceBmp": true + }, + { + "path": "font/rouble-tiny.png", + "y_offset": 0, + "palette": "keep", + "forceBmp": true } ] diff --git a/src/openrct2/drawing/Font.cpp b/src/openrct2/drawing/Font.cpp index 75809aad06..ff17e55d71 100644 --- a/src/openrct2/drawing/Font.cpp +++ b/src/openrct2/drawing/Font.cpp @@ -159,6 +159,7 @@ static const std::map codepointOffsetMap = { // Currency { UnicodeChar::guilder, SPR_G2_GUILDER_SIGN - SPR_CHAR_START }, { UnicodeChar::euro, CSChar::euro - CS_SPRITE_FONT_OFFSET }, + { UnicodeChar::rouble, SPR_G2_ROUBLE_SIGN - SPR_CHAR_START }, // Dingbats { UnicodeChar::up, CSChar::up - CS_SPRITE_FONT_OFFSET }, diff --git a/src/openrct2/localisation/Currency.cpp b/src/openrct2/localisation/Currency.cpp index aa802d0106..99417ce160 100644 --- a/src/openrct2/localisation/Currency.cpp +++ b/src/openrct2/localisation/Currency.cpp @@ -26,7 +26,7 @@ currency_descriptor CurrencyDescriptors[CURRENCY_END] = { { "SEK", 10, CURRENCY_SUFFIX, " kr", CURRENCY_SUFFIX, " kr", STR_KRONA }, // Swedish Krona { "EUR", 10, CURRENCY_PREFIX, "\xE2\x82\xAC", CURRENCY_SUFFIX, "EUR", STR_EUROS }, // Euro { "KRW", 10000, CURRENCY_PREFIX, "\xE2\x82\xA9", CURRENCY_PREFIX, "W", STR_WON }, // South Korean Won - { "RUB", 1000, CURRENCY_PREFIX, "R ", CURRENCY_PREFIX, "R ", STR_ROUBLE }, // Russian Rouble + { "RUB", 1000, CURRENCY_SUFFIX, "\xE2\x82\xBD", CURRENCY_PREFIX, "R ", STR_ROUBLE }, // Russian Rouble { "CZK", 100, CURRENCY_SUFFIX, " K\xC4\x8D", CURRENCY_SUFFIX, " Kc", STR_CZECH_KORUNA }, // Czech koruna { "HKD", 100, CURRENCY_PREFIX, "$", CURRENCY_PREFIX, "HKD", STR_HONG_KONG_DOLLAR}, // Hong Kong Dollar { "TWD", 1000, CURRENCY_PREFIX, "NT$", CURRENCY_PREFIX, "NT$", STR_NEW_TAIWAN_DOLLAR}, // New Taiwan Dollar diff --git a/src/openrct2/localisation/FormatCodes.h b/src/openrct2/localisation/FormatCodes.h index e844b3eed8..680e791106 100644 --- a/src/openrct2/localisation/FormatCodes.h +++ b/src/openrct2/localisation/FormatCodes.h @@ -289,6 +289,7 @@ namespace UnicodeChar // Currency constexpr char32_t guilder = 0x192; constexpr char32_t euro = 0x20AC; + constexpr char32_t rouble = 0x20BD; // Dingbats constexpr char32_t up = 0x25B2; diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 67daaf715e..084e5eb9e4 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -929,7 +929,9 @@ enum SPR_G2_E_CARON_UPPER = SPR_G2_CHAR_BEGIN + 72, SPR_G2_E_CARON_LOWER = SPR_G2_CHAR_BEGIN + 73, - SPR_G2_CHAR_END = SPR_G2_E_CARON_LOWER, + SPR_G2_ROUBLE_SIGN = SPR_G2_CHAR_BEGIN + 74, + + SPR_G2_CHAR_END = SPR_G2_ROUBLE_SIGN, SPR_G2_GLYPH_COUNT = (SPR_G2_CHAR_END - SPR_G2_CHAR_BEGIN) + 1, // 0x60000, chosen because it's a round hex number