00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GAMEINFO_H
00020 #define GAMEINFO_H
00021
00022 class IDataSource;
00023 class ODataSource;
00024
00026 struct GameInfo {
00027 GameInfo();
00028
00029 Pentagram::istring name;
00030
00031 enum GameType {
00032 GAME_UNKNOWN = 0,
00033 GAME_U8,
00034 GAME_REMORSE,
00035 GAME_REGRET,
00036 GAME_PENTAGRAM_MENU
00037 } type;
00038
00042 int version;
00043
00044 enum GameLanguage {
00045 GAMELANG_UNKNOWN = 0,
00046 GAMELANG_ENGLISH,
00047 GAMELANG_FRENCH,
00048 GAMELANG_GERMAN,
00049 GAMELANG_SPANISH,
00050 GAMELANG_JAPANESE
00051 } language;
00052
00053 uint8 md5[16];
00054
00055 char getLanguageFileLetter() const;
00056 char getLanguageUsecodeLetter() const;
00057 std::string getLanguage() const;
00058 std::string getGameTitle() const;
00059 std::string getPrintableVersion() const;
00060
00061 std::string getPrintDetails() const;
00062 std::string getPrintableMD5() const;
00063
00064 bool match(GameInfo& other, bool ignoreMD5=false) const;
00065
00066 void save(ODataSource* ods);
00067 bool load(IDataSource* ids, uint32 version);
00068 };
00069
00070 #endif