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