diff --git a/Source/Core/Core/BootManager.cpp b/Source/Core/Core/BootManager.cpp index 5e5f54afac..c3cc17ecca 100644 --- a/Source/Core/Core/BootManager.cpp +++ b/Source/Core/Core/BootManager.cpp @@ -48,7 +48,7 @@ namespace BootManager struct ConfigCache { bool valid, bCPUThread, bSkipIdle, bEnableFPRF, bMMU, bDCBZOFF, m_EnableJIT, bDSPThread, - bVBeamSpeedHack, bSyncGPU, bFastDiscSpeed, bMergeBlocks, bDSPHLE, bHLE_BS2, bTLBHack; + bVBeamSpeedHack, bSyncGPU, bFastDiscSpeed, bMergeBlocks, bDSPHLE, bHLE_BS2, bTLBHack, bProgressive; int iCPUCore, Volume; int iWiimoteSource[MAX_BBMOTES]; SIDevices Pads[MAX_SI_CHANNELS]; @@ -117,6 +117,7 @@ bool BootCore(const std::string& _rFilename) config_cache.sBackend = SConfig::GetInstance().sBackend; config_cache.framelimit = SConfig::GetInstance().m_Framelimit; config_cache.frameSkip = SConfig::GetInstance().m_FrameSkip; + config_cache.bProgressive = StartUp.bProgressive; for (unsigned int i = 0; i < MAX_BBMOTES; ++i) { config_cache.iWiimoteSource[i] = g_wiimote_sources[i]; @@ -155,6 +156,7 @@ bool BootCore(const std::string& _rFilename) core_section->Get("GFXBackend", &StartUp.m_strVideoBackend, StartUp.m_strVideoBackend); core_section->Get("CPUCore", &StartUp.iCPUCore, StartUp.iCPUCore); core_section->Get("HLE_BS2", &StartUp.bHLE_BS2, StartUp.bHLE_BS2); + core_section->Get("ProgressiveScan", &StartUp.bProgressive, StartUp.bProgressive); if (core_section->Get("FrameLimit", &SConfig::GetInstance().m_Framelimit, SConfig::GetInstance().m_Framelimit)) config_cache.bSetFramelimit = true; if (core_section->Get("FrameSkip", &SConfig::GetInstance().m_FrameSkip)) @@ -237,6 +239,8 @@ bool BootCore(const std::string& _rFilename) config_cache.bSetEXIDevice[1] = true; } + SConfig::GetInstance().m_SYSCONF->SetData("IPL.PGS", StartUp.bProgressive); + // Run the game // Init the core if (!Core::Init()) @@ -276,6 +280,8 @@ void Stop() StartUp.bHLE_BS2 = config_cache.bHLE_BS2; SConfig::GetInstance().sBackend = config_cache.sBackend; SConfig::GetInstance().m_DSPEnableJIT = config_cache.m_EnableJIT; + StartUp.bProgressive = config_cache.bProgressive; + SConfig::GetInstance().m_SYSCONF->SetData("IPL.PGS", config_cache.bProgressive); // Only change these back if they were actually set by game ini, since they can be changed while a game is running. if (config_cache.bSetFramelimit)