usbloadergx/source/xml/xml.h

79 lines
2.4 KiB
C
Raw Normal View History

#ifndef _XML_H_
#define _XML_H_
#include <mxml.h>
#ifdef __cplusplus
extern "C"
{
#endif
// open database, close database, load info for a game
bool OpenXMLDatabase( char* xmlfilepath, char* argdblang, bool argJPtoEN, bool openfile, bool loadtitles, bool keepopen );
void CloseXMLDatabase();
bool LoadGameInfoFromXML( char* gameid, char* langcode );
#define XML_ELEMMAX 15
#define XML_SYNOPSISLEN 4000
struct gameXMLinfo
{
char id[7];
char version[50];
char region[7];
char title[200];
char synopsis[XML_SYNOPSISLEN];
char title_EN[200];
char synopsis_EN[XML_SYNOPSISLEN];
char locales[XML_ELEMMAX+1][5];
int localeCnt;
char developer[75];
char publisher[75];
char publisherfromid[75];
char year[5];
char month[3];
char day[3];
char genre[75];
char genresplit[XML_ELEMMAX+1][20];
int genreCnt;
char ratingtype[5];
char ratingvalue[5];
char ratingdescriptors[XML_ELEMMAX+1][40];
int descriptorCnt;
char ratingvalueCERO[5];
char ratingvalueESRB[5];
char ratingvaluePEGI[5];
char wifiplayers[4];
char wififeatures[XML_ELEMMAX+1][20];
int wifiCnt;
char players[4];
char accessories[XML_ELEMMAX+1][20];
int accessoryCnt;
char accessoriesReq[XML_ELEMMAX+1][20];
int accessoryReqCnt;
char iso_crc[9];
char iso_md5[33];
char iso_sha1[41];
} ;
bool OpenXMLFile( char* filename );
void LoadTitlesFromXML( char *langcode, bool forcejptoen );
void GetPublisherFromGameid( char *idtxt, char *dest, int destsize );
char *ConvertLangTextToCode( char *langtext );
void ConvertRating( char *ratingvalue, char *fromrating, char *torating, char *destvalue, int destsize );
void PrintGameInfo( bool showfullinfo );
char *MemInfo();
void GetTextFromNode( mxml_node_t *currentnode, mxml_node_t *topnode, char *nodename,
char *attributename, char *value, int descend, char *dest, int destsize );
int GetRatingForGame( char *gameid );
char * get_nodetext( mxml_node_t *node, char *buffer, int buflen );
#ifdef __cplusplus
}
#endif
#endif