Merge pull request #11538 from t895/disc-speed-stuff

Rename "Speed up Disc Transfer Rate" to "Emulate Disc Speed"
This commit is contained in:
Scott Mansell 2023-02-13 15:46:56 +13:00 committed by GitHub
commit 2c24d07837
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 10 deletions

View File

@ -43,6 +43,8 @@ public enum BooleanSetting implements AbstractBooleanSetting
MAIN_ACCURATE_CPU_CACHE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "AccurateCPUCache",
false),
MAIN_SYNC_GPU(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "SyncGPU", false),
MAIN_FAST_DISC_SPEED(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "FastDiscSpeed",
false),
MAIN_OVERCLOCK_ENABLE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "OverclockEnable", false),
MAIN_RAM_OVERRIDE_ENABLE(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "RAMOverrideEnable",
false),

View File

@ -765,6 +765,11 @@ public final class SettingsFragmentPresenter
R.string.custom_rtc_enable, R.string.custom_rtc_description));
sl.add(new DateTimeChoiceSetting(mContext, StringSetting.MAIN_CUSTOM_RTC_VALUE,
R.string.set_custom_rtc, 0));
sl.add(new HeaderSetting(mContext, R.string.misc_settings, 0));
sl.add(new InvertedSwitchSetting(mContext, BooleanSetting.MAIN_FAST_DISC_SPEED,
R.string.emulate_disc_speed,
R.string.emulate_disc_speed_description));
}
private void addSerialPortSubSettings(ArrayList<SettingsItem> sl, int serialPort1Type)

View File

@ -416,6 +416,9 @@
<string name="set_custom_rtc">Set Custom RTC</string>
<string name="select_rtc_date">Select RTC Date</string>
<string name="select_rtc_time">Select RTC Time</string>
<string name="misc_settings">Misc Settings</string>
<string name="emulate_disc_speed">Emulate Disc Speed</string>
<string name="emulate_disc_speed_description">Enable emulated disc speed. Disabling this can cause crashes and other problems in some games.</string>
<!-- Log Configuration -->
<string name="log_submenu">Log</string>

View File

@ -38,8 +38,8 @@ GameConfigEdit::GameConfigEdit(QWidget* parent, QString path, bool read_only)
"cause issues. Defaults to <b>True</b>"));
AddDescription(QStringLiteral("FastDiscSpeed"),
tr("Shortens loading times but may break some games. Can have negative effects on "
"performance. Defaults to <b>False</b>"));
tr("Emulate the disc speed of real hardware. Disabling can cause instability. "
"Defaults to <b>True</b>"));
AddDescription(QStringLiteral("MMU"), tr("Controls whether or not the Memory Management Unit "
"should be emulated fully. Few games require it."));

View File

@ -88,7 +88,7 @@ void GameConfigWidget::CreateWidgets()
m_enable_mmu = new QCheckBox(tr("Enable MMU"));
m_enable_fprf = new QCheckBox(tr("Enable FPRF"));
m_sync_gpu = new QCheckBox(tr("Synchronize GPU thread"));
m_enable_fast_disc = new QCheckBox(tr("Speed up Disc Transfer Rate"));
m_enable_fast_disc = new QCheckBox(tr("Emulate Disc Speed"));
m_use_dsp_hle = new QCheckBox(tr("DSP HLE (fast)"));
m_deterministic_dual_core = new QComboBox;
@ -102,8 +102,9 @@ void GameConfigWidget::CreateWidgets()
"games. (ON = Compatible, OFF = Fast)"));
m_sync_gpu->setToolTip(tr("Synchronizes the GPU and CPU threads to help prevent random freezes "
"in Dual core mode. (ON = Compatible, OFF = Fast)"));
m_enable_fast_disc->setToolTip(tr("Enable fast disc access. This can cause crashes and other "
"problems in some games. (ON = Fast, OFF = Compatible)"));
m_enable_fast_disc->setToolTip(tr("Enable emulated disc speed. Disabling this can cause crashes "
"and other problems in some games. "
"(ON = Compatible, OFF = Unlocked)"));
core_layout->addWidget(m_enable_dual_core, 0, 0);
core_layout->addWidget(m_enable_mmu, 1, 0);
@ -221,13 +222,22 @@ void GameConfigWidget::LoadCheckBox(QCheckBox* checkbox, const std::string& sect
const std::string& key)
{
bool checked;
if (key == "FastDiscSpeed")
{
if (m_gameini_local.GetOrCreateSection(section)->Get("FastDiscSpeed", &checked))
return checkbox->setCheckState(!checked ? Qt::Checked : Qt::Unchecked);
if (m_gameini_local.GetOrCreateSection(section)->Get(key, &checked))
return checkbox->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
if (m_gameini_default.GetOrCreateSection(section)->Get(key, &checked))
return checkbox->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
if (m_gameini_default.GetOrCreateSection(section)->Get("FastDiscSpeed", &checked))
return checkbox->setCheckState(!checked ? Qt::Checked : Qt::Unchecked);
}
else
{
if (m_gameini_local.GetOrCreateSection(section)->Get(key, &checked))
return checkbox->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
if (m_gameini_default.GetOrCreateSection(section)->Get(key, &checked))
return checkbox->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
}
checkbox->setCheckState(Qt::PartiallyChecked);
}
@ -248,6 +258,12 @@ void GameConfigWidget::SaveCheckBox(QCheckBox* checkbox, const std::string& sect
bool checked = checkbox->checkState() == Qt::Checked;
if (key == "FastDiscSpeed")
{
m_gameini_local.GetOrCreateSection(section)->Set(key, !checked);
return;
}
if (m_gameini_default.Exists(section, key))
{
bool default_value;