Merge pull request #2018 from JosJuice/gameini-region-wildcard

Support game INIs that match all regions
This commit is contained in:
Markus Wick
2015-02-21 15:47:57 +01:00
1342 changed files with 3609 additions and 24289 deletions

View File

@ -159,9 +159,10 @@ void wxCheatsWindow::OnEvent_Close(wxCloseEvent& ev)
void wxCheatsWindow::UpdateGUI()
{
// load code
m_gameini_default = SConfig::GetInstance().m_LocalCoreStartupParameter.LoadDefaultGameIni();
m_gameini_local = SConfig::GetInstance().m_LocalCoreStartupParameter.LoadLocalGameIni();
m_gameini_local_path = SConfig::GetInstance().m_LocalCoreStartupParameter.m_strGameIniLocal;
SCoreStartupParameter parameters = SConfig::GetInstance().m_LocalCoreStartupParameter;
m_gameini_default = parameters.LoadDefaultGameIni();
m_gameini_local = parameters.LoadLocalGameIni();
m_gameini_local_path = File::GetUserPath(D_GAMESETTINGS_IDX) + parameters.GetUniqueID() + ".ini";
Load_ARCodes();
Load_GeckoCodes();

View File

@ -462,24 +462,10 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
titlestxt.close();
}
std::string GameIni[3];
GameIni[0] = File::GetUserPath(D_GAMESETTINGS_IDX) + rISOFile.GetUniqueID() + ".ini";
GameIni[1] = File::GetSysDirectory() + GAMESETTINGS_DIR DIR_SEP + rISOFile.GetUniqueID() + std::to_string(rISOFile.GetRevision()) + ".ini";
GameIni[2] = File::GetSysDirectory() + GAMESETTINGS_DIR DIR_SEP + rISOFile.GetUniqueID() + ".ini";
std::string title;
IniFile gameini;
for (int i = 0; i < 3; ++i)
{
if (File::Exists(GameIni[i]))
{
gameini.Load(GameIni[i]);
if (gameini.GetIfExists("EmuState", "Title", &title))
{
name = title;
break;
}
}
}
IniFile gameini = SCoreStartupParameter::LoadGameIni(rISOFile.GetUniqueID(), rISOFile.GetRevision());
if (gameini.GetIfExists("EmuState", "Title", &title))
name = title;
SetItem(_Index, COLUMN_TITLE, StrToWxStr(name), -1);

View File

@ -121,13 +121,9 @@ GameListItem::GameListItem(const std::string& _rFileName)
if (IsValid())
{
IniFile ini;
ini.Load(File::GetSysDirectory() + GAMESETTINGS_DIR DIR_SEP + m_UniqueID + ".ini");
ini.Load(File::GetUserPath(D_GAMESETTINGS_IDX) + m_UniqueID + ".ini", true);
IniFile::Section* emu_state = ini.GetOrCreateSection("EmuState");
emu_state->Get("EmulationStateId", &m_emu_state);
emu_state->Get("EmulationIssues", &m_issues);
IniFile ini = SCoreStartupParameter::LoadGameIni(m_UniqueID, m_Revision);
ini.GetIfExists("EmuState", "EmulationStateId", &m_emu_state);
ini.GetIfExists("EmuState", "EmulationIssues", &m_issues);
}
if (!m_pImage.empty())

View File

@ -163,11 +163,9 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW
}
}
// Load game ini
// Is it really necessary to use GetTitleID in case GetUniqueID fails?
std::string _iniFilename = OpenISO->GetUniqueID();
std::string _iniFilenameRevisionSpecific = OpenISO->GetRevisionSpecificUniqueID();
if (!_iniFilename.length())
if (_iniFilename.empty())
{
u8 title_id[8];
if (OpenISO->GetTitleID(title_id))
@ -176,14 +174,11 @@ CISOProperties::CISOProperties(const std::string fileName, wxWindow* parent, wxW
}
}
// Load game INIs
GameIniFileDefault = File::GetSysDirectory() + GAMESETTINGS_DIR DIR_SEP + _iniFilename + ".ini";
std::string GameIniFileDefaultRevisionSpecific = File::GetSysDirectory() + GAMESETTINGS_DIR DIR_SEP + _iniFilenameRevisionSpecific + ".ini";
GameIniFileLocal = File::GetUserPath(D_GAMESETTINGS_IDX) + _iniFilename + ".ini";
GameIniDefault.Load(GameIniFileDefault);
if (_iniFilenameRevisionSpecific != "")
GameIniDefault.Load(GameIniFileDefaultRevisionSpecific, true);
GameIniLocal.Load(GameIniFileLocal);
GameIniDefault = SCoreStartupParameter::LoadDefaultGameIni(_iniFilename, OpenISO->GetRevision());
GameIniLocal = SCoreStartupParameter::LoadLocalGameIni(_iniFilename, OpenISO->GetRevision());
// Setup GUI
OpenGameListItem = new GameListItem(fileName);