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 |
|