diff --git a/Source/Core/Core/Src/ConfigManager.cpp b/Source/Core/Core/Src/ConfigManager.cpp index 4789851ce4..a20528575f 100644 --- a/Source/Core/Core/Src/ConfigManager.cpp +++ b/Source/Core/Core/Src/ConfigManager.cpp @@ -31,6 +31,8 @@ SConfig::SConfig() LoadSettings(); //Make sure we load settings LoadSettingsHLE(); + LoadSettingsWii() + } void SConfig::Init() @@ -248,13 +250,6 @@ void SConfig::LoadSettings() ini.Get("Core", "TLBHack", &m_LocalCoreStartupParameter.iTLBHack, 0); ini.Get("Core", "FrameLimit", &m_Framelimit, 1); // auto frame limit by default - //Wiimote configs - for (int i = 0; i < 4; i++) - { - char SectionName[32]; - sprintf(SectionName, "Wiimote%i", i + 1); - ini.Get(SectionName, "AutoReconnectRealWiimote", &m_WiiAutoReconnect, false); - } // Plugins ini.Get("Core", "GFXPlugin", &m_LocalCoreStartupParameter.m_strVideoPlugin, m_DefaultGFXPlugin.c_str()); ini.Get("Core", "DSPPlugin", &m_LocalCoreStartupParameter.m_strDSPPlugin, m_DefaultDSPPlugin.c_str()); @@ -266,6 +261,18 @@ void SConfig::LoadSettings() m_SYSCONF = new SysConf(); } +void SConfig::LoadSettingsWii() +{ + IniFile ini; + //Wiimote configs + ini.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "Dolphin.ini").c_str()); + for (int i = 0; i < 4; i++) + { + char SectionName[32]; + sprintf(SectionName, "Wiimote%i", i + 1); + ini.Get(SectionName, "AutoReconnectRealWiimote", &m_WiiAutoReconnect[i], false); + } +} // Is this still even needed???? void SConfig::LoadSettingsHLE() diff --git a/Source/Core/Core/Src/ConfigManager.h b/Source/Core/Core/Src/ConfigManager.h index edfd147311..8be6207096 100644 --- a/Source/Core/Core/Src/ConfigManager.h +++ b/Source/Core/Core/Src/ConfigManager.h @@ -44,7 +44,7 @@ struct SConfig // Wii Devices bool m_WiiSDCard; bool m_WiiKeyboard; - bool m_WiiAutoReconnect; + bool m_WiiAutoReconnect[4]; // DSP HLE Audio fix bool m_EnableRE0Fix; @@ -102,6 +102,7 @@ struct SConfig //Special load settings void LoadSettingsHLE(); + void LoadSettingsWii(); // Return the permanent and somewhat globally used instance of this struct static SConfig& GetInstance() {return(*m_Instance);} diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp index 9f793393e8..45bcab9a28 100644 --- a/Source/Core/DolphinWX/Src/Frame.cpp +++ b/Source/Core/DolphinWX/Src/Frame.cpp @@ -175,8 +175,9 @@ CPanel::CPanel( { //Auto reconnect if option is turned on. //TODO: Make this only auto reconnect wiimotes that have the option activated. - if (SConfig::GetInstance().m_WiiAutoReconnect) - { + LoadSettingsWii();//Make sure we are using the newest settings. + if (SConfig::GetInstance().m_WiiAutoReconnect[1]) + { GetUsbPointer()->AccessWiiMote(lParam | 0x100)->Activate(true); NOTICE_LOG(WIIMOTE, "Wiimote %i has been auto-reconnected...", lParam + 1); }