load xml at startup and keep it in memory instead of each time the game info is called. it adds 1 second to my startup time with 100+ games. just testing to see if breaks anything doing it like this now that the xml is much smaller.

This commit is contained in:
giantpune 2009-07-18 11:04:13 +00:00
parent 4886c5cc11
commit 18489a8858
6 changed files with 18 additions and 7 deletions

View File

@ -39,6 +39,7 @@
#include "listfiles.h" #include "listfiles.h"
#include "fatmounter.h" #include "fatmounter.h"
#include "buffer.h" #include "buffer.h"
#include "xml/xml.h"
#include "usbloader/wdvd.h" #include "usbloader/wdvd.h"
@ -1740,7 +1741,7 @@ int MainMenu(int menu)
} }
CloseXMLDatabase();
ExitGUIThreads(); ExitGUIThreads();
bgMusic->Stop(); bgMusic->Stop();
delete bgMusic; delete bgMusic;

View File

@ -261,21 +261,27 @@ int autoSelectDol(const char *id)
if (strcmp(id,"RMZX69") == 0) return 492; if (strcmp(id,"RMZX69") == 0) return 492;
if (strcmp(id,"RMZP69") == 0) return 492; if (strcmp(id,"RMZP69") == 0) return 492;
//if (strcmp(id,"REDP41") == 0) return 1957; if (strcmp(id,"REDP41") == 0) return 1957;
if (strcmp(id,"RSXP69") == 0) return 337; if (strcmp(id,"RSXP69") == 0) return 337;
if (strcmp(id,"RNBX69") == 0) return 964; if (strcmp(id,"RNBX69") == 0) return 964;
if (strcmp(id,"RNFP69") == 0) return 1079;
if (strcmp(id,"RMLP7U") == 0) return 56; if (strcmp(id,"RMLP7U") == 0) return 56;
if (strcmp(id,"RKMP5D") == 0) return 290; if (strcmp(id,"RKMP5D") == 0) return 290;
if (strcmp(id,"R5TP69") == 0) return 1493;
if (strcmp(id,"RHDP8P") == 0) return 149; if (strcmp(id,"RHDP8P") == 0) return 149;
/* /* Grand Slam R5TP69 1493
Madden NFL08 RNFP69 1079
Fifa08 RF8P69 463 Fifa08 RF8P69 463
Fifa08 RF8X69 464 Fifa08 RF8X69 464
Wii Sports Resort RZTP01 952 Wii Sports Resort RZTP01 952

View File

@ -24,6 +24,8 @@ extern GuiWindow * mainWindow;
extern GuiSound * bgMusic; extern GuiSound * bgMusic;
extern u8 shutdown; extern u8 shutdown;
extern u8 reset; extern u8 reset;
extern struct gameXMLinfo gameinfo;
extern struct gameXMLinfo gameinfo_reset;
/*** Extern functions ***/ /*** Extern functions ***/
extern void ResumeGui(); extern void ResumeGui();

View File

@ -1718,8 +1718,8 @@ void CFG_Load(void)
Global_Default(); //global default depends on theme information Global_Default(); //global default depends on theme information
CFG_LoadGlobal(); CFG_LoadGlobal();
if (Settings.titlesOverride==1) OpenXMLDatabase(Settings.titlestxt_path, Settings.db_language, Settings.db_JPtoEN, true, true, false); // open file, load titles, do not keep in memory //if (Settings.titlesOverride==1) OpenXMLDatabase(Settings.titlestxt_path, Settings.db_language, Settings.db_JPtoEN, true, true, false); // open file, load titles, do not keep in memory
OpenXMLDatabase(Settings.titlestxt_path, Settings.db_language, Settings.db_JPtoEN, true, Settings.titlesOverride==1?true:false, true);
// loaded after database to override database titles with custom titles // loaded after database to override database titles with custom titles
snprintf(pathname, sizeof(pathname), "%stitles.txt", Settings.titlestxt_path); snprintf(pathname, sizeof(pathname), "%stitles.txt", Settings.titlestxt_path);
cfg_parsefile(pathname, &title_set); cfg_parsefile(pathname, &title_set);

View File

@ -21,6 +21,9 @@ static char xmlcfg_filename[100] = "wiitdb.zip";
extern struct SSettings Settings; // for loader GX extern struct SSettings Settings; // for loader GX
struct gameXMLinfo gameinfo;
struct gameXMLinfo gameinfo_reset;
static char langlist[11][22] = static char langlist[11][22] =

View File

@ -56,8 +56,7 @@ struct gameXMLinfo
char iso_sha1[41]; char iso_sha1[41];
} ; } ;
struct gameXMLinfo gameinfo;
struct gameXMLinfo gameinfo_reset;
bool OpenXMLFile(char* filename); bool OpenXMLFile(char* filename);
void LoadTitlesFromXML(char *langcode, bool forcejptoen); void LoadTitlesFromXML(char *langcode, bool forcejptoen);