diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.cpp b/Source/Core/DolphinQt/Settings/GeneralPane.cpp index 06715ceb65..a6ae1b96c5 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.cpp +++ b/Source/Core/DolphinQt/Settings/GeneralPane.cpp @@ -97,6 +97,8 @@ void GeneralPane::OnEmulationStateChanged(Core::State state) m_checkbox_discord_presence->setEnabled(!running); #endif m_combobox_fallback_region->setEnabled(!running); + + UpdateDescriptionsUsingHardcoreStatus(hardcore); } void GeneralPane::ConnectLayout() @@ -375,11 +377,6 @@ void GeneralPane::AddDescriptions() "improves performance. However, it can result in glitches and crashes." "

This setting cannot be changed while emulation is active." "

If unsure, leave this checked."); - static constexpr char TR_CHEATS_DESCRIPTION[] = QT_TR_NOOP( - "Enables the use of AR and Gecko cheat codes which can be used to modify games' behavior. " - "These codes can be configured with the Cheats Manager in the Tools menu." - "

This setting cannot be changed while emulation is active." - "

If unsure, leave this unchecked."); static constexpr char TR_OVERRIDE_REGION_SETTINGS_DESCRIPTION[] = QT_TR_NOOP("Lets you use languages and other region-related settings that the game may not " "be designed for. May cause various crashes and bugs." @@ -400,12 +397,6 @@ void GeneralPane::AddDescriptions() "

This setting cannot be changed while emulation is active." "

If unsure, leave this checked."); #endif - static constexpr char TR_SPEEDLIMIT_DESCRIPTION[] = - QT_TR_NOOP("Controls how fast emulation runs relative to the original hardware." - "

Values higher than 100% will emulate faster than the original hardware " - "can run, if your hardware is able to keep up. Values lower than 100% will slow " - "emulation instead. Unlimited will emulate as fast as your hardware is able to." - "

If unsure, select 100%."); static constexpr char TR_UPDATE_TRACK_DESCRIPTION[] = QT_TR_NOOP( "Selects which update track Dolphin uses when checking for updates at startup. If a new " "update is available, Dolphin will show a list of changes made since your current version " @@ -442,8 +433,6 @@ void GeneralPane::AddDescriptions() m_checkbox_dualcore->SetDescription(tr(TR_DUALCORE_DESCRIPTION)); - m_checkbox_cheats->SetDescription(tr(TR_CHEATS_DESCRIPTION)); - m_checkbox_override_region_settings->SetDescription(tr(TR_OVERRIDE_REGION_SETTINGS_DESCRIPTION)); m_checkbox_auto_disc_change->SetDescription(tr(TR_AUTO_DISC_CHANGE_DESCRIPTION)); @@ -453,7 +442,6 @@ void GeneralPane::AddDescriptions() #endif m_combobox_speedlimit->SetTitle(tr("Speed Limit")); - m_combobox_speedlimit->SetDescription(tr(TR_SPEEDLIMIT_DESCRIPTION)); if (AutoUpdateChecker::SystemSupportsAutoUpdates()) { @@ -471,3 +459,39 @@ void GeneralPane::AddDescriptions() m_button_generate_new_identity->SetDescription(tr(TR_GENERATE_NEW_IDENTITY_DESCRIPTION)); #endif } + +void GeneralPane::UpdateDescriptionsUsingHardcoreStatus(const bool enabled) +{ + static constexpr char TR_CHEATS_DESCRIPTION[] = QT_TR_NOOP( + "Enables the use of AR and Gecko cheat codes which can be used to modify games' behavior. " + "These codes can be configured with the Cheats Manager in the Tools menu." + "

This setting cannot be changed while emulation is active." + "

If unsure, leave this unchecked."); + static constexpr char TR_SPEEDLIMIT_DESCRIPTION[] = + QT_TR_NOOP("Controls how fast emulation runs relative to the original hardware." + "

Values higher than 100% will emulate faster than the original hardware " + "can run, if your hardware is able to keep up. Values lower than 100% will slow " + "emulation instead. Unlimited will emulate as fast as your hardware is able to." + "

If unsure, select 100%."); + static constexpr char TR_DISABLED_IN_HARDCORE_DESCRIPTION[] = + QT_TR_NOOP("Disabled in Hardcore Mode."); + static constexpr char TR_SPEEDLIMIT_RESTRICTION_IN_HARDCORE_DESCRIPTION[] = + QT_TR_NOOP("When Hardcore Mode is enabled, Speed Limit values less than " + "100% will be treated as 100%."); + + if (enabled) + { + m_checkbox_cheats->SetDescription(tr("%1

%2") + .arg(tr(TR_CHEATS_DESCRIPTION)) + .arg(tr(TR_DISABLED_IN_HARDCORE_DESCRIPTION))); + m_combobox_speedlimit->SetDescription( + tr("%1

%2") + .arg(tr(TR_SPEEDLIMIT_DESCRIPTION)) + .arg(tr(TR_SPEEDLIMIT_RESTRICTION_IN_HARDCORE_DESCRIPTION))); + } + else + { + m_checkbox_cheats->SetDescription(tr(TR_CHEATS_DESCRIPTION)); + m_combobox_speedlimit->SetDescription(tr(TR_SPEEDLIMIT_DESCRIPTION)); + } +} diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.h b/Source/Core/DolphinQt/Settings/GeneralPane.h index ffe850491b..ff220e73db 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.h +++ b/Source/Core/DolphinQt/Settings/GeneralPane.h @@ -39,6 +39,7 @@ private: void LoadConfig(); void OnSaveConfig(); void OnEmulationStateChanged(Core::State state); + void UpdateDescriptionsUsingHardcoreStatus(bool enabled); // Widgets QVBoxLayout* m_main_layout;