From 45c92d27f22757e1e9ec9cc3c679121b4175f1db Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Thu, 4 Nov 2010 12:50:44 +0000 Subject: [PATCH] fix for r6337: don't restore cached settings if a gameconfig was not used. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6340 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DolphinWX/Src/BootManager.cpp | 25 ++++++++++++++--------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/Source/Core/DolphinWX/Src/BootManager.cpp b/Source/Core/DolphinWX/Src/BootManager.cpp index 9b2a235f73..fc90ffae59 100644 --- a/Source/Core/DolphinWX/Src/BootManager.cpp +++ b/Source/Core/DolphinWX/Src/BootManager.cpp @@ -67,7 +67,7 @@ namespace BootManager // Apply fire liberally struct ConfigCache { - bool bCPUThread, bSkipIdle, bEnableFPRF, bMMU, bMMUBAT, + bool valid, bCPUThread, bSkipIdle, bEnableFPRF, bMMU, bMMUBAT, bAlternateRFI, bFastDiscSpeed, bMergeBlocks; int iTLBHack; }; @@ -112,6 +112,7 @@ bool BootCore(const std::string& _rFilename) StartUp.m_strGameIni = std::string(File::GetUserPath(D_GAMECONFIG_IDX)) + unique_id + ".ini"; if (unique_id.size() == 6 && game_ini.Load(StartUp.m_strGameIni.c_str())) { + config_cache.valid = true; config_cache.bCPUThread = StartUp.bCPUThread; config_cache.bSkipIdle = StartUp.bSkipIdle; config_cache.bEnableFPRF = StartUp.bEnableFPRF; @@ -170,15 +171,19 @@ void Stop() SCoreStartupParameter& StartUp = SConfig::GetInstance().m_LocalCoreStartupParameter; - StartUp.bCPUThread = config_cache.bCPUThread; - StartUp.bSkipIdle = config_cache.bSkipIdle; - StartUp.bEnableFPRF = config_cache.bEnableFPRF; - StartUp.bMMU = config_cache.bMMU; - StartUp.bMMUBAT = config_cache.bMMUBAT; - StartUp.iTLBHack = config_cache.iTLBHack; - StartUp.bAlternateRFI = config_cache.bAlternateRFI; - StartUp.bFastDiscSpeed = config_cache.bFastDiscSpeed; - StartUp.bMergeBlocks = config_cache.bMergeBlocks; + if (config_cache.valid) + { + config_cache.valid = false; + StartUp.bCPUThread = config_cache.bCPUThread; + StartUp.bSkipIdle = config_cache.bSkipIdle; + StartUp.bEnableFPRF = config_cache.bEnableFPRF; + StartUp.bMMU = config_cache.bMMU; + StartUp.bMMUBAT = config_cache.bMMUBAT; + StartUp.iTLBHack = config_cache.iTLBHack; + StartUp.bAlternateRFI = config_cache.bAlternateRFI; + StartUp.bFastDiscSpeed = config_cache.bFastDiscSpeed; + StartUp.bMergeBlocks = config_cache.bMergeBlocks; + } } } // namespace