mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-27 21:54:15 +01:00
- minor changes to the 'get rom info' code, but it still works the same.
This commit is contained in:
parent
b7120bbcd8
commit
fbe1de2f4a
@ -332,35 +332,37 @@ void CMenu::_textGameInfo(void)
|
|||||||
// Check the platform name corresponding to the current magic number.
|
// Check the platform name corresponding to the current magic number.
|
||||||
// We can't use magic # directly since it'd require hardcoding values and a # can be several systems(genplus)
|
// We can't use magic # directly since it'd require hardcoding values and a # can be several systems(genplus)
|
||||||
// We can't rely on coverfolder either. Different systems can share the same folder. Or combined plugins used for the same system.
|
// We can't rely on coverfolder either. Different systems can share the same folder. Or combined plugins used for the same system.
|
||||||
|
|
||||||
|
/* load platform.ini */
|
||||||
Config m_platform;
|
Config m_platform;
|
||||||
m_platform.load(fmt("%s/platform.ini", m_pluginDataDir.c_str()) );
|
m_platform.load(fmt("%s/platform.ini", m_pluginDataDir.c_str()) );
|
||||||
if(!m_platform.loaded())
|
if(!m_platform.loaded())
|
||||||
return;// no platform.ini found
|
return;// no platform.ini found
|
||||||
|
|
||||||
|
/* Search platform.ini to find plugin magic to get platformName */
|
||||||
snprintf(platformName, sizeof(platformName), "%s", m_platform.getString("PLUGINS", m_plugin.PluginMagicWord).c_str());
|
snprintf(platformName, sizeof(platformName), "%s", m_platform.getString("PLUGINS", m_plugin.PluginMagicWord).c_str());
|
||||||
m_platform.unload();
|
m_platform.unload();
|
||||||
if(strlen(platformName) == 0)
|
if(strlen(platformName) == 0)
|
||||||
return;// no platform name found to match plugin magic #
|
return;// no platform name found to match plugin magic #
|
||||||
|
|
||||||
|
/* Get Game's crc/serial to be used as gameID by searching platformName.ini file */
|
||||||
|
const dir_discHdr *GameHdr = CoverFlow.getHdr();
|
||||||
|
string romID;// this will be the crc or serial
|
||||||
|
string ShortName = m_plugin.GetRomName(GameHdr);// if scummvm game then shortname=NULL
|
||||||
|
if(!ShortName.empty())
|
||||||
|
romID = m_plugin.GetRomId(GameHdr, m_pluginDataDir.c_str(), platformName, ShortName);
|
||||||
|
if(romID.empty())// no romID. possibly scummvm game or short name and crc/serial not found
|
||||||
|
return;
|
||||||
|
|
||||||
|
strncpy(GameID, romID.c_str(), 6);// copy crc/serial to be used as gameID to get game info from xml
|
||||||
|
|
||||||
|
/* Load platform name.xml database to get game's info using the gameID (crc/serial) */
|
||||||
gametdb.OpenFile(fmt("%s/%s/%s.xml", m_pluginDataDir.c_str(), platformName, platformName));
|
gametdb.OpenFile(fmt("%s/%s/%s.xml", m_pluginDataDir.c_str(), platformName, platformName));
|
||||||
tdb_found = gametdb.IsLoaded();
|
tdb_found = gametdb.IsLoaded();
|
||||||
if(!tdb_found)
|
if(!tdb_found)
|
||||||
return;// no platform xml found
|
return;// no platform xml found
|
||||||
|
|
||||||
gametdb.SetLanguageCode(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str());
|
gametdb.SetLanguageCode(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str());
|
||||||
|
|
||||||
// Get Game ID
|
|
||||||
const dir_discHdr *GameHdr = CoverFlow.getHdr();
|
|
||||||
string ShortName = m_plugin.GetRomName(GameHdr);
|
|
||||||
string romID = m_plugin.GetRomId(GameHdr, m_pluginDataDir.c_str(), platformName, ShortName);
|
|
||||||
if(romID.empty())// no romID. possibly no platfromName.ini or not found in ini or other problem.
|
|
||||||
{
|
|
||||||
tdb_found = false;
|
|
||||||
gametdb.CloseFile();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
strncpy(GameID, romID.c_str(), 6);
|
|
||||||
|
|
||||||
// Get title
|
// Get title
|
||||||
if(gametdb.GetTitle(GameID, TMP_Char))
|
if(gametdb.GetTitle(GameID, TMP_Char))
|
||||||
|
@ -301,7 +301,7 @@ string Plugin::GetRomName(const dir_discHdr *gameHeader)
|
|||||||
replace(ShortName.begin(), ShortName.end(), '_', ' ');
|
replace(ShortName.begin(), ShortName.end(), '_', ' ');
|
||||||
return ShortName;
|
return ShortName;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;// scummvm game
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get serial from PS1 header's iso (Borrowed from Retroarch with a few c++ changes)*/
|
/* Get serial from PS1 header's iso (Borrowed from Retroarch with a few c++ changes)*/
|
||||||
|
Loading…
Reference in New Issue
Block a user