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;