- minor changes to the 'get rom info' code, but it still works the same.

This commit is contained in:
Fledge68 2019-02-08 16:01:29 -06:00
parent b7120bbcd8
commit fbe1de2f4a
2 changed files with 16 additions and 14 deletions

View File

@ -332,16 +332,31 @@ 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)
@ -349,19 +364,6 @@ void CMenu::_textGameInfo(void)
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))
{ {

View File

@ -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)*/