Merge pull request #466 from RachelBryk/progressive-game-ini

Allow progressive scan to be set by game ini.
This commit is contained in:
Pierre Bourdon 2014-06-22 19:03:01 +02:00
commit 47c2d0d725
1 changed files with 7 additions and 1 deletions

View File

@ -48,7 +48,7 @@ namespace BootManager
struct ConfigCache struct ConfigCache
{ {
bool valid, bCPUThread, bSkipIdle, bEnableFPRF, bMMU, bDCBZOFF, m_EnableJIT, bDSPThread, 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 iCPUCore, Volume;
int iWiimoteSource[MAX_BBMOTES]; int iWiimoteSource[MAX_BBMOTES];
SIDevices Pads[MAX_SI_CHANNELS]; SIDevices Pads[MAX_SI_CHANNELS];
@ -117,6 +117,7 @@ bool BootCore(const std::string& _rFilename)
config_cache.sBackend = SConfig::GetInstance().sBackend; config_cache.sBackend = SConfig::GetInstance().sBackend;
config_cache.framelimit = SConfig::GetInstance().m_Framelimit; config_cache.framelimit = SConfig::GetInstance().m_Framelimit;
config_cache.frameSkip = SConfig::GetInstance().m_FrameSkip; config_cache.frameSkip = SConfig::GetInstance().m_FrameSkip;
config_cache.bProgressive = StartUp.bProgressive;
for (unsigned int i = 0; i < MAX_BBMOTES; ++i) for (unsigned int i = 0; i < MAX_BBMOTES; ++i)
{ {
config_cache.iWiimoteSource[i] = g_wiimote_sources[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("GFXBackend", &StartUp.m_strVideoBackend, StartUp.m_strVideoBackend);
core_section->Get("CPUCore", &StartUp.iCPUCore, StartUp.iCPUCore); core_section->Get("CPUCore", &StartUp.iCPUCore, StartUp.iCPUCore);
core_section->Get("HLE_BS2", &StartUp.bHLE_BS2, StartUp.bHLE_BS2); 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)) if (core_section->Get("FrameLimit", &SConfig::GetInstance().m_Framelimit, SConfig::GetInstance().m_Framelimit))
config_cache.bSetFramelimit = true; config_cache.bSetFramelimit = true;
if (core_section->Get("FrameSkip", &SConfig::GetInstance().m_FrameSkip)) if (core_section->Get("FrameSkip", &SConfig::GetInstance().m_FrameSkip))
@ -237,6 +239,8 @@ bool BootCore(const std::string& _rFilename)
config_cache.bSetEXIDevice[1] = true; config_cache.bSetEXIDevice[1] = true;
} }
SConfig::GetInstance().m_SYSCONF->SetData("IPL.PGS", StartUp.bProgressive);
// Run the game // Run the game
// Init the core // Init the core
if (!Core::Init()) if (!Core::Init())
@ -276,6 +280,8 @@ void Stop()
StartUp.bHLE_BS2 = config_cache.bHLE_BS2; StartUp.bHLE_BS2 = config_cache.bHLE_BS2;
SConfig::GetInstance().sBackend = config_cache.sBackend; SConfig::GetInstance().sBackend = config_cache.sBackend;
SConfig::GetInstance().m_DSPEnableJIT = config_cache.m_EnableJIT; 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. // 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) if (config_cache.bSetFramelimit)