Subversion Repositories spk

Rev

Rev 1 | Rev 57 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 56
Line 15... Line 15...
15
#define EXE_VERSIONPOS			7
15
#define EXE_VERSIONPOS			7
16
#define EXE_VERSION_NAMESTART	(EXE_VERSIONPOS + 2)
16
#define EXE_VERSION_NAMESTART	(EXE_VERSIONPOS + 2)
17
#define EXE_VERSION_SIZESTART	(EXE_VERSIONPOS + 1)
17
#define EXE_VERSION_SIZESTART	(EXE_VERSIONPOS + 1)
18
 
18
 
19
tstruct SGameExeVersion {
19
tstruct SGameExeVersion {
20
	CyString	sName;
20
	Utils::String	sName;
21
	int			iName;
21
	int				iName;
22
	CyString	fVersion;
22
	Utils::String	fVersion;
23
	CLinkList<int> lSize;
23
	CLinkList<int> lSize;
24
} SGameExeVersion;
24
} SGameExeVersion;
25
 
25
 
26
tstruct SGameExe {
26
tstruct SGameExe {
27
	CyString sExe;
27
	Utils::String sExe;
28
	CyString sName;
28
	Utils::String sName;
29
	CyString sModKey;
29
	Utils::String sModKey;
30
	int		 iFlags;
30
	int		 iFlags;
31
	int		 iMaxPatch;
31
	int		 iMaxPatch;
32
	int		 iName;
32
	int		 iName;
33
	CyString sMyDoc;
33
	Utils::String sMyDoc;
34
	CyString sAddon;
34
	Utils::String sAddon;
35
	int		 iAddonTo;
35
	int		 iAddonTo;
-
 
36
	int		 iTextNum;
36
	CLinkList<SGameExeVersion> lVersions;
37
	CLinkList<SGameExeVersion> lVersions;
37
} SGameExe;
38
} SGameExe;
38
 
39
 
39
class SPKEXPORT CGameExe 
40
class SPKEXPORT CGameExe 
40
{
41
{
-
 
42
private:
-
 
43
	CLinkList<SGameExe> m_lExe;
-
 
44
 
41
public:
45
public:
42
	void Reset();
46
	void Reset();
43
 
47
 
44
	void ParseExe(CyString line);
48
	void ParseExe(const Utils::String &line);
45
	int  ParseFlags(CyString flags);
49
	int  ParseFlags(const Utils::String &flags);
46
	bool ReadFile(CyString file);
50
	bool ReadFile(const Utils::String &file);
47
 
51
 
48
	int AddExe(CyString exe);
52
	int AddExe(const Utils::String &exe);
49
	int FindExe(CyString exe);
53
	int FindExe(const Utils::String &exe);
50
	SGameExe *GetGameExe(CyString exe);
54
	SGameExe *GetGameExe(const Utils::String &exe);
51
 
55
 
52
	int FindVersion(int exe, int size, CyString *fVersion);
56
	int FindVersion(int exe, int size, Utils::String *fVersion);
53
	int FindVersion(CyString exe, int size, CyString *fVersion);
57
	int FindVersion(const Utils::String &exe, int size, Utils::String *fVersion);
54
 
58
 
55
	int GetGameType(CyString gameExe);
59
	int GetGameType(const Utils::String &gameExe);
56
	int GetGameVersion(CyString gameExe, CyString *fVersion);
60
	int GetGameVersion(const Utils::String &gameExe, Utils::String *fVersion);
57
	bool GetGameVersionName(CyString gameExe, CyString *versionName);
61
	bool GetGameVersionName(const Utils::String &gameExe, Utils::String *versionName);
58
	CyString ExtractGameName(CyString dir);
62
	Utils::String ExtractGameName(const Utils::String &dir);
59
	CyString GetGameRunExe(CyString dir);
63
	Utils::String GetGameRunExe(const Utils::String &dir);
60
	CyString GetGameName(CyString gameExe);
64
	Utils::String GetGameName(const Utils::String &gameExe);
61
	CyString GetGameNameFromType(int type);
65
	Utils::String GetGameNameFromType(int type);
62
	CyString GetGameVersionFromType(int game, int gameVersion, CyString fGameVersion);
66
	Utils::String GetGameVersionFromType(int game, int gameVersion, const Utils::String &fGameVersion);
63
	CyString GetGameDir(CyString dir);
67
	Utils::String GetGameDir(const Utils::String &dir);
64
	CyString GetProperDir(CyString dir);
68
	Utils::String GetProperDir(const Utils::String &dir);
65
	CyString GetAddonDir(CyString dir);
69
	Utils::String GetAddonDir(const Utils::String &dir);
66
	int GetGameAddons(CyString dir, CyStringList &exe);
70
	int GetGameAddons(const Utils::String &dir, CyStringList &exe);
67
	int GetGameFlags(int game);
71
	int GetGameFlags(int game);
68
	int GetMaxPatch(int game);
72
	int GetMaxPatch(int game);
69
	CyString GetModKey(int game);
73
	Utils::String GetModKey(int game);
70
 
74
 
71
	int ConvertGameType(int gametype, int *version);
75
	int ConvertGameType(int gametype, int *version);
72
 
76
 
73
	int GetNumGames() { return m_lExe.size(); }
77
	int GetNumGames() { return m_lExe.size(); }
74
	SGameExe *GetGame(int game) { if ( game >= 0 && game < m_lExe.size() ) return m_lExe[game]; return NULL; }
78
	SGameExe *GetGame(int game) { if ( game >= 0 && game < m_lExe.size() ) return m_lExe[game]; return NULL; }
75
 
79
 
76
private:
80
private:
77
	void _SetExeName(CyString *sName, int *iName, CyString n);
81
	void _SetExeName(Utils::String *sName, int *iName, const Utils::String &n);
78
 
-
 
79
	CLinkList&lt;SGameExe> m_lExe;
82
	Utils::String _textFileName(const Utils::String &amp;sGameDir);
-
 
83
	Utils::String _readTextFile(const Utils::String &sGameDir);
-
 
84
	Utils::String _extractTextData(const Utils::String &sData, long iPage, long iID);
80
};
85
};
81
 
86
 
82
 
87
 
83
#endif //__GAME_EXE_H__
88
#endif //__GAME_EXE_H__