Config: Port FastDiscSpeed setting to new config system.

This commit is contained in:
Admiral H. Curtiss 2022-01-06 01:33:46 +01:00
parent 7184983ee8
commit e613cbf395
No known key found for this signature in database
GPG Key ID: F051B4C4044F33FB
5 changed files with 3 additions and 12 deletions

View File

@ -78,7 +78,6 @@ private:
int iSyncGpuMaxDistance = 0; int iSyncGpuMaxDistance = 0;
int iSyncGpuMinDistance = 0; int iSyncGpuMinDistance = 0;
float fSyncGpuOverclock = 0; float fSyncGpuOverclock = 0;
bool bFastDiscSpeed = false;
std::array<WiimoteSource, MAX_BBMOTES> iWiimoteSource{}; std::array<WiimoteSource, MAX_BBMOTES> iWiimoteSource{};
std::array<SerialInterface::SIDevices, SerialInterface::MAX_SI_CHANNELS> Pads{}; std::array<SerialInterface::SIDevices, SerialInterface::MAX_SI_CHANNELS> Pads{};
std::array<ExpansionInterface::TEXIDevices, ExpansionInterface::MAX_EXI_CHANNELS> m_EXIDevice{}; std::array<ExpansionInterface::TEXIDevices, ExpansionInterface::MAX_EXI_CHANNELS> m_EXIDevice{};
@ -95,7 +94,6 @@ void ConfigCache::SaveConfig(const SConfig& config)
iSyncGpuMaxDistance = config.iSyncGpuMaxDistance; iSyncGpuMaxDistance = config.iSyncGpuMaxDistance;
iSyncGpuMinDistance = config.iSyncGpuMinDistance; iSyncGpuMinDistance = config.iSyncGpuMinDistance;
fSyncGpuOverclock = config.fSyncGpuOverclock; fSyncGpuOverclock = config.fSyncGpuOverclock;
bFastDiscSpeed = config.bFastDiscSpeed;
for (int i = 0; i != MAX_BBMOTES; ++i) for (int i = 0; i != MAX_BBMOTES; ++i)
iWiimoteSource[i] = WiimoteCommon::GetSource(i); iWiimoteSource[i] = WiimoteCommon::GetSource(i);
@ -123,7 +121,6 @@ void ConfigCache::RestoreConfig(SConfig* config)
config->iSyncGpuMaxDistance = iSyncGpuMaxDistance; config->iSyncGpuMaxDistance = iSyncGpuMaxDistance;
config->iSyncGpuMinDistance = iSyncGpuMinDistance; config->iSyncGpuMinDistance = iSyncGpuMinDistance;
config->fSyncGpuOverclock = fSyncGpuOverclock; config->fSyncGpuOverclock = fSyncGpuOverclock;
config->bFastDiscSpeed = bFastDiscSpeed;
// Only change these back if they were actually set by game ini, since they can be changed while a // Only change these back if they were actually set by game ini, since they can be changed while a
// game is running. // game is running.
@ -178,7 +175,6 @@ bool BootCore(std::unique_ptr<BootParameters> boot, const WindowSystemInfo& wsi)
StartUp.bSyncGPUOnSkipIdleHack); StartUp.bSyncGPUOnSkipIdleHack);
core_section->Get("MMU", &StartUp.bMMU, StartUp.bMMU); core_section->Get("MMU", &StartUp.bMMU, StartUp.bMMU);
core_section->Get("SyncGPU", &StartUp.bSyncGPU, StartUp.bSyncGPU); core_section->Get("SyncGPU", &StartUp.bSyncGPU, StartUp.bSyncGPU);
core_section->Get("FastDiscSpeed", &StartUp.bFastDiscSpeed, StartUp.bFastDiscSpeed);
for (unsigned int i = 0; i < SerialInterface::MAX_SI_CHANNELS; ++i) for (unsigned int i = 0; i < SerialInterface::MAX_SI_CHANNELS; ++i)
{ {
@ -223,7 +219,6 @@ bool BootCore(std::unique_ptr<BootParameters> boot, const WindowSystemInfo& wsi)
{ {
// TODO: remove this once ConfigManager starts using OnionConfig. // TODO: remove this once ConfigManager starts using OnionConfig.
StartUp.bCPUThread = Config::Get(Config::MAIN_CPU_THREAD); StartUp.bCPUThread = Config::Get(Config::MAIN_CPU_THREAD);
StartUp.bFastDiscSpeed = Config::Get(Config::MAIN_FAST_DISC_SPEED);
StartUp.bSyncGPU = Config::Get(Config::MAIN_SYNC_GPU); StartUp.bSyncGPU = Config::Get(Config::MAIN_SYNC_GPU);
for (int i = 0; i < 2; ++i) for (int i = 0; i < 2; ++i)
{ {
@ -258,7 +253,6 @@ bool BootCore(std::unique_ptr<BootParameters> boot, const WindowSystemInfo& wsi)
StartUp.iSyncGpuMaxDistance = netplay_settings.m_SyncGpuMaxDistance; StartUp.iSyncGpuMaxDistance = netplay_settings.m_SyncGpuMaxDistance;
StartUp.iSyncGpuMinDistance = netplay_settings.m_SyncGpuMinDistance; StartUp.iSyncGpuMinDistance = netplay_settings.m_SyncGpuMinDistance;
StartUp.fSyncGpuOverclock = netplay_settings.m_SyncGpuOverclock; StartUp.fSyncGpuOverclock = netplay_settings.m_SyncGpuOverclock;
StartUp.bFastDiscSpeed = netplay_settings.m_FastDiscSpeed;
StartUp.bMMU = netplay_settings.m_MMU; StartUp.bMMU = netplay_settings.m_MMU;
StartUp.bFastmem = netplay_settings.m_Fastmem; StartUp.bFastmem = netplay_settings.m_Fastmem;
} }
@ -312,7 +306,7 @@ bool BootCore(std::unique_ptr<BootParameters> boot, const WindowSystemInfo& wsi)
// Disable loading time emulation for Riivolution-patched games until we have proper emulation. // Disable loading time emulation for Riivolution-patched games until we have proper emulation.
if (!boot->riivolution_patches.empty()) if (!boot->riivolution_patches.empty())
StartUp.bFastDiscSpeed = true; Config::SetCurrent(Config::MAIN_FAST_DISC_SPEED, true);
Core::UpdateWantDeterminism(/*initial*/ true); Core::UpdateWantDeterminism(/*initial*/ true);

View File

@ -101,6 +101,7 @@ bool IsSettingSaveable(const Config::Location& config_location)
&Config::MAIN_PERF_MAP_DIR.GetLocation(), &Config::MAIN_PERF_MAP_DIR.GetLocation(),
&Config::MAIN_GPU_DETERMINISM_MODE.GetLocation(), &Config::MAIN_GPU_DETERMINISM_MODE.GetLocation(),
&Config::MAIN_DISABLE_ICACHE.GetLocation(), &Config::MAIN_DISABLE_ICACHE.GetLocation(),
&Config::MAIN_FAST_DISC_SPEED.GetLocation(),
// UI.General // UI.General

View File

@ -160,7 +160,6 @@ void SConfig::LoadCoreSettings(IniFile& ini)
core->Get("SyncGpuMaxDistance", &iSyncGpuMaxDistance, 200000); core->Get("SyncGpuMaxDistance", &iSyncGpuMaxDistance, 200000);
core->Get("SyncGpuMinDistance", &iSyncGpuMinDistance, -200000); core->Get("SyncGpuMinDistance", &iSyncGpuMinDistance, -200000);
core->Get("SyncGpuOverclock", &fSyncGpuOverclock, 1.0f); core->Get("SyncGpuOverclock", &fSyncGpuOverclock, 1.0f);
core->Get("FastDiscSpeed", &bFastDiscSpeed, false);
} }
void SConfig::ResetRunningGameMetadata() void SConfig::ResetRunningGameMetadata()
@ -283,7 +282,6 @@ void SConfig::LoadDefaults()
bMMU = false; bMMU = false;
iBBDumpPort = -1; iBBDumpPort = -1;
bSyncGPU = false; bSyncGPU = false;
bFastDiscSpeed = false;
bWii = false; bWii = false;
ResetRunningGameMetadata(); ResetRunningGameMetadata();

View File

@ -72,7 +72,6 @@ struct SConfig
bool bMMU = false; bool bMMU = false;
int iBBDumpPort = 0; int iBBDumpPort = 0;
bool bFastDiscSpeed = false;
bool bSyncGPU = false; bool bSyncGPU = false;
int iSyncGpuMaxDistance; int iSyncGpuMaxDistance;

View File

@ -19,7 +19,6 @@
#include "Common/Logging/Log.h" #include "Common/Logging/Log.h"
#include "Core/Config/MainSettings.h" #include "Core/Config/MainSettings.h"
#include "Core/ConfigManager.h"
#include "Core/CoreTiming.h" #include "Core/CoreTiming.h"
#include "Core/DolphinAnalytics.h" #include "Core/DolphinAnalytics.h"
#include "Core/HW/AudioInterface.h" #include "Core/HW/AudioInterface.h"
@ -1382,7 +1381,7 @@ static void ScheduleReads(u64 offset, u32 length, const DiscIO::Partition& parti
dvd_offset = Common::AlignDown(dvd_offset, DVD_ECC_BLOCK_SIZE); dvd_offset = Common::AlignDown(dvd_offset, DVD_ECC_BLOCK_SIZE);
const u64 first_block = dvd_offset; const u64 first_block = dvd_offset;
if (SConfig::GetInstance().bFastDiscSpeed) if (Config::Get(Config::MAIN_FAST_DISC_SPEED))
{ {
// The SUDTR setting makes us act as if all reads are buffered // The SUDTR setting makes us act as if all reads are buffered
buffer_start = std::numeric_limits<u64>::min(); buffer_start = std::numeric_limits<u64>::min();