Merge pull request #3806 from degasus/idle
ConfigManager: Drop SkipIdle option.
This commit is contained in:
commit
ab01dec178
|
@ -193,7 +193,6 @@ void DolphinAnalytics::MakePerGameBuilder()
|
||||||
builder.AddData("cfg-dsp-jit", SConfig::GetInstance().m_DSPEnableJIT);
|
builder.AddData("cfg-dsp-jit", SConfig::GetInstance().m_DSPEnableJIT);
|
||||||
builder.AddData("cfg-dsp-thread", SConfig::GetInstance().bDSPThread);
|
builder.AddData("cfg-dsp-thread", SConfig::GetInstance().bDSPThread);
|
||||||
builder.AddData("cfg-cpu-thread", SConfig::GetInstance().bCPUThread);
|
builder.AddData("cfg-cpu-thread", SConfig::GetInstance().bCPUThread);
|
||||||
builder.AddData("cfg-idle-skip", SConfig::GetInstance().bSkipIdle);
|
|
||||||
builder.AddData("cfg-fastmem", SConfig::GetInstance().bFastmem);
|
builder.AddData("cfg-fastmem", SConfig::GetInstance().bFastmem);
|
||||||
builder.AddData("cfg-syncgpu", SConfig::GetInstance().bSyncGPU);
|
builder.AddData("cfg-syncgpu", SConfig::GetInstance().bSyncGPU);
|
||||||
builder.AddData("cfg-audio-backend", SConfig::GetInstance().sBackend);
|
builder.AddData("cfg-audio-backend", SConfig::GetInstance().sBackend);
|
||||||
|
|
|
@ -302,7 +302,7 @@ bool CBoot::BootUp()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scan for common HLE functions
|
// Scan for common HLE functions
|
||||||
if (_StartupPara.bSkipIdle && _StartupPara.bHLE_BS2 && !_StartupPara.bEnableDebugging)
|
if (_StartupPara.bHLE_BS2 && !_StartupPara.bEnableDebugging)
|
||||||
{
|
{
|
||||||
PPCAnalyst::FindFunctions(0x80004000, 0x811fffff, &g_symbolDB);
|
PPCAnalyst::FindFunctions(0x80004000, 0x811fffff, &g_symbolDB);
|
||||||
SignatureDB db;
|
SignatureDB db;
|
||||||
|
|
|
@ -65,7 +65,6 @@ private:
|
||||||
bool valid;
|
bool valid;
|
||||||
bool bCPUThread;
|
bool bCPUThread;
|
||||||
bool bEnableCheats;
|
bool bEnableCheats;
|
||||||
bool bSkipIdle;
|
|
||||||
bool bSyncGPUOnSkipIdleHack;
|
bool bSyncGPUOnSkipIdleHack;
|
||||||
bool bFPRF;
|
bool bFPRF;
|
||||||
bool bAccurateNaNs;
|
bool bAccurateNaNs;
|
||||||
|
@ -97,7 +96,6 @@ void ConfigCache::SaveConfig(const SConfig& config)
|
||||||
|
|
||||||
bCPUThread = config.bCPUThread;
|
bCPUThread = config.bCPUThread;
|
||||||
bEnableCheats = config.bEnableCheats;
|
bEnableCheats = config.bEnableCheats;
|
||||||
bSkipIdle = config.bSkipIdle;
|
|
||||||
bSyncGPUOnSkipIdleHack = config.bSyncGPUOnSkipIdleHack;
|
bSyncGPUOnSkipIdleHack = config.bSyncGPUOnSkipIdleHack;
|
||||||
bFPRF = config.bFPRF;
|
bFPRF = config.bFPRF;
|
||||||
bAccurateNaNs = config.bAccurateNaNs;
|
bAccurateNaNs = config.bAccurateNaNs;
|
||||||
|
@ -140,7 +138,6 @@ void ConfigCache::RestoreConfig(SConfig* config)
|
||||||
|
|
||||||
config->bCPUThread = bCPUThread;
|
config->bCPUThread = bCPUThread;
|
||||||
config->bEnableCheats = bEnableCheats;
|
config->bEnableCheats = bEnableCheats;
|
||||||
config->bSkipIdle = bSkipIdle;
|
|
||||||
config->bSyncGPUOnSkipIdleHack = bSyncGPUOnSkipIdleHack;
|
config->bSyncGPUOnSkipIdleHack = bSyncGPUOnSkipIdleHack;
|
||||||
config->bFPRF = bFPRF;
|
config->bFPRF = bFPRF;
|
||||||
config->bAccurateNaNs = bAccurateNaNs;
|
config->bAccurateNaNs = bAccurateNaNs;
|
||||||
|
@ -250,7 +247,6 @@ bool BootCore(const std::string& _rFilename)
|
||||||
|
|
||||||
core_section->Get("CPUThread", &StartUp.bCPUThread, StartUp.bCPUThread);
|
core_section->Get("CPUThread", &StartUp.bCPUThread, StartUp.bCPUThread);
|
||||||
core_section->Get("EnableCheats", &StartUp.bEnableCheats, StartUp.bEnableCheats);
|
core_section->Get("EnableCheats", &StartUp.bEnableCheats, StartUp.bEnableCheats);
|
||||||
core_section->Get("SkipIdle", &StartUp.bSkipIdle, StartUp.bSkipIdle);
|
|
||||||
core_section->Get("SyncOnSkipIdle", &StartUp.bSyncGPUOnSkipIdleHack,
|
core_section->Get("SyncOnSkipIdle", &StartUp.bSyncGPUOnSkipIdleHack,
|
||||||
StartUp.bSyncGPUOnSkipIdleHack);
|
StartUp.bSyncGPUOnSkipIdleHack);
|
||||||
core_section->Get("FPRF", &StartUp.bFPRF, StartUp.bFPRF);
|
core_section->Get("FPRF", &StartUp.bFPRF, StartUp.bFPRF);
|
||||||
|
@ -330,7 +326,6 @@ bool BootCore(const std::string& _rFilename)
|
||||||
if (Movie::IsPlayingInput() && Movie::IsConfigSaved())
|
if (Movie::IsPlayingInput() && Movie::IsConfigSaved())
|
||||||
{
|
{
|
||||||
StartUp.bCPUThread = Movie::IsDualCore();
|
StartUp.bCPUThread = Movie::IsDualCore();
|
||||||
StartUp.bSkipIdle = Movie::IsSkipIdle();
|
|
||||||
StartUp.bDSPHLE = Movie::IsDSPHLE();
|
StartUp.bDSPHLE = Movie::IsDSPHLE();
|
||||||
StartUp.bProgressive = Movie::IsProgressive();
|
StartUp.bProgressive = Movie::IsProgressive();
|
||||||
StartUp.bPAL60 = Movie::IsPAL60();
|
StartUp.bPAL60 = Movie::IsPAL60();
|
||||||
|
|
|
@ -220,7 +220,6 @@ void SConfig::SaveCoreSettings(IniFile& ini)
|
||||||
core->Set("Fastmem", bFastmem);
|
core->Set("Fastmem", bFastmem);
|
||||||
core->Set("CPUThread", bCPUThread);
|
core->Set("CPUThread", bCPUThread);
|
||||||
core->Set("DSPHLE", bDSPHLE);
|
core->Set("DSPHLE", bDSPHLE);
|
||||||
core->Set("SkipIdle", bSkipIdle);
|
|
||||||
core->Set("SyncOnSkipIdle", bSyncGPUOnSkipIdleHack);
|
core->Set("SyncOnSkipIdle", bSyncGPUOnSkipIdleHack);
|
||||||
core->Set("SyncGPU", bSyncGPU);
|
core->Set("SyncGPU", bSyncGPU);
|
||||||
core->Set("SyncGpuMaxDistance", iSyncGpuMaxDistance);
|
core->Set("SyncGpuMaxDistance", iSyncGpuMaxDistance);
|
||||||
|
@ -493,7 +492,6 @@ void SConfig::LoadCoreSettings(IniFile& ini)
|
||||||
core->Get("DSPHLE", &bDSPHLE, true);
|
core->Get("DSPHLE", &bDSPHLE, true);
|
||||||
core->Get("TimingVariance", &iTimingVariance, 40);
|
core->Get("TimingVariance", &iTimingVariance, 40);
|
||||||
core->Get("CPUThread", &bCPUThread, true);
|
core->Get("CPUThread", &bCPUThread, true);
|
||||||
core->Get("SkipIdle", &bSkipIdle, true);
|
|
||||||
core->Get("SyncOnSkipIdle", &bSyncGPUOnSkipIdleHack, true);
|
core->Get("SyncOnSkipIdle", &bSyncGPUOnSkipIdleHack, true);
|
||||||
core->Get("DefaultISO", &m_strDefaultISO);
|
core->Get("DefaultISO", &m_strDefaultISO);
|
||||||
core->Get("DVDRoot", &m_strDVDRoot);
|
core->Get("DVDRoot", &m_strDVDRoot);
|
||||||
|
@ -644,7 +642,6 @@ void SConfig::LoadDefaults()
|
||||||
iCPUCore = PowerPC::CORE_JIT64;
|
iCPUCore = PowerPC::CORE_JIT64;
|
||||||
iTimingVariance = 40;
|
iTimingVariance = 40;
|
||||||
bCPUThread = false;
|
bCPUThread = false;
|
||||||
bSkipIdle = false;
|
|
||||||
bSyncGPUOnSkipIdleHack = true;
|
bSyncGPUOnSkipIdleHack = true;
|
||||||
bRunCompareServer = false;
|
bRunCompareServer = false;
|
||||||
bDSPHLE = true;
|
bDSPHLE = true;
|
||||||
|
|
|
@ -92,7 +92,6 @@ struct SConfig : NonCopyable
|
||||||
bool bCPUThread = true;
|
bool bCPUThread = true;
|
||||||
bool bDSPThread = false;
|
bool bDSPThread = false;
|
||||||
bool bDSPHLE = true;
|
bool bDSPHLE = true;
|
||||||
bool bSkipIdle = true;
|
|
||||||
bool bSyncGPUOnSkipIdleHack = true;
|
bool bSyncGPUOnSkipIdleHack = true;
|
||||||
bool bNTSC = false;
|
bool bNTSC = false;
|
||||||
bool bForceNTSCJ = false;
|
bool bForceNTSCJ = false;
|
||||||
|
|
|
@ -924,11 +924,9 @@ void UpdateTitle()
|
||||||
float TicksPercentage =
|
float TicksPercentage =
|
||||||
(float)diff / (float)(SystemTimers::GetTicksPerSecond() / 1000000) * 100;
|
(float)diff / (float)(SystemTimers::GetTicksPerSecond() / 1000000) * 100;
|
||||||
|
|
||||||
SFPS +=
|
SFPS += StringFromFormat(" | CPU: ~%i MHz [Real: %i + IdleSkip: %i] / %i MHz (~%3.0f%%)",
|
||||||
StringFromFormat(" | CPU: %s%i MHz [Real: %i + IdleSkip: %i] / %i MHz (%s%3.0f%%)",
|
(int)(diff), (int)(diff - idleDiff), (int)(idleDiff),
|
||||||
_CoreParameter.bSkipIdle ? "~" : "", (int)(diff), (int)(diff - idleDiff),
|
SystemTimers::GetTicksPerSecond() / 1000000, TicksPercentage);
|
||||||
(int)(idleDiff), SystemTimers::GetTicksPerSecond() / 1000000,
|
|
||||||
_CoreParameter.bSkipIdle ? "~" : "", TicksPercentage);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// This is our final "frame counter" string
|
// This is our final "frame counter" string
|
||||||
|
|
|
@ -67,7 +67,7 @@ static u64 s_totalLagCount = 0; // just stats
|
||||||
static u64 s_currentInputCount = 0, s_totalInputCount = 0; // just stats
|
static u64 s_currentInputCount = 0, s_totalInputCount = 0; // just stats
|
||||||
static u64 s_totalTickCount = 0, s_tickCountAtLastInput = 0; // just stats
|
static u64 s_totalTickCount = 0, s_tickCountAtLastInput = 0; // just stats
|
||||||
static u64 s_recordingStartTime; // seconds since 1970 that recording started
|
static u64 s_recordingStartTime; // seconds since 1970 that recording started
|
||||||
static bool s_bSaveConfig = false, s_bSkipIdle = false, s_bDualCore = false;
|
static bool s_bSaveConfig = false, s_bDualCore = false;
|
||||||
static bool s_bProgressive = false, s_bPAL60 = false;
|
static bool s_bProgressive = false, s_bPAL60 = false;
|
||||||
static bool s_bDSPHLE = false, s_bFastDiscSpeed = false;
|
static bool s_bDSPHLE = false, s_bFastDiscSpeed = false;
|
||||||
static bool s_bSyncGPU = false, s_bNetPlay = false;
|
static bool s_bSyncGPU = false, s_bNetPlay = false;
|
||||||
|
@ -477,11 +477,6 @@ bool IsPAL60()
|
||||||
return s_bPAL60;
|
return s_bPAL60;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsSkipIdle()
|
|
||||||
{
|
|
||||||
return s_bSkipIdle;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsDSPHLE()
|
bool IsDSPHLE()
|
||||||
{
|
{
|
||||||
return s_bDSPHLE;
|
return s_bDSPHLE;
|
||||||
|
@ -952,7 +947,6 @@ void ReadHeader()
|
||||||
if (tmpHeader.bSaveConfig)
|
if (tmpHeader.bSaveConfig)
|
||||||
{
|
{
|
||||||
s_bSaveConfig = true;
|
s_bSaveConfig = true;
|
||||||
s_bSkipIdle = tmpHeader.bSkipIdle;
|
|
||||||
s_bDualCore = tmpHeader.bDualCore;
|
s_bDualCore = tmpHeader.bDualCore;
|
||||||
s_bProgressive = tmpHeader.bProgressive;
|
s_bProgressive = tmpHeader.bProgressive;
|
||||||
s_bPAL60 = tmpHeader.bPAL60;
|
s_bPAL60 = tmpHeader.bPAL60;
|
||||||
|
@ -1432,7 +1426,7 @@ void SaveRecording(const std::string& filename)
|
||||||
header.recordingStartTime = s_recordingStartTime;
|
header.recordingStartTime = s_recordingStartTime;
|
||||||
|
|
||||||
header.bSaveConfig = true;
|
header.bSaveConfig = true;
|
||||||
header.bSkipIdle = s_bSkipIdle;
|
header.bSkipIdle = true;
|
||||||
header.bDualCore = s_bDualCore;
|
header.bDualCore = s_bDualCore;
|
||||||
header.bProgressive = s_bProgressive;
|
header.bProgressive = s_bProgressive;
|
||||||
header.bPAL60 = s_bPAL60;
|
header.bPAL60 = s_bPAL60;
|
||||||
|
@ -1518,7 +1512,6 @@ void SetGraphicsConfig()
|
||||||
void GetSettings()
|
void GetSettings()
|
||||||
{
|
{
|
||||||
s_bSaveConfig = true;
|
s_bSaveConfig = true;
|
||||||
s_bSkipIdle = SConfig::GetInstance().bSkipIdle;
|
|
||||||
s_bDualCore = SConfig::GetInstance().bCPUThread;
|
s_bDualCore = SConfig::GetInstance().bCPUThread;
|
||||||
s_bProgressive = SConfig::GetInstance().bProgressive;
|
s_bProgressive = SConfig::GetInstance().bProgressive;
|
||||||
s_bPAL60 = SConfig::GetInstance().bPAL60;
|
s_bPAL60 = SConfig::GetInstance().bPAL60;
|
||||||
|
|
|
@ -22,7 +22,7 @@ void Interpreter::bx(UGeckoInstruction _inst)
|
||||||
|
|
||||||
m_EndBlock = true;
|
m_EndBlock = true;
|
||||||
|
|
||||||
if (NPC == PC && SConfig::GetInstance().bSkipIdle)
|
if (NPC == PC)
|
||||||
{
|
{
|
||||||
CoreTiming::Idle();
|
CoreTiming::Idle();
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ void Interpreter::bcx(UGeckoInstruction _inst)
|
||||||
// lwz r0, XXXX(r13)
|
// lwz r0, XXXX(r13)
|
||||||
// cmpXwi r0,0
|
// cmpXwi r0,0
|
||||||
// beq -8
|
// beq -8
|
||||||
if (NPC == PC - 8 && _inst.hex == 0x4182fff8 /* beq */ && SConfig::GetInstance().bSkipIdle)
|
if (NPC == PC - 8 && _inst.hex == 0x4182fff8 /* beq */)
|
||||||
{
|
{
|
||||||
if (PowerPC::HostRead_U32(PC - 8) >> 16 == 0x800D /* lwz */)
|
if (PowerPC::HostRead_U32(PC - 8) >> 16 == 0x800D /* lwz */)
|
||||||
{
|
{
|
||||||
|
|
|
@ -117,26 +117,12 @@ void Jit64::lXXx(UGeckoInstruction inst)
|
||||||
signExtend = true;
|
signExtend = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(ector): Make it dynamically enable/disable idle skipping where appropriate
|
if (CPU::GetState() != CPU::CPU_STEPPING && inst.OPCD == 32 && MergeAllowedNextInstructions(2) &&
|
||||||
// Will give nice boost to dual core mode
|
(inst.hex & 0xFFFF0000) == 0x800D0000 &&
|
||||||
// (mb2): I agree,
|
|
||||||
// IMHO those Idles should always be skipped and replaced by a more controllable "native" Idle
|
|
||||||
// methode
|
|
||||||
// ... maybe the throttle one already do that :p
|
|
||||||
// TODO: We shouldn't use a debug read here. It should be possible to get
|
|
||||||
// the following instructions out of the JIT state.
|
|
||||||
if (SConfig::GetInstance().bSkipIdle && CPU::GetState() != CPU::CPU_STEPPING && inst.OPCD == 32 &&
|
|
||||||
MergeAllowedNextInstructions(2) && (inst.hex & 0xFFFF0000) == 0x800D0000 &&
|
|
||||||
(js.op[1].inst.hex == 0x28000000 ||
|
(js.op[1].inst.hex == 0x28000000 ||
|
||||||
(SConfig::GetInstance().bWii && js.op[1].inst.hex == 0x2C000000)) &&
|
(SConfig::GetInstance().bWii && js.op[1].inst.hex == 0x2C000000)) &&
|
||||||
js.op[2].inst.hex == 0x4182fff8)
|
js.op[2].inst.hex == 0x4182fff8)
|
||||||
{
|
{
|
||||||
// TODO(LinesPrower):
|
|
||||||
// - Rewrite this!
|
|
||||||
// It seems to be ugly and inefficient, but I don't know JIT stuff enough to make it right
|
|
||||||
// It only demonstrates the idea
|
|
||||||
|
|
||||||
// do our job at first
|
|
||||||
s32 offset = (s32)(s16)inst.SIMM_16;
|
s32 offset = (s32)(s16)inst.SIMM_16;
|
||||||
gpr.BindToRegister(a, true, false);
|
gpr.BindToRegister(a, true, false);
|
||||||
gpr.BindToRegister(d, false, true);
|
gpr.BindToRegister(d, false, true);
|
||||||
|
|
|
@ -430,7 +430,7 @@ void JitArm64::lXX(UGeckoInstruction inst)
|
||||||
SafeLoadToReg(d, update ? a : (a ? a : -1), offsetReg, flags, offset, update);
|
SafeLoadToReg(d, update ? a : (a ? a : -1), offsetReg, flags, offset, update);
|
||||||
|
|
||||||
// LWZ idle skipping
|
// LWZ idle skipping
|
||||||
if (SConfig::GetInstance().bSkipIdle && inst.OPCD == 32 && MergeAllowedNextInstructions(2) &&
|
if (inst.OPCD == 32 && MergeAllowedNextInstructions(2) &&
|
||||||
(inst.hex & 0xFFFF0000) == 0x800D0000 && // lwz r0, XXXX(r13)
|
(inst.hex & 0xFFFF0000) == 0x800D0000 && // lwz r0, XXXX(r13)
|
||||||
(js.op[1].inst.hex == 0x28000000 ||
|
(js.op[1].inst.hex == 0x28000000 ||
|
||||||
(SConfig::GetInstance().bWii && js.op[1].inst.hex == 0x2C000000)) && // cmpXwi r0,0
|
(SConfig::GetInstance().bWii && js.op[1].inst.hex == 0x2C000000)) && // cmpXwi r0,0
|
||||||
|
|
|
@ -145,7 +145,7 @@ void JitILBase::bcx(UGeckoInstruction inst)
|
||||||
// If idle skipping is enabled, then this branch will only be reached when the branch is not
|
// If idle skipping is enabled, then this branch will only be reached when the branch is not
|
||||||
// taken.
|
// taken.
|
||||||
// TODO: We shouldn't use debug reads here.
|
// TODO: We shouldn't use debug reads here.
|
||||||
if (SConfig::GetInstance().bSkipIdle && inst.hex == 0x4182fff8 &&
|
if (inst.hex == 0x4182fff8 &&
|
||||||
(PowerPC::HostRead_U32(js.compilerPC - 8) & 0xFFFF0000) == 0x800D0000 &&
|
(PowerPC::HostRead_U32(js.compilerPC - 8) & 0xFFFF0000) == 0x800D0000 &&
|
||||||
(PowerPC::HostRead_U32(js.compilerPC - 4) == 0x28000000 ||
|
(PowerPC::HostRead_U32(js.compilerPC - 4) == 0x28000000 ||
|
||||||
(SConfig::GetInstance().bWii && PowerPC::HostRead_U32(js.compilerPC - 4) == 0x2C000000)))
|
(SConfig::GetInstance().bWii && PowerPC::HostRead_U32(js.compilerPC - 4) == 0x2C000000)))
|
||||||
|
|
|
@ -57,8 +57,7 @@ void JitILBase::lXz(UGeckoInstruction inst)
|
||||||
// TODO: This really should be done somewhere else. Either lower in the IR
|
// TODO: This really should be done somewhere else. Either lower in the IR
|
||||||
// or higher in PPCAnalyst
|
// or higher in PPCAnalyst
|
||||||
// TODO: We shouldn't use debug reads here.
|
// TODO: We shouldn't use debug reads here.
|
||||||
if (SConfig::GetInstance().bSkipIdle && CPU::GetState() != CPU::CPU_STEPPING &&
|
if (CPU::GetState() != CPU::CPU_STEPPING && inst.OPCD == 32 && // Lwx
|
||||||
inst.OPCD == 32 && // Lwx
|
|
||||||
(inst.hex & 0xFFFF0000) == 0x800D0000 &&
|
(inst.hex & 0xFFFF0000) == 0x800D0000 &&
|
||||||
(PowerPC::HostRead_U32(js.compilerPC + 4) == 0x28000000 ||
|
(PowerPC::HostRead_U32(js.compilerPC + 4) == 0x28000000 ||
|
||||||
(SConfig::GetInstance().bWii && PowerPC::HostRead_U32(js.compilerPC + 4) == 0x2C000000)) &&
|
(SConfig::GetInstance().bWii && PowerPC::HostRead_U32(js.compilerPC + 4) == 0x2C000000)) &&
|
||||||
|
|
|
@ -54,7 +54,6 @@ void GeneralConfigPane::InitializeGUI()
|
||||||
m_cpu_engine_array_string.Add(cpu_core.name);
|
m_cpu_engine_array_string.Add(cpu_core.name);
|
||||||
|
|
||||||
m_dual_core_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Dual Core (speedup)"));
|
m_dual_core_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Dual Core (speedup)"));
|
||||||
m_idle_skip_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Idle Skipping (speedup)"));
|
|
||||||
m_cheats_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Cheats"));
|
m_cheats_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Cheats"));
|
||||||
m_force_ntscj_checkbox = new wxCheckBox(this, wxID_ANY, _("Force Console as NTSC-J"));
|
m_force_ntscj_checkbox = new wxCheckBox(this, wxID_ANY, _("Force Console as NTSC-J"));
|
||||||
m_analytics_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Usage Statistics Reporting"));
|
m_analytics_checkbox = new wxCheckBox(this, wxID_ANY, _("Enable Usage Statistics Reporting"));
|
||||||
|
@ -73,8 +72,6 @@ void GeneralConfigPane::InitializeGUI()
|
||||||
m_dual_core_checkbox->SetToolTip(
|
m_dual_core_checkbox->SetToolTip(
|
||||||
_("Splits the CPU and GPU threads so they can be run on separate cores.\nProvides major "
|
_("Splits the CPU and GPU threads so they can be run on separate cores.\nProvides major "
|
||||||
"speed improvements on most modern PCs, but can cause occasional crashes/glitches."));
|
"speed improvements on most modern PCs, but can cause occasional crashes/glitches."));
|
||||||
m_idle_skip_checkbox->SetToolTip(
|
|
||||||
_("Attempt to detect and skip wait-loops.\nIf unsure, leave this checked."));
|
|
||||||
m_cheats_checkbox->SetToolTip(_("Enables the use of Action Replay and Gecko cheats."));
|
m_cheats_checkbox->SetToolTip(_("Enables the use of Action Replay and Gecko cheats."));
|
||||||
m_force_ntscj_checkbox->SetToolTip(
|
m_force_ntscj_checkbox->SetToolTip(
|
||||||
_("Forces NTSC-J mode for using the Japanese ROM font.\nIf left unchecked, Dolphin defaults "
|
_("Forces NTSC-J mode for using the Japanese ROM font.\nIf left unchecked, Dolphin defaults "
|
||||||
|
@ -92,7 +89,6 @@ void GeneralConfigPane::InitializeGUI()
|
||||||
"or lower the audio pitch to prevent audio from stuttering."));
|
"or lower the audio pitch to prevent audio from stuttering."));
|
||||||
|
|
||||||
m_dual_core_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnDualCoreCheckBoxChanged, this);
|
m_dual_core_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnDualCoreCheckBoxChanged, this);
|
||||||
m_idle_skip_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnIdleSkipCheckBoxChanged, this);
|
|
||||||
m_cheats_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnCheatCheckBoxChanged, this);
|
m_cheats_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnCheatCheckBoxChanged, this);
|
||||||
m_force_ntscj_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnForceNTSCJCheckBoxChanged,
|
m_force_ntscj_checkbox->Bind(wxEVT_CHECKBOX, &GeneralConfigPane::OnForceNTSCJCheckBoxChanged,
|
||||||
this);
|
this);
|
||||||
|
@ -116,8 +112,6 @@ void GeneralConfigPane::InitializeGUI()
|
||||||
basic_settings_sizer->AddSpacer(space5);
|
basic_settings_sizer->AddSpacer(space5);
|
||||||
basic_settings_sizer->Add(m_dual_core_checkbox, 0, wxLEFT | wxRIGHT, space5);
|
basic_settings_sizer->Add(m_dual_core_checkbox, 0, wxLEFT | wxRIGHT, space5);
|
||||||
basic_settings_sizer->AddSpacer(space5);
|
basic_settings_sizer->AddSpacer(space5);
|
||||||
basic_settings_sizer->Add(m_idle_skip_checkbox, 0, wxLEFT | wxRIGHT, space5);
|
|
||||||
basic_settings_sizer->AddSpacer(space5);
|
|
||||||
basic_settings_sizer->Add(m_cheats_checkbox, 0, wxLEFT | wxRIGHT, space5);
|
basic_settings_sizer->Add(m_cheats_checkbox, 0, wxLEFT | wxRIGHT, space5);
|
||||||
basic_settings_sizer->AddSpacer(space5);
|
basic_settings_sizer->AddSpacer(space5);
|
||||||
basic_settings_sizer->Add(throttler_sizer);
|
basic_settings_sizer->Add(throttler_sizer);
|
||||||
|
@ -155,7 +149,6 @@ void GeneralConfigPane::LoadGUIValues()
|
||||||
const SConfig& startup_params = SConfig::GetInstance();
|
const SConfig& startup_params = SConfig::GetInstance();
|
||||||
|
|
||||||
m_dual_core_checkbox->SetValue(startup_params.bCPUThread);
|
m_dual_core_checkbox->SetValue(startup_params.bCPUThread);
|
||||||
m_idle_skip_checkbox->SetValue(startup_params.bSkipIdle);
|
|
||||||
m_cheats_checkbox->SetValue(startup_params.bEnableCheats);
|
m_cheats_checkbox->SetValue(startup_params.bEnableCheats);
|
||||||
m_force_ntscj_checkbox->SetValue(startup_params.bForceNTSCJ);
|
m_force_ntscj_checkbox->SetValue(startup_params.bForceNTSCJ);
|
||||||
m_analytics_checkbox->SetValue(startup_params.m_analytics_enabled);
|
m_analytics_checkbox->SetValue(startup_params.m_analytics_enabled);
|
||||||
|
@ -175,7 +168,6 @@ void GeneralConfigPane::RefreshGUI()
|
||||||
if (Core::IsRunning())
|
if (Core::IsRunning())
|
||||||
{
|
{
|
||||||
m_dual_core_checkbox->Disable();
|
m_dual_core_checkbox->Disable();
|
||||||
m_idle_skip_checkbox->Disable();
|
|
||||||
m_cheats_checkbox->Disable();
|
m_cheats_checkbox->Disable();
|
||||||
m_force_ntscj_checkbox->Disable();
|
m_force_ntscj_checkbox->Disable();
|
||||||
m_cpu_engine_radiobox->Disable();
|
m_cpu_engine_radiobox->Disable();
|
||||||
|
@ -190,11 +182,6 @@ void GeneralConfigPane::OnDualCoreCheckBoxChanged(wxCommandEvent& event)
|
||||||
SConfig::GetInstance().bCPUThread = m_dual_core_checkbox->IsChecked();
|
SConfig::GetInstance().bCPUThread = m_dual_core_checkbox->IsChecked();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeneralConfigPane::OnIdleSkipCheckBoxChanged(wxCommandEvent& event)
|
|
||||||
{
|
|
||||||
SConfig::GetInstance().bSkipIdle = m_idle_skip_checkbox->IsChecked();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeneralConfigPane::OnCheatCheckBoxChanged(wxCommandEvent& event)
|
void GeneralConfigPane::OnCheatCheckBoxChanged(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
SConfig::GetInstance().bEnableCheats = m_cheats_checkbox->IsChecked();
|
SConfig::GetInstance().bEnableCheats = m_cheats_checkbox->IsChecked();
|
||||||
|
|
|
@ -29,7 +29,6 @@ private:
|
||||||
void RefreshGUI();
|
void RefreshGUI();
|
||||||
|
|
||||||
void OnDualCoreCheckBoxChanged(wxCommandEvent&);
|
void OnDualCoreCheckBoxChanged(wxCommandEvent&);
|
||||||
void OnIdleSkipCheckBoxChanged(wxCommandEvent&);
|
|
||||||
void OnCheatCheckBoxChanged(wxCommandEvent&);
|
void OnCheatCheckBoxChanged(wxCommandEvent&);
|
||||||
void OnForceNTSCJCheckBoxChanged(wxCommandEvent&);
|
void OnForceNTSCJCheckBoxChanged(wxCommandEvent&);
|
||||||
void OnThrottlerChoiceChanged(wxCommandEvent&);
|
void OnThrottlerChoiceChanged(wxCommandEvent&);
|
||||||
|
@ -41,7 +40,6 @@ private:
|
||||||
wxArrayString m_cpu_engine_array_string;
|
wxArrayString m_cpu_engine_array_string;
|
||||||
|
|
||||||
wxCheckBox* m_dual_core_checkbox;
|
wxCheckBox* m_dual_core_checkbox;
|
||||||
wxCheckBox* m_idle_skip_checkbox;
|
|
||||||
wxCheckBox* m_cheats_checkbox;
|
wxCheckBox* m_cheats_checkbox;
|
||||||
wxCheckBox* m_force_ntscj_checkbox;
|
wxCheckBox* m_force_ntscj_checkbox;
|
||||||
|
|
||||||
|
|
|
@ -288,7 +288,6 @@ EVT_MENU(IDM_FIFOPLAYER, CFrame::OnFifoPlayer)
|
||||||
|
|
||||||
EVT_MENU(IDM_TOGGLE_FULLSCREEN, CFrame::OnToggleFullscreen)
|
EVT_MENU(IDM_TOGGLE_FULLSCREEN, CFrame::OnToggleFullscreen)
|
||||||
EVT_MENU(IDM_TOGGLE_DUAL_CORE, CFrame::OnToggleDualCore)
|
EVT_MENU(IDM_TOGGLE_DUAL_CORE, CFrame::OnToggleDualCore)
|
||||||
EVT_MENU(IDM_TOGGLE_SKIP_IDLE, CFrame::OnToggleSkipIdle)
|
|
||||||
EVT_MENU(IDM_TOGGLE_TOOLBAR, CFrame::OnToggleToolbar)
|
EVT_MENU(IDM_TOGGLE_TOOLBAR, CFrame::OnToggleToolbar)
|
||||||
EVT_MENU(IDM_TOGGLE_STATUSBAR, CFrame::OnToggleStatusbar)
|
EVT_MENU(IDM_TOGGLE_STATUSBAR, CFrame::OnToggleStatusbar)
|
||||||
EVT_MENU_RANGE(IDM_LOG_WINDOW, IDM_VIDEO_WINDOW, CFrame::OnToggleWindow)
|
EVT_MENU_RANGE(IDM_LOG_WINDOW, IDM_VIDEO_WINDOW, CFrame::OnToggleWindow)
|
||||||
|
|
|
@ -294,7 +294,6 @@ private:
|
||||||
|
|
||||||
void OnToggleFullscreen(wxCommandEvent& event);
|
void OnToggleFullscreen(wxCommandEvent& event);
|
||||||
void OnToggleDualCore(wxCommandEvent& event);
|
void OnToggleDualCore(wxCommandEvent& event);
|
||||||
void OnToggleSkipIdle(wxCommandEvent& event);
|
|
||||||
void OnManagerResize(wxAuiManagerEvent& event);
|
void OnManagerResize(wxAuiManagerEvent& event);
|
||||||
void OnMove(wxMoveEvent& event);
|
void OnMove(wxMoveEvent& event);
|
||||||
void OnResize(wxSizeEvent& event);
|
void OnResize(wxSizeEvent& event);
|
||||||
|
|
|
@ -1571,12 +1571,6 @@ void CFrame::OnToggleDualCore(wxCommandEvent& WXUNUSED(event))
|
||||||
SConfig::GetInstance().SaveSettings();
|
SConfig::GetInstance().SaveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFrame::OnToggleSkipIdle(wxCommandEvent& WXUNUSED(event))
|
|
||||||
{
|
|
||||||
SConfig::GetInstance().bSkipIdle = !SConfig::GetInstance().bSkipIdle;
|
|
||||||
SConfig::GetInstance().SaveSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CFrame::OnLoadStateFromFile(wxCommandEvent& WXUNUSED(event))
|
void CFrame::OnLoadStateFromFile(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
wxString path =
|
wxString path =
|
||||||
|
|
|
@ -288,7 +288,6 @@ enum
|
||||||
// --------------------------------------------------------------
|
// --------------------------------------------------------------
|
||||||
|
|
||||||
IDM_TOGGLE_DUAL_CORE, // Other
|
IDM_TOGGLE_DUAL_CORE, // Other
|
||||||
IDM_TOGGLE_SKIP_IDLE,
|
|
||||||
IDM_TOGGLE_TOOLBAR,
|
IDM_TOGGLE_TOOLBAR,
|
||||||
IDM_TOGGLE_STATUSBAR,
|
IDM_TOGGLE_STATUSBAR,
|
||||||
IDM_NOTIFY_MAP_LOADED,
|
IDM_NOTIFY_MAP_LOADED,
|
||||||
|
|
Loading…
Reference in New Issue