diff --git a/Source/Core/Core/Src/Movie.cpp b/Source/Core/Core/Src/Movie.cpp index 13f5ed26e8..11ec6a899d 100644 --- a/Source/Core/Core/Src/Movie.cpp +++ b/Source/Core/Core/Src/Movie.cpp @@ -136,6 +136,10 @@ void Init() { ReadHeader(); } + if (IsRecordingInput()) + { + GetSettings(); + } g_frameSkipCounter = g_framesToSkip; memset(&g_padState, 0, sizeof(g_padState)); if (!tmpHeader.bFromSaveState || !IsPlayingInput()) @@ -378,16 +382,7 @@ bool BeginRecordingInput(int controllers) g_bRecordingFromSaveState = true; } g_playMode = MODE_RECORDING; - - bSkipIdle = SConfig::GetInstance().m_LocalCoreStartupParameter.bSkipIdle; - bDualCore = SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread; - bProgressive = SConfig::GetInstance().m_LocalCoreStartupParameter.bProgressive; - bDSPHLE = SConfig::GetInstance().m_LocalCoreStartupParameter.bDSPHLE; - bFastDiscSpeed = SConfig::GetInstance().m_LocalCoreStartupParameter.bFastDiscSpeed; - videoBackend = SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoBackend; - iCPUCore = SConfig::GetInstance().m_LocalCoreStartupParameter.iCPUCore; - bBlankMC = !File::Exists(SConfig::GetInstance().m_strMemoryCardA); - bMemcard = SConfig::GetInstance().m_EXIDevice[0] == EXIDEVICE_MEMORYCARD; + GetSettings(); delete [] tmpInput; tmpInput = new u8[MAX_DTM_LENGTH]; @@ -635,14 +630,7 @@ void ReadHeader() else { bSaveConfig = false; - bSkipIdle = SConfig::GetInstance().m_LocalCoreStartupParameter.bSkipIdle; - bDualCore = SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread; - bProgressive = SConfig::GetInstance().m_LocalCoreStartupParameter.bProgressive; - bDSPHLE = SConfig::GetInstance().m_LocalCoreStartupParameter.bDSPHLE; - bFastDiscSpeed = SConfig::GetInstance().m_LocalCoreStartupParameter.bFastDiscSpeed; - videoBackend = SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoBackend; - bBlankMC = !File::Exists(SConfig::GetInstance().m_strMemoryCardA); - bMemcard = SConfig::GetInstance().m_EXIDevice[0] == EXIDEVICE_MEMORYCARD; + GetSettings(); } @@ -1150,4 +1138,17 @@ void SetGraphicsConfig() g_Config.bUseXFB = tmpHeader.bUseXFB; g_Config.bUseRealXFB = tmpHeader.bUseRealXFB; } + +void GetSettings() +{ + bSkipIdle = SConfig::GetInstance().m_LocalCoreStartupParameter.bSkipIdle; + bDualCore = SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread; + bProgressive = SConfig::GetInstance().m_LocalCoreStartupParameter.bProgressive; + bDSPHLE = SConfig::GetInstance().m_LocalCoreStartupParameter.bDSPHLE; + bFastDiscSpeed = SConfig::GetInstance().m_LocalCoreStartupParameter.bFastDiscSpeed; + videoBackend = SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoBackend; + iCPUCore = SConfig::GetInstance().m_LocalCoreStartupParameter.iCPUCore; + bBlankMC = !File::Exists(SConfig::GetInstance().m_strMemoryCardA); + bMemcard = SConfig::GetInstance().m_EXIDevice[0] == EXIDEVICE_MEMORYCARD; +} }; diff --git a/Source/Core/Core/Src/Movie.h b/Source/Core/Core/Src/Movie.h index 94e63a9e2b..46bc3ab124 100644 --- a/Source/Core/Core/Src/Movie.h +++ b/Source/Core/Core/Src/Movie.h @@ -151,6 +151,7 @@ int GetCPUMode(); bool IsBlankMemcard(); bool IsUsingMemcard(); void SetGraphicsConfig(); +void GetSettings(); bool IsUsingPad(int controller); bool IsUsingWiimote(int wiimote);