2011-10-21 20:48:10 +02:00
|
|
|
#ifndef GAMETDB_TITLES_H_
|
|
|
|
#define GAMETDB_TITLES_H_
|
2010-10-28 11:00:52 +02:00
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <gctypes.h>
|
|
|
|
#include "usbloader/disc.h"
|
|
|
|
|
|
|
|
typedef struct _GameTitle
|
|
|
|
{
|
2011-07-26 00:28:22 +02:00
|
|
|
char GameID[7];
|
|
|
|
std::string Title;
|
|
|
|
int ParentalRating;
|
|
|
|
int PlayersCount;
|
2010-10-28 11:00:52 +02:00
|
|
|
|
|
|
|
} GameTitle;
|
|
|
|
|
|
|
|
class CGameTitles
|
|
|
|
{
|
2011-07-26 00:28:22 +02:00
|
|
|
public:
|
2011-10-21 20:48:10 +02:00
|
|
|
//! Set a game title from GameTDB
|
2011-07-26 00:28:22 +02:00
|
|
|
void SetGameTitle(const char * id, const char * title);
|
|
|
|
//! Overload
|
|
|
|
void SetGameTitle(const u8 * id, const char * title) { SetGameTitle((const char *) id, title); };
|
|
|
|
|
|
|
|
//! Get a game title
|
|
|
|
const char * GetTitle(const char * id) const;
|
|
|
|
//! Overload
|
|
|
|
const char * GetTitle(const u8 * id) const { return GetTitle((const char *) id); };
|
|
|
|
//! Overload
|
|
|
|
const char * GetTitle(const struct discHdr *header) const;
|
|
|
|
|
|
|
|
//! Get game parental rating
|
|
|
|
int GetParentalRating(const char * id) const;
|
|
|
|
//! Get possible number of players for this game
|
|
|
|
int GetPlayersCount(const char * id) const;
|
2011-10-21 20:48:10 +02:00
|
|
|
//! Load Game Titles from GameTDB
|
|
|
|
void LoadTitlesFromGameTDB(const char * path, bool forceCacheReload = false);
|
2011-07-26 00:28:22 +02:00
|
|
|
//! Set default game titles
|
|
|
|
void SetDefault();
|
|
|
|
//! Free memory and remove all titles - Same as SetDefault()
|
|
|
|
void Clear() { SetDefault(); }
|
|
|
|
protected:
|
|
|
|
u32 ReadCachedTitles(const char * path);
|
|
|
|
void WriteCachedTitles(const char * path);
|
|
|
|
void RemoveUnusedCache(std::vector<std::string> &MissingTitles);
|
|
|
|
|
|
|
|
std::vector<GameTitle> TitleList;
|
2010-10-28 11:00:52 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
extern CGameTitles GameTitles;
|
|
|
|
|
|
|
|
#endif
|