Subversion Repositories spk

Rev

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

Rev 209 Rev 210
Line 79... Line 79...
79
class SPKEXPORT CBaseFile : public SPK::Package::CCorePackage
79
class SPKEXPORT CBaseFile : public SPK::Package::CCorePackage
80
{
80
{
81
public:
81
public:
82
	// static functions
82
	// static functions
83
	static Utils::WString ConvertGameToString(int game);
83
	static Utils::WString ConvertGameToString(int game);
84
	static int GetGameFromString(const Utils::String &game);
84
	static int GetGameFromString(const Utils::WString &game);
85
	static Utils::WString ErrorString(int error, const Utils::WString &errorStr = Utils::WString::Null());
85
	static Utils::WString ErrorString(int error, const Utils::WString &errorStr = Utils::WString::Null());
86
	static Utils::String GetEndOfLine(FILE* id, int* line = NULL, bool upper = true);
86
	static Utils::String GetEndOfLine(FILE* id, int* line = NULL, bool upper = true);
87
	static int CheckFile(const Utils::WString &filename, float* version = NULL);
87
	static int CheckFile(const Utils::WString &filename, float* version = NULL);
88
 
88
 
89
 
89
 
Line 96... Line 96...
96
	virtual Utils::WString getFullPackageName(const Utils::WString &format, int lang) const;
96
	virtual Utils::WString getFullPackageName(const Utils::WString &format, int lang) const;
97
 
97
 
98
	virtual Utils::WString createValuesLine() const;
98
	virtual Utils::WString createValuesLine() const;
99
 
99
 
100
	virtual bool loadPackageData(const Utils::WString& sFirst, const Utils::WString& sRest, const Utils::WString& sMainGame, Utils::WStringList& otherGames, Utils::WStringList& gameAddons, CProgressInfo* progress);
100
	virtual bool loadPackageData(const Utils::WString& sFirst, const Utils::WString& sRest, const Utils::WString& sMainGame, Utils::WStringList& otherGames, Utils::WStringList& gameAddons, CProgressInfo* progress);
101
	virtual bool GeneratePackagerScript(bool wildcard, Utils::CStringList* list, int game, const Utils::CStringList& gameAddons, bool datafile = false);
101
	virtual bool GeneratePackagerScript(bool wildcard, Utils::WStringList* list, int game, const Utils::WStringList& gameAddons, bool datafile = false);
102
	virtual bool GeneratePackagerScriptFile(bool wildcard, Utils::CStringList* list, int game, const Utils::CStringList& gameAddons);
102
	virtual bool GeneratePackagerScriptFile(bool wildcard, Utils::WStringList* list, int game, const Utils::WStringList& gameAddons);
103
 
103
 
104
	// Getters
104
	// Getters
105
	Utils::WString getNameValidFile() const;
105
	Utils::WString getNameValidFile() const;
106
	const CLinkList<C_File> &fileList() const;
106
	const CLinkList<C_File> &fileList() const;
107
	CLinkList<C_File>& fileList(FileType type, CLinkList<C_File> &list) const;
107
	CLinkList<C_File>& fileList(FileType type, CLinkList<C_File> &list) const;
Line 110... Line 110...
110
	C_File *icon() const { return m_pIconFile; }
110
	C_File *icon() const { return m_pIconFile; }
111
	const Utils::WString &iconExt() const { return _sIconExt; }
111
	const Utils::WString &iconExt() const { return _sIconExt; }
112
	int dataCompression () const { return m_SHeader2.iDataCompression; }
112
	int dataCompression () const { return m_SHeader2.iDataCompression; }
113
	float fileVersion () const { return m_SHeader.fVersion; }
113
	float fileVersion () const { return m_SHeader.fVersion; }
114
	size_t fileSize() const;
114
	size_t fileSize() const;
115
	//const Utils::String& getLanguageName(int lang) const { return name(lang); }
-
 
116
	Utils::WString getAutosaveName() const;
115
	Utils::WString getAutosaveName() const;
117
	bool IsMod();
116
	bool IsMod();
118
	bool IsFakePatch() const;
117
	bool IsFakePatch() const;
119
 
118
 
120
	// Setters
119
	// Setters
121
	void setAutosaveName() { this->setFilename(getAutosaveName()); }
120
	void setAutosaveName() { this->setFilename(getAutosaveName()); }
122
	void SetDataCompression(int c) { m_SHeader2.iDataCompression = c; }
121
	void SetDataCompression(int c) { m_SHeader2.iDataCompression = c; }
123
	void SetFileCompression(int c) { m_SHeader2.iFileCompression = c; }
122
	void SetFileCompression(int c) { m_SHeader2.iFileCompression = c; }
124
	void SetValueCompression(int c) { m_SHeader.iValueCompression = c; }
123
	void SetValueCompression(int c) { m_SHeader.iValueCompression = c; }
125
	void setIcon(C_File* file, const Utils::String& ext) { if (m_pIconFile) delete m_pIconFile; _sIconExt = ext.c_str(); m_pIconFile = file; _changed(); }
124
	void setIcon(C_File* file, const Utils::WString& ext) { if (m_pIconFile) delete m_pIconFile; _sIconExt = ext.c_str(); m_pIconFile = file; _changed(); }
126
	void setFtpAddr(const Utils::String& str) { _sFtpAddr = str; }
125
	void setFtpAddr(const Utils::WString& str) { _sFtpAddr = str; }
127
 
126
 
128
	// Game Compatability
127
	// Game Compatability
129
	SGameCompat* GetGameCompatability(int game);
128
	SGameCompat* GetGameCompatability(int game);
130
	bool RemoveGameCompatability(int game);
129
	bool RemoveGameCompatability(int game);
131
	void AddGameCompatability(int game, const Utils::String &version);
130
	void AddGameCompatability(int game, const Utils::WString &version);
132
	bool CheckGameCompatability(int game);
131
	bool CheckGameCompatability(int game);
133
	bool checkGameVersionCompatability(int game, const Utils::WString &sVersion, int iVersion) const;
132
	bool checkGameVersionCompatability(int game, const Utils::WString &sVersion, int iVersion) const;
134
	bool AnyGameCompatability() { return !m_lGames.empty(); }
133
	bool AnyGameCompatability() { return !m_lGames.empty(); }
135
 
134
 
136
	// Files
135
	// Files
137
	C_File *GetFirstFile(int type) const;
136
	C_File *GetFirstFile(int type) const;
138
	C_File *GetNextFile(C_File *prev) const;
137
	C_File *GetNextFile(C_File *prev) const;
139
	C_File *GetPrevFile(C_File *next) const;
138
	C_File *GetPrevFile(C_File *next) const;
140
	C_File* findMatchingMod(C_File* f) const;
139
	C_File* findMatchingMod(C_File* f) const;
141
 
140
 
142
	void convertNormalMod(C_File *f, const Utils::String &to) const;
141
	void convertNormalMod(C_File *f, const Utils::WString &to) const;
143
	void convertFakePatch(C_File *f) const;
142
	void convertFakePatch(C_File *f) const;
144
	void convertAutoText(C_File *f) const;
143
	void convertAutoText(C_File *f) const;
145
	void renameFile(C_File *f, const Utils::String &baseName) const;
144
	void renameFile(C_File *f, const Utils::WString &baseName) const;
146
 
145
 
147
	size_t countFiles(FileType filetype) const;
146
	size_t countFiles(FileType filetype) const;
148
	C_File* findFileAt(FileType filetype, size_t pos) const;
147
	C_File* findFileAt(FileType filetype, size_t pos) const;
149
	C_File* findFile(const Utils::WString& file, FileType type, const Utils::WString& dir = Utils::WString::Null(), int game = 0) const;
148
	C_File* findFile(const Utils::WString& file, FileType type, const Utils::WString& dir = Utils::WString::Null(), int game = 0) const;
150
 
149
 
151
	void addFileScript(FileType filetype, bool shared, bool packed, const Utils::WString &rest, const Utils::WString &sMainGame, Utils::WStringList &otherGames, Utils::WStringList &gameAddons, CProgressInfo *progress = NULL);
150
	void addFileScript(FileType filetype, bool shared, bool packed, const Utils::WString &rest, const Utils::WString &sMainGame, Utils::WStringList &otherGames, Utils::WStringList &gameAddons, CProgressInfo *progress = NULL);
152
	void AddFile(C_File* file);
151
	void AddFile(C_File* file);
153
	C_File* addFile(const Utils::WString& file, const Utils::WString& dir, FileType type, int game = 0, bool packed = false);
152
	C_File* addFile(const Utils::WString& file, const Utils::WString& dir, FileType type, int game = 0, bool packed = false);
154
	C_File* appendFile(const Utils::WString& file, int type, int game, bool packed, const Utils::WString& dir = Utils::WString::Null(), CProgressInfo* progress = NULL);
153
	C_File* appendFile(const Utils::WString& file, int type, int game, bool packed, const Utils::WString& dir = Utils::WString::Null(), CProgressInfo* progress = NULL);
155
	bool addFileNow(const Utils::String&, const Utils::String&, FileType type, CProgressInfo* progress = NULL);
154
	bool addFileNow(const Utils::WString&, const Utils::WString&, FileType type, CProgressInfo* progress = NULL);
156
	bool removeFile(size_t pos);
155
	bool removeFile(size_t pos);
157
	bool removeFile(C_File* files);
156
	bool removeFile(C_File* files);
158
	bool removeFile(const Utils::String &file, FileType type, const Utils::String &dir = Utils::String::Null(), int game = 0);
157
	bool removeFile(const Utils::WString &file, FileType type, const Utils::WString &dir = Utils::WString::Null(), int game = 0);
159
	void removeAllFiles(FileType type, int game);
158
	void removeAllFiles(FileType type, int game);
160
 
159
 
161
	Utils::String createFilesLine(SSPKHeader2 *header, CProgressInfo* = NULL) const;
160
	Utils::String createFilesLine(SSPKHeader2 *header, CProgressInfo* = NULL) const;
162
 
161
 
163
	// error handling
162
	// error handling
Line 165... Line 164...
165
	int lastError() const { return _iLastError; }
164
	int lastError() const { return _iLastError; }
166
	const Utils::WString lastErrorString() const { return _sLastError; }
165
	const Utils::WString lastErrorString() const { return _sLastError; }
167
 
166
 
168
	virtual bool writeHeader(CFileIO &file, int iHeader, int iLength) const;
167
	virtual bool writeHeader(CFileIO &file, int iHeader, int iLength) const;
169
	virtual bool writeData(CFileIO &file, CProgressInfo * = NULL) const;
168
	virtual bool writeData(CFileIO &file, CProgressInfo * = NULL) const;
170
	virtual bool writeFile(const Utils::String &filename, CProgressInfo* = NULL) const;
169
	virtual bool writeFile(const Utils::WString &filename, CProgressInfo* = NULL) const;
171
	virtual bool readFile(const Utils::String &filename, int readType = SPKREAD_ALL, CProgressInfo *progress = NULL);
170
	virtual bool readFile(const Utils::WString &filename, int readType = SPKREAD_ALL, CProgressInfo *progress = NULL);
172
	bool readFile(CFileIO &File, int readtype, CProgressInfo *progress);
171
	bool readFile(CFileIO &File, int readtype, CProgressInfo *progress);
173
 
172
 
174
	virtual bool extractFile(int file, const Utils::String &dir, bool includedir = true, CProgressInfo *progress = NULL);
173
	virtual bool extractFile(int file, const Utils::WString &dir, bool includedir = true, CProgressInfo *progress = NULL);
175
	virtual bool extractFile(C_File *file, const Utils::String &dir, bool includedir = true, CProgressInfo *progress = NULL);
174
	virtual bool extractFile(C_File *file, const Utils::WString &dir, bool includedir = true, CProgressInfo *progress = NULL);
176
	virtual bool extractFile(int filenum, const Utils::String &dir, unsigned int game, const Utils::WStringList &gameAddons, bool includedir = true, CProgressInfo *progress = NULL);
175
	virtual bool extractFile(int filenum, const Utils::WString &dir, unsigned int game, const Utils::WStringList &gameAddons, bool includedir = true, CProgressInfo *progress = NULL);
177
	virtual bool extractFile(C_File *file, const Utils::String &dir, unsigned int game, const Utils::WStringList &gameAddons, bool includedir = true, CProgressInfo *progress = NULL);
176
	virtual bool extractFile(C_File *file, const Utils::WString &dir, unsigned int game, const Utils::WStringList &gameAddons, bool includedir = true, CProgressInfo *progress = NULL);
178
	virtual bool extractAll(const Utils::String &dir, int game, const Utils::CStringList &gameAddons, bool includedir = true, CProgressInfo *progress = NULL);
177
	virtual bool extractAll(const Utils::WString &dir, int game, const Utils::WStringList &gameAddons, bool includedir = true, CProgressInfo *progress = NULL);
179
 
178
 
180
	virtual bool saveToArchive(const Utils::String &filename, int game, const CGameExe *exes, CProgressInfo *progress = NULL);
179
	virtual bool saveToArchive(const Utils::WString &filename, int game, const CGameExe *exes, CProgressInfo *progress = NULL);
181
	virtual void addGeneratedFiles(HZIP &hz) {};
180
	virtual void addGeneratedFiles(HZIP &hz) {};
182
 
181
 
183
	void ClearFileData();
182
	void ClearFileData();
184
 
183
 
185
	// reading files
184
	// reading files
Line 268... Line 267...
268
protected:
267
protected:
269
	virtual void Delete ();
268
	virtual void Delete ();
270
	virtual void SetDefaults ();
269
	virtual void SetDefaults ();
271
 
270
 
272
	// reading of files
271
	// reading of files
273
	virtual bool _checkHeader(const Utils::String header) const;
272
	virtual bool _checkHeader(const Utils::WString &header) const;
274
	bool _parseHeader(const Utils::String &header);
273
	bool _parseHeader(const Utils::WString &header);
275
	bool _parseFileHeader(const Utils::String& header);
274
	bool _parseFileHeader(const Utils::WString& header);
276
	bool _parseFilesLine(const Utils::String& line);
275
	bool _parseFilesLine(const Utils::WString& line);
277
	void _readValues(const Utils::WString& values);
276
	void _readValues(const Utils::WString& values);
278
	void _readFiles(const Utils::String& values);
277
	void _readFiles(const Utils::String& values);
279
 
278
 
280
	void _install_adjustFakePatches(CPackages *pPackages);
279
	void _install_adjustFakePatches(CPackages *pPackages);
281
	void _install_renameText(CPackages *pPackages);
280
	void _install_renameText(CPackages *pPackages);
282
	bool _install_uncompress(C_File *fit, CProgressInfo *progress, Utils::WStringList *errorStr, bool *uncomprToFile);
281
	bool _install_uncompress(C_File *fit, CProgressInfo *progress, Utils::WStringList *errorStr, bool *uncomprToFile);
283
	bool _install_setEnabled(bool bEnable, C_File *fit);
282
	bool _install_setEnabled(bool bEnable, C_File *fit);
284
	bool _install_checkVersion(C_File *pFile, const Utils::WString &sDestination);
283
	bool _install_checkVersion(C_File *pFile, const Utils::WString &sDestination);
285
	Utils::String _install_adjustFilepointer(C_File *pFile, bool bEnabled, const Utils::WString &sDestination);
284
	Utils::WString _install_adjustFilepointer(C_File *pFile, bool bEnabled, const Utils::WString &sDestination);
286
	C_File *_install_checkFile(C_File *pFile, Utils::WStringList *errorStr, bool *bDoFile, CLinkList<C_File> *pFileList);
285
	C_File *_install_checkFile(C_File *pFile, Utils::WStringList *errorStr, bool *bDoFile, CLinkList<C_File> *pFileList);
287
	bool _install_checkFileEnable(C_File *pCheckFile, C_File *fit, const Utils::WString &sDestination, bool bEnabled, Utils::WStringList *errorStr);
286
	bool _install_checkFileEnable(C_File *pCheckFile, C_File *fit, const Utils::WString &sDestination, bool bEnabled, Utils::WStringList *errorStr);
288
	bool _install_createDirectory(CDirIO &Dir, const Utils::WString &sTo, C_File *pFile, Utils::WStringList *errorStr);
287
	bool _install_createDirectory(CDirIO &Dir, const Utils::WString &sTo, C_File *pFile, Utils::WStringList *errorStr);
289
	void _install_writeFile(C_File *pFile, const Utils::WString &sDestination, Utils::WStringList *errorStr);
288
	void _install_writeFile(C_File *pFile, const Utils::WString &sDestination, Utils::WStringList *errorStr);
290
 
289
 
Line 333... Line 332...
333
 
332
 
334
	CLinkList<SNeededLibrary> m_lNeededLibrarys;
333
	CLinkList<SNeededLibrary> m_lNeededLibrarys;
335
 
334
 
336
	bool	_bCombineFiles;
335
	bool	_bCombineFiles;
337
	bool	m_bOverrideFiles;
336
	bool	m_bOverrideFiles;
338
	Utils::String	_sFtpAddr;
337
	Utils::WString	_sFtpAddr;
339
	bool			m_bAutoGenerateUpdateFile;
338
	bool			m_bAutoGenerateUpdateFile;
340
	bool			m_bUpdate;
339
	bool			m_bUpdate;
341
};
340
};
342
 
341
 
343
 
342