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