1
0
Fork 0

Compare commits

...

3 Commits

Author SHA1 Message Date
Mizuki Nguyen 2319d58356
Merge a3d3b58f21 into 009b7cbc57 2025-07-27 15:05:57 +00:00
Peter Nelson 009b7cbc57
Fix #14480: Music player playlist buttons are clickable but non-operational in intro menu. (#14482)
In the intro menu the music is hardcoded to be the introduction track. Therefore, prevent these buttons being clickable.
2025-07-27 16:03:47 +01:00
Mizuki Nguyen a3d3b58f21 Add: Currency: Vietnamese Dong 2025-07-22 19:28:21 +07:00
5 changed files with 12 additions and 6 deletions

View File

@ -73,6 +73,7 @@ static const std::array<CurrencySpec, CURRENCY_END> origin_currency_specs = {{
{ 1, "", TimerGameCalendar::Year{2014}, "", NBSP "Ls", "LVL", 1, STR_GAME_OPTIONS_CURRENCY_LVL }, ///< latvian lats { 1, "", TimerGameCalendar::Year{2014}, "", NBSP "Ls", "LVL", 1, STR_GAME_OPTIONS_CURRENCY_LVL }, ///< latvian lats
{ 400, "", TimerGameCalendar::Year{2002}, "", "$00", "PTE", 1, STR_GAME_OPTIONS_CURRENCY_PTE }, ///< portuguese escudo { 400, "", TimerGameCalendar::Year{2002}, "", "$00", "PTE", 1, STR_GAME_OPTIONS_CURRENCY_PTE }, ///< portuguese escudo
{ 50, "", CF_NOEURO, "", NBSP "\u20B4", "UAH", 1, STR_GAME_OPTIONS_CURRENCY_UAH }, ///< ukrainian hryvnia { 50, "", CF_NOEURO, "", NBSP "\u20B4", "UAH", 1, STR_GAME_OPTIONS_CURRENCY_UAH }, ///< ukrainian hryvnia
{35000, "", CF_NOEURO, "", NBSP "\u20AB", "VND", 1, STR_GAME_OPTIONS_CURRENCY_VND }, ///< Vietnamese Dong
}}; }};
/** Array of currencies used by the system */ /** Array of currencies used by the system */

View File

@ -69,6 +69,7 @@ enum Currencies : uint8_t {
CURRENCY_LVL, ///< Latvian Lats CURRENCY_LVL, ///< Latvian Lats
CURRENCY_PTE, ///< Portuguese Escudo CURRENCY_PTE, ///< Portuguese Escudo
CURRENCY_UAH, ///< Ukrainian Hryvnia CURRENCY_UAH, ///< Ukrainian Hryvnia
CURRENCY_VND, ///< Vietnamese Dong
CURRENCY_END, ///< always the last item CURRENCY_END, ///< always the last item
}; };

View File

@ -984,7 +984,7 @@ STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :Currency units
STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({RAW_STRING}) STR_GAME_OPTIONS_CURRENCY_CODE :{STRING} ({RAW_STRING})
###length 45 ###length 46
STR_GAME_OPTIONS_CURRENCY_GBP :British Pound STR_GAME_OPTIONS_CURRENCY_GBP :British Pound
STR_GAME_OPTIONS_CURRENCY_USD :American Dollar STR_GAME_OPTIONS_CURRENCY_USD :American Dollar
STR_GAME_OPTIONS_CURRENCY_EUR :Euro STR_GAME_OPTIONS_CURRENCY_EUR :Euro
@ -1030,6 +1030,7 @@ STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringg
STR_GAME_OPTIONS_CURRENCY_LVL :Latvian Lats STR_GAME_OPTIONS_CURRENCY_LVL :Latvian Lats
STR_GAME_OPTIONS_CURRENCY_PTE :Portuguese Escudo STR_GAME_OPTIONS_CURRENCY_PTE :Portuguese Escudo
STR_GAME_OPTIONS_CURRENCY_UAH :Ukrainian Hryvnia STR_GAME_OPTIONS_CURRENCY_UAH :Ukrainian Hryvnia
STR_GAME_OPTIONS_CURRENCY_VND :Vietnamese Dong
STR_GAME_OPTIONS_AUTOSAVE_FRAME :Autosave STR_GAME_OPTIONS_AUTOSAVE_FRAME :Autosave
STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :Select interval between automatic game saves STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP :Select interval between automatic game saves

View File

@ -683,13 +683,16 @@ struct MusicWindow : public Window {
void UpdateDisabledButtons() void UpdateDisabledButtons()
{ {
/* Disable music control widgets if there is no music /* Disable stop and play if there is no music. */
* -- except Programme button! So you can still select a music set. */ this->SetWidgetsDisabledState(BaseMusic::GetUsedSet()->num_available == 0, WID_M_STOP, WID_M_PLAY);
/* Disable most music control widgets if there is no music, or we are in the intro menu. */
this->SetWidgetsDisabledState( this->SetWidgetsDisabledState(
BaseMusic::GetUsedSet()->num_available == 0, BaseMusic::GetUsedSet()->num_available == 0 || _game_mode == GM_MENU,
WID_M_PREV, WID_M_NEXT, WID_M_STOP, WID_M_PLAY, WID_M_SHUFFLE, WID_M_PREV, WID_M_NEXT, WID_M_SHUFFLE,
WID_M_ALL, WID_M_OLD, WID_M_NEW, WID_M_EZY, WID_M_CUSTOM1, WID_M_CUSTOM2 WID_M_ALL, WID_M_OLD, WID_M_NEW, WID_M_EZY, WID_M_CUSTOM1, WID_M_CUSTOM2
); );
/* Also disable programme button in the intro menu (not in game; it is desirable to allow change of music set.) */
this->SetWidgetsDisabledState(_game_mode == GM_MENU, WID_M_PROGRAMME);
} }
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override

View File

@ -12,7 +12,7 @@ static std::pair<StringParameter, StringParameter> SettingsValueVelocityUnit(con
uint8_t _old_units; ///< Old units from old savegames uint8_t _old_units; ///< Old units from old savegames
static constexpr std::initializer_list<std::string_view> _locale_currencies{"GBP"sv, "USD"sv, "EUR"sv, "JPY"sv, "ATS"sv, "BEF"sv, "CHF"sv, "CZK"sv, "DEM"sv, "DKK"sv, "ESP"sv, "FIM"sv, "FRF"sv, "GRD"sv, "HUF"sv, "ISK"sv, "ITL"sv, "NLG"sv, "NOK"sv, "PLN"sv, "RON"sv, "RUR"sv, "SIT"sv, "SEK"sv, "TRY"sv, "SKK"sv, "BRL"sv, "EEK"sv, "LTL"sv, "KRW"sv, "ZAR"sv, "custom"sv, "GEL"sv, "IRR"sv, "RUB"sv, "MXN"sv, "NTD"sv, "CNY"sv, "HKD"sv, "INR"sv, "IDR"sv, "MYR"sv, "LVL"sv, "PTE"sv, "UAH"sv}; static constexpr std::initializer_list<std::string_view> _locale_currencies{"GBP"sv, "USD"sv, "EUR"sv, "JPY"sv, "ATS"sv, "BEF"sv, "CHF"sv, "CZK"sv, "DEM"sv, "DKK"sv, "ESP"sv, "FIM"sv, "FRF"sv, "GRD"sv, "HUF"sv, "ISK"sv, "ITL"sv, "NLG"sv, "NOK"sv, "PLN"sv, "RON"sv, "RUR"sv, "SIT"sv, "SEK"sv, "TRY"sv, "SKK"sv, "BRL"sv, "EEK"sv, "LTL"sv, "KRW"sv, "ZAR"sv, "custom"sv, "GEL"sv, "IRR"sv, "RUB"sv, "MXN"sv, "NTD"sv, "CNY"sv, "HKD"sv, "INR"sv, "IDR"sv, "MYR"sv, "LVL"sv, "PTE"sv, "UAH"sv, "VND"sv};
static constexpr std::initializer_list<std::string_view> _locale_units{"imperial"sv, "metric"sv, "si"sv, "gameunits"sv, "knots"sv}; static constexpr std::initializer_list<std::string_view> _locale_units{"imperial"sv, "metric"sv, "si"sv, "gameunits"sv, "knots"sv};
static_assert(_locale_currencies.size() == CURRENCY_END); static_assert(_locale_currencies.size() == CURRENCY_END);