| Line 1... |
Line 1... |
| 1 |
#ifndef _XSPFILE_H__
|
1 |
#ifndef _XSPFILE_H__
|
| 2 |
#define _XSPFILE_H__
|
2 |
#define _XSPFILE_H__
|
| 3 |
|
3 |
|
| 4 |
#include "BaseFile.h"
|
4 |
#include "BaseFile.h"
|
| 5 |
#include "ShipData.h"
|
5 |
#include "ShipData.h"
|
| 6 |
#include "StringList.h"
|
- |
|
| 7 |
#include "VirtualFileSystem.h"
|
6 |
#include "VirtualFileSystem.h"
|
| 8 |
|
7 |
|
| 9 |
class CCatFile;
|
8 |
class CCatFile;
|
| 10 |
|
9 |
|
| 11 |
#define SHIPYARD_NONE 0
|
10 |
#define SHIPYARD_NONE 0
|
| Line 81... |
Line 80... |
| 81 |
public:
|
80 |
public:
|
| 82 |
CXspFile ();
|
81 |
CXspFile ();
|
| 83 |
~CXspFile () { this->Delete(); }
|
82 |
~CXspFile () { this->Delete(); }
|
| 84 |
|
83 |
|
| 85 |
static bool ReadAnimations(const Utils::WStringList& lIn, Utils::WStringList& lOut, int startRecord);
|
84 |
static bool ReadAnimations(const Utils::WStringList& lIn, Utils::WStringList& lOut, int startRecord);
|
| 86 |
static bool ReadAnimations(const Utils::CStringList& lIn, Utils::CStringList& lOut, int startRecord);
|
- |
|
| 87 |
static int GetAnimationType(const Utils::String &sType);
|
85 |
static int GetAnimationType(const Utils::WString &sType);
|
| 88 |
static Utils::WString TypesListToString(Utils::CList<STypesSection> &list, bool deleteAfter = false);
|
86 |
static Utils::WString TypesListToString(Utils::CList<STypesSection> &list, bool deleteAfter = false);
|
| 89 |
|
87 |
|
| 90 |
bool writeHeader(CFileIO &file, int iHeader, int iLength) const override;
|
88 |
bool writeHeader(CFileIO &file, int iHeader, int iLength) const override;
|
| 91 |
|
89 |
|
| 92 |
bool IsLanguageText () { return m_bLanguageText; }
|
90 |
bool IsLanguageText () { return m_bLanguageText; }
|
| Line 119... |
Line 117... |
| 119 |
void setShipData (const Utils::WString &sData ) { m_sData = sData; _changed(); }
|
117 |
void setShipData (const Utils::WString &sData ) { m_sData = sData; _changed(); }
|
| 120 |
|
118 |
|
| 121 |
void SetSceneFile ( C_File *f ) { m_pSceneFile = f; }
|
119 |
void SetSceneFile ( C_File *f ) { m_pSceneFile = f; }
|
| 122 |
void SetCockpitFile ( C_File *f ) { m_pCockpitFile = f; }
|
120 |
void SetCockpitFile ( C_File *f ) { m_pCockpitFile = f; }
|
| 123 |
|
121 |
|
| 124 |
void addAnimation(const Utils::CStringList &list);
|
122 |
void addAnimation(const Utils::WStringList &list);
|
| 125 |
void addAnimation(const Utils::WString& data);
|
123 |
void addAnimation(const Utils::WString& data);
|
| 126 |
void addBodies(const Utils::WString &data);
|
124 |
void addBodies(const Utils::WString &data);
|
| 127 |
void addBody(const Utils::WString §ion, const Utils::WString &data);
|
125 |
void addBody(const Utils::WString §ion, const Utils::WString &data);
|
| 128 |
void addCutData(const Utils::WString& data);
|
126 |
void addCutData(const Utils::WString& data);
|
| 129 |
void addText(int id, const Utils::WString &name, const Utils::WString &desc);
|
127 |
void addText(int id, const Utils::WString &name, const Utils::WString &desc);
|
| 130 |
void addCockpit(const Utils::WString &cockpit, int game, int mask = -1, int index = -1 );
|
128 |
void addCockpit(const Utils::WString &cockpit, int game, int mask = -1, int index = -1 );
|
| 131 |
void addCockpitWeapon(const Utils::WString &cockpit, int game, int mask);
|
129 |
void addCockpitWeapon(const Utils::WString &cockpit, int game, int mask);
|
| 132 |
void NewCockpit(const Utils::String &id, const Utils::String &scene, int mask );
|
130 |
void newCockpit(const Utils::WString &id, const Utils::WString &scene, int mask );
|
| 133 |
void EditCockpit(const Utils::String &id, const Utils::String &cockpit);
|
131 |
void editCockpit(const Utils::WString &id, const Utils::WString &cockpit);
|
| 134 |
void EditCockpit(const Utils::String &id, const Utils::String &scene, int mask);
|
132 |
void editCockpit(const Utils::WString &id, const Utils::WString &scene, int mask);
|
| 135 |
Utils::String GetCockpitData(const Utils::String &id);
|
133 |
Utils::WString getCockpitData(const Utils::WString &id);
|
| 136 |
SCockpit *FindCockpit(const Utils::String &id);
|
134 |
SCockpit *findCockpit(const Utils::WString &id);
|
| 137 |
void addDummy(const Utils::WString §ion, const Utils::WString &data );
|
135 |
void addDummy(const Utils::WString §ion, const Utils::WString &data );
|
| 138 |
void addComponent(const Utils::WString §ion, const Utils::WString §ion2, const Utils::WString &data);
|
136 |
void addComponent(const Utils::WString §ion, const Utils::WString §ion2, const Utils::WString &data);
|
| 139 |
void AddWeaponMask(int game, int mask );
|
137 |
void AddWeaponMask(int game, int mask );
|
| 140 |
void AddMissileMask(int game, int mask );
|
138 |
void AddMissileMask(int game, int mask );
|
| 141 |
void RemoveText(int id);
|
139 |
void RemoveText(int id);
|
| Line 163... |
Line 161... |
| 163 |
|
161 |
|
| 164 |
virtual int GetType () { return TYPE_XSP; }
|
162 |
virtual int GetType () { return TYPE_XSP; }
|
| 165 |
virtual BaseFileType type() const override { return BaseFileType::TYPE_XSP; }
|
163 |
virtual BaseFileType type() const override { return BaseFileType::TYPE_XSP; }
|
| 166 |
|
164 |
|
| 167 |
Utils::WString shipName(int lang);
|
165 |
Utils::WString shipName(int lang);
|
| 168 |
bool ConvertOld(const Utils::String &file);
|
166 |
bool convertOld(const Utils::WString &file);
|
| 169 |
|
167 |
|
| 170 |
const Utils::WStringList &getAnimations() const { return _lAnimations; }
|
168 |
const Utils::WStringList &getAnimations() const { return _lAnimations; }
|
| 171 |
const Utils::WStringList &getCutData() const { return _lCutData; }
|
169 |
const Utils::WStringList &getCutData() const { return _lCutData; }
|
| 172 |
const Utils::WStringList &getBodies() const { return _lBodies; }
|
170 |
const Utils::WStringList &getBodies() const { return _lBodies; }
|
| 173 |
CLinkList<SWeaponMask> *GetLaserMasks() { return &m_lWeaponMasks; }
|
171 |
CLinkList<SWeaponMask> *GetLaserMasks() { return &m_lWeaponMasks; }
|
| Line 196... |
Line 194... |
| 196 |
|
194 |
|
| 197 |
Utils::WString shipClass() const;
|
195 |
Utils::WString shipClass() const;
|
| 198 |
virtual bool computeSigned(bool updateFiles) const override { return false; }
|
196 |
virtual bool computeSigned(bool updateFiles) const override { return false; }
|
| 199 |
|
197 |
|
| 200 |
// ship extraction
|
198 |
// ship extraction
|
| 201 |
bool startExtractShip(CVirtualFileSystem *pVfs, const Utils::String &sId, CProgressInfo *pProgress);
|
199 |
bool startExtractShip(CVirtualFileSystem *pVfs, const Utils::WString &sId, CProgressInfo *pProgress);
|
| 202 |
bool extractShip(CVirtualFileSystem *pVfs, const Utils::String &sId, CProgressInfo *progress);
|
200 |
bool extractShip(CVirtualFileSystem *pVfs, const Utils::WString &sId, CProgressInfo *progress);
|
| 203 |
bool extractSceneFiles(CVirtualFileSystem *pVfs);
|
201 |
bool extractSceneFiles(CVirtualFileSystem *pVfs);
|
| 204 |
void extractComponants(CVirtualFileSystem *pVfs, const Utils::CStringList &sceneModels);
|
202 |
void extractComponants(CVirtualFileSystem *pVfs, const Utils::WStringList &sceneModels);
|
| 205 |
void extractCutData(CVirtualFileSystem *pVfs, Utils::CStringList& sceneModels, bool add);
|
203 |
void extractCutData(CVirtualFileSystem *pVfs, Utils::WStringList& sceneModels, bool add);
|
| 206 |
void extractDummies(CVirtualFileSystem *pVfs, Utils::CStringList& sceneModels, bool add);
|
204 |
void extractDummies(CVirtualFileSystem *pVfs, Utils::WStringList& sceneModels, bool add);
|
| 207 |
void extractTextures(CVirtualFileSystem *pVfs);
|
205 |
void extractTextures(CVirtualFileSystem *pVfs);
|
| 208 |
bool extractBodies(CVirtualFileSystem *pVfs, const Utils::CStringList& sceneModels);
|
206 |
bool extractBodies(CVirtualFileSystem *pVfs, const Utils::WStringList& sceneModels);
|
| 209 |
bool extractCockpits(CVirtualFileSystem *pVfs);
|
207 |
bool extractCockpits(CVirtualFileSystem *pVfs);
|
| 210 |
|
208 |
|
| 211 |
void addComponentsToList(CLinkList<SComponentEntry> &componentList);
|
209 |
void addComponentsToList(CLinkList<SComponentEntry> &componentList);
|
| 212 |
void addDummiesToList(Utils::CList<STypesSection> &list);
|
210 |
void addDummiesToList(Utils::CList<STypesSection> &list);
|
| 213 |
void addCutDataToList(Utils::CList<STypesSection> &list);
|
211 |
void addCutDataToList(Utils::CList<STypesSection> &list);
|
| 214 |
void addBodiesToList(Utils::CList<STypesSection> &list);
|
212 |
void addBodiesToList(Utils::CList<STypesSection> &list);
|
| 215 |
void addAnimationsToList(Utils::CList<STypesSection> &list);
|
213 |
void addAnimationsToList(Utils::CList<STypesSection> &list);
|
| 216 |
|
214 |
|
| 217 |
bool processSceneFileSection(int section, CVirtualFileSystem *pVfs, Utils::CStringList &lModels, CProgressInfo *progress);
|
215 |
bool processSceneFileSection(int section, CVirtualFileSystem *pVfs, Utils::WStringList &lModels, CProgressInfo *progress);
|
| 218 |
bool processSceneFiles(CVirtualFileSystem *pVfs, CProgressInfo *progress);
|
216 |
bool processSceneFiles(CVirtualFileSystem *pVfs, CProgressInfo *progress);
|
| 219 |
|
217 |
|
| 220 |
void PackAllFiles();
|
218 |
void PackAllFiles();
|
| 221 |
bool readSceneModels(Utils::CStringList& out);
|
219 |
bool readSceneModels(Utils::WStringList& out);
|
| 222 |
|
220 |
|
| 223 |
//TODO: convert this
|
221 |
//TODO: convert this
|
| 224 |
void ExtractTexts(CCatFile *catFile, CCatFile *secondCatFile, int textId);
|
222 |
void ExtractTexts(CCatFile *catFile, CCatFile *secondCatFile, int textId);
|
| 225 |
|
223 |
|
| 226 |
bool getTextureList(Utils::WStringList &list, const unsigned char *olddata, size_t size) const;
|
224 |
bool getTextureList(Utils::WStringList &list, const unsigned char *olddata, size_t size) const;
|
| 227 |
bool addTextFromFile(const Utils::WString &file, int textId = -1);
|
225 |
bool addTextFromFile(const Utils::WString &file, int textId = -1);
|
| 228 |
bool importBodies(const Utils::CStringList &sceneModels, const Utils::String &filename);
|
226 |
bool importBodies(const Utils::WStringList &sceneModels, const Utils::WString &filename);
|
| 229 |
bool ImportCockpits(const Utils::String &filename);
|
227 |
bool ImportCockpits(const Utils::WString &filename);
|
| 230 |
Utils::WString formatShipData(const Utils::WStringList &cockpits, int *text, int game);
|
228 |
Utils::WString formatShipData(const Utils::WStringList &cockpits, int *text, int game);
|
| 231 |
|
229 |
|
| 232 |
virtual bool loadPackageData(const Utils::WString &sFirst, const Utils::WString &sRest, const Utils::WString &sMainGame, Utils::WStringList &otherGames, Utils::WStringList &gameAddons, CProgressInfo *progress = NULL) override;
|
230 |
virtual bool loadPackageData(const Utils::WString &sFirst, const Utils::WString &sRest, const Utils::WString &sMainGame, Utils::WStringList &otherGames, Utils::WStringList &gameAddons, CProgressInfo *progress = NULL) override;
|
| 233 |
virtual bool GeneratePackagerScript(bool wildcard, Utils::WStringList *list, int game, const Utils::WStringList &gameAddons, bool datafile = false) override;
|
231 |
virtual bool GeneratePackagerScript(bool wildcard, Utils::WStringList *list, int game, const Utils::WStringList &gameAddons, bool datafile = false) override;
|
| 234 |
virtual void addGeneratedFiles(HZIP &hz);
|
232 |
virtual void addGeneratedFiles(HZIP &hz);
|