| 1 | 
           cycrow | 
           1 | 
           #ifndef _XSPFILE_H__
  | 
        
        
            | 
            | 
           2 | 
           #define _XSPFILE_H__
  | 
        
        
            | 
            | 
           3 | 
              | 
        
        
           | 6 | 
           cycrow | 
           4 | 
           #include "BaseFile.h"
  | 
        
        
           | 1 | 
           cycrow | 
           5 | 
           #include "ShipData.h"
  | 
        
        
            | 
            | 
           6 | 
           #include "StringList.h"
  | 
        
        
           | 35 | 
           cycrow | 
           7 | 
           #include "VirtualFileSystem.h"
  | 
        
        
           | 1 | 
           cycrow | 
           8 | 
              | 
        
        
            | 
            | 
           9 | 
           class CCatFile;
  | 
        
        
            | 
            | 
           10 | 
              | 
        
        
            | 
            | 
           11 | 
           #define SHIPYARD_NONE		  0
  | 
        
        
            | 
            | 
           12 | 
           #define SHIPYARD_ARGON		  1
  | 
        
        
            | 
            | 
           13 | 
           #define SHIPYARD_BORON		  2
  | 
        
        
            | 
            | 
           14 | 
           #define SHIPYARD_PARANID	  4
  | 
        
        
            | 
            | 
           15 | 
           #define SHIPYARD_SPLIT		  8
  | 
        
        
            | 
            | 
           16 | 
           #define SHIPYARD_TELADI		 16
  | 
        
        
            | 
            | 
           17 | 
           #define SHIPYARD_PIRATES	 32
  | 
        
        
            | 
            | 
           18 | 
           #define SHIPYARD_FRIEND		 64
  | 
        
        
            | 
            | 
           19 | 
           #define SHIPYARD_XENON		128
  | 
        
        
            | 
            | 
           20 | 
           #define SHIPYARD_TERRAN		256
  | 
        
        
            | 
            | 
           21 | 
           #define SHIPYARD_ATF		512
  | 
        
        
            | 
            | 
           22 | 
           #define SHIPYARD_YAKI		1024
  | 
        
        
            | 
            | 
           23 | 
              | 
        
        
            | 
            | 
           24 | 
           #define SHIPYARD_MAX	SHIPYARD_TERRAN
  | 
        
        
            | 
            | 
           25 | 
              | 
        
        
            | 
            | 
           26 | 
           enum {TAT_NONE, TAT_SINGLE, TAT_3};
  | 
        
        
            | 
            | 
           27 | 
              | 
        
        
            | 
            | 
           28 | 
           #define TSHIPPOS_CLASS		53
  | 
        
        
            | 
            | 
           29 | 
              | 
        
        
            | 
            | 
           30 | 
           enum {IMPORTSHIP_NONE, IMPORTSHIP_SCENE, IMPORTSHIP_EXTRACTSCENE, IMPORTSHIP_DUMMIES, IMPORTSHIP_COMPONANT, IMPORTSHIP_MODELS, IMPORTSHIP_TEXTURES, IMPORTSHIP_TEXTS, IMPORTSHIP_BODIES, IMPORTSHIP_COCKPITS, IMPORTSHIP_PACK, IMPORTSHIP_DONE};
  | 
        
        
            | 
            | 
           31 | 
              | 
        
        
            | 
            | 
           32 | 
           int		 SPKEXPORT GetMaxShipyards ();
  | 
        
        
           | 39 | 
           cycrow | 
           33 | 
           Utils::String SPKEXPORT GetShipyardName (int s);
  | 
        
        
           | 1 | 
           cycrow | 
           34 | 
              | 
        
        
           | 109 | 
           cycrow | 
           35 | 
           typedef struct STypesSection {
  | 
        
        
            | 
            | 
           36 | 
           	Utils::String		sSection;
  | 
        
        
            | 
            | 
           37 | 
           	Utils::CStringList	lEntries;
  | 
        
        
            | 
            | 
           38 | 
           } STypesSection2;
  | 
        
        
            | 
            | 
           39 | 
              | 
        
        
            | 
            | 
           40 | 
           typedef struct SComponentEntry {
  | 
        
        
            | 
            | 
           41 | 
           	Utils::String		sSection;
  | 
        
        
           | 113 | 
           cycrow | 
           42 | 
           	Utils::CList<STypesSection> lEntries;
  | 
        
        
           | 109 | 
           cycrow | 
           43 | 
           } SComponentEntry;
  | 
        
        
            | 
            | 
           44 | 
              | 
        
        
           | 1 | 
           cycrow | 
           45 | 
           typedef struct SWeaponMask {
  | 
        
        
            | 
            | 
           46 | 
           	int		iMask;
  | 
        
        
            | 
            | 
           47 | 
           	int		iGame;
  | 
        
        
            | 
            | 
           48 | 
           } SWeaponMask;
  | 
        
        
            | 
            | 
           49 | 
              | 
        
        
            | 
            | 
           50 | 
           typedef struct SText
  | 
        
        
            | 
            | 
           51 | 
           {
  | 
        
        
            | 
            | 
           52 | 
           	int		iId;
  | 
        
        
           | 39 | 
           cycrow | 
           53 | 
           	Utils::String sName;
  | 
        
        
            | 
            | 
           54 | 
           	Utils::String sDesc;
  | 
        
        
           | 1 | 
           cycrow | 
           55 | 
           } SText;
  | 
        
        
            | 
            | 
           56 | 
              | 
        
        
            | 
            | 
           57 | 
           typedef struct SDummy
  | 
        
        
            | 
            | 
           58 | 
           {
  | 
        
        
           | 39 | 
           cycrow | 
           59 | 
           	Utils::String	sSection;
  | 
        
        
            | 
            | 
           60 | 
           	Utils::String sData;
  | 
        
        
           | 1 | 
           cycrow | 
           61 | 
           } SDummy;
  | 
        
        
            | 
            | 
           62 | 
              | 
        
        
            | 
            | 
           63 | 
           typedef struct SComponent
  | 
        
        
            | 
            | 
           64 | 
           {
  | 
        
        
           | 39 | 
           cycrow | 
           65 | 
           	Utils::String sSection;
  | 
        
        
            | 
            | 
           66 | 
           	Utils::String sSection2;
  | 
        
        
            | 
            | 
           67 | 
           	Utils::String sData;
  | 
        
        
           | 1 | 
           cycrow | 
           68 | 
           } SComponent;
  | 
        
        
            | 
            | 
           69 | 
              | 
        
        
            | 
            | 
           70 | 
           typedef struct SCockpit
  | 
        
        
            | 
            | 
           71 | 
           {
  | 
        
        
           | 39 | 
           cycrow | 
           72 | 
           	Utils::String	   sCockpit;
  | 
        
        
           | 1 | 
           cycrow | 
           73 | 
           	CLinkList<SWeaponMask> lWeaponMask;
  | 
        
        
            | 
            | 
           74 | 
           	int				iIndex;
  | 
        
        
            | 
            | 
           75 | 
           } SCockpit;
  | 
        
        
            | 
            | 
           76 | 
              | 
        
        
           | 35 | 
           cycrow | 
           77 | 
           using namespace SPK;
  | 
        
        
           | 1 | 
           cycrow | 
           78 | 
              | 
        
        
            | 
            | 
           79 | 
           class SPKEXPORT CXspFile : public CBaseFile
  | 
        
        
            | 
            | 
           80 | 
           {
  | 
        
        
            | 
            | 
           81 | 
           public:
  | 
        
        
            | 
            | 
           82 | 
           	CXspFile ();
  | 
        
        
            | 
            | 
           83 | 
           	~CXspFile () { this->Delete(); }
  | 
        
        
            | 
            | 
           84 | 
              | 
        
        
           | 170 | 
           cycrow | 
           85 | 
           	static bool ReadAnimations(const Utils::CStringList &lIn, Utils::CStringList &lOut, int startRecord);
  | 
        
        
           | 39 | 
           cycrow | 
           86 | 
           	static int GetAnimationType(const Utils::String &sType);
  | 
        
        
           | 113 | 
           cycrow | 
           87 | 
           	static Utils::String TypesListToString(Utils::CList<STypesSection> &list, bool deleteAfter = false);
  | 
        
        
           | 1 | 
           cycrow | 
           88 | 
              | 
        
        
           | 175 | 
           cycrow | 
           89 | 
           	bool writeHeader(CFileIO &file, int iHeader, int iLength) const override;
  | 
        
        
           | 1 | 
           cycrow | 
           90 | 
              | 
        
        
            | 
            | 
           91 | 
           	bool IsLanguageText () { return m_bLanguageText; }
  | 
        
        
            | 
            | 
           92 | 
           	bool IsExistingShip () { return m_bExistingShip; }
  | 
        
        
            | 
            | 
           93 | 
              | 
        
        
            | 
            | 
           94 | 
           	int  GetOriginalDescription () { return m_iOrgDesc; }
  | 
        
        
            | 
            | 
           95 | 
           	int  GetShipyards () { return m_iShipyard; }
  | 
        
        
            | 
            | 
           96 | 
              | 
        
        
           | 14 | 
           cycrow | 
           97 | 
           	const Utils::String &GetShipID () const { return m_sID; }
  | 
        
        
            | 
            | 
           98 | 
           	const Utils::String &GetShipData () const { return m_sData; }
  | 
        
        
           | 39 | 
           cycrow | 
           99 | 
           	Utils::String GetX3ShipData();
  | 
        
        
            | 
            | 
           100 | 
           	Utils::String GetTCShipData();
  | 
        
        
            | 
            | 
           101 | 
           	Utils::String GetShipFilename () 
  | 
        
        
           | 1 | 
           cycrow | 
           102 | 
           	{ 
  | 
        
        
           | 50 | 
           cycrow | 
           103 | 
           		Utils::String s = this->name() + "-" + this->author(); 
  | 
        
        
           | 39 | 
           cycrow | 
           104 | 
           		s = s.remove(' ');
  | 
        
        
            | 
            | 
           105 | 
           		s = s.remove('\\');
  | 
        
        
            | 
            | 
           106 | 
           		s = s.remove('/');
  | 
        
        
           | 1 | 
           cycrow | 
           107 | 
           		return s;
  | 
        
        
            | 
            | 
           108 | 
           	}
  | 
        
        
            | 
            | 
           109 | 
              | 
        
        
            | 
            | 
           110 | 
           	SText *FindShipText(int lang);
  | 
        
        
           | 39 | 
           cycrow | 
           111 | 
           	Utils::String GetTextName(int lang);
  | 
        
        
            | 
            | 
           112 | 
           	Utils::String GetTextDescription(int lang);
  | 
        
        
           | 1 | 
           cycrow | 
           113 | 
              | 
        
        
           | 50 | 
           cycrow | 
           114 | 
           	void SetLanguageText		( bool b )   { m_bLanguageText = b; _changed(); }
  | 
        
        
            | 
            | 
           115 | 
           	void SetExistingShip		( bool b )   { m_bExistingShip = b; _changed(); }
  | 
        
        
            | 
            | 
           116 | 
           	void SetOriginalDescription	( int i )	 { m_iOrgDesc = i; _changed();; }
  | 
        
        
            | 
            | 
           117 | 
           	void SetShipID				(const Utils::String &sId ) { m_sID = sId; _changed();; }
  | 
        
        
            | 
            | 
           118 | 
           	void SetShipData			(const Utils::String &sData ) { m_sData = sData; _changed(); }
  | 
        
        
           | 1 | 
           cycrow | 
           119 | 
              | 
        
        
            | 
            | 
           120 | 
           	void SetSceneFile ( C_File *f ) { m_pSceneFile = f; }
  | 
        
        
            | 
            | 
           121 | 
           	void SetCockpitFile ( C_File *f ) { m_pCockpitFile = f; }
  | 
        
        
            | 
            | 
           122 | 
              | 
        
        
           | 170 | 
           cycrow | 
           123 | 
           	void addAnimation(const Utils::CStringList &list);
  | 
        
        
            | 
            | 
           124 | 
           	void addAnimation(const Utils::String& data);
  | 
        
        
            | 
            | 
           125 | 
           	void addBodies(const Utils::String &data);
  | 
        
        
            | 
            | 
           126 | 
           	void addBody(const Utils::String §ion, const Utils::String &data);
  | 
        
        
           | 165 | 
           cycrow | 
           127 | 
           	void addCutData(const Utils::String& data);
  | 
        
        
           | 39 | 
           cycrow | 
           128 | 
           	void AddText(int id, const Utils::String &name, const Utils::String &desc );
  | 
        
        
            | 
            | 
           129 | 
           	void AddCockpit(const Utils::String &cockpit, int game, int mask = -1, int index = -1 );
  | 
        
        
           | 108 | 
           cycrow | 
           130 | 
           	void AddCockpitWeapon(const Utils::String &cockpit, int game, int mask);
  | 
        
        
           | 39 | 
           cycrow | 
           131 | 
           	void NewCockpit(const Utils::String &id, const Utils::String &scene, int mask );
  | 
        
        
            | 
            | 
           132 | 
           	void EditCockpit(const Utils::String &id, const Utils::String &cockpit);
  | 
        
        
            | 
            | 
           133 | 
           	void EditCockpit(const Utils::String &id, const Utils::String &scene, int mask);
  | 
        
        
            | 
            | 
           134 | 
           	Utils::String GetCockpitData(const Utils::String &id);
  | 
        
        
            | 
            | 
           135 | 
           	SCockpit *FindCockpit(const Utils::String &id);
  | 
        
        
            | 
            | 
           136 | 
           	void AddDummy(const Utils::String §ion, const Utils::String &data );
  | 
        
        
            | 
            | 
           137 | 
           	void AddComponent(const Utils::String §ion, const Utils::String §ion2, const Utils::String &data );
  | 
        
        
            | 
            | 
           138 | 
           	void AddWeaponMask(int game, int mask );
  | 
        
        
            | 
            | 
           139 | 
           	void AddMissileMask(int game, int mask );
  | 
        
        
           | 1 | 
           cycrow | 
           140 | 
           	void RemoveText(int id);
  | 
        
        
           | 50 | 
           cycrow | 
           141 | 
           	void ClearText() { m_lText.MemoryClear(); _changed(); }
  | 
        
        
           | 1 | 
           cycrow | 
           142 | 
              | 
        
        
           | 50 | 
           cycrow | 
           143 | 
           	void AddShipyard ( int s ) { m_iShipyard |= s; _changed(); }
  | 
        
        
            | 
            | 
           144 | 
           	void RemoveShipyard ( int s ) { m_iShipyard &= ~(s); _changed(); }
  | 
        
        
           | 1 | 
           cycrow | 
           145 | 
           	void SetShipyard(int s, bool b) { if ( b ) AddShipyard(s); else RemoveShipyard(s); }
  | 
        
        
            | 
            | 
           146 | 
           	void ToggleShipyard(int s) { if ( this->IsShipyard(s) ) RemoveShipyard(s); else AddShipyard(s); }
  | 
        
        
            | 
            | 
           147 | 
              | 
        
        
           | 165 | 
           cycrow | 
           148 | 
           	bool removeCutData(const Utils::String &cut);
  | 
        
        
           | 170 | 
           cycrow | 
           149 | 
           	bool removeCockpit(const Utils::String &cockpitid);
  | 
        
        
            | 
            | 
           150 | 
           	bool removeComponent(const Utils::String §ion1, const Utils::String §ion2, const Utils::String &data);
  | 
        
        
            | 
            | 
           151 | 
           	bool removeDummy(const Utils::String §ion, const Utils::String &data);
  | 
        
        
            | 
            | 
           152 | 
           	bool removeBodies(const Utils::String &body);
  | 
        
        
            | 
            | 
           153 | 
           	bool removeAnimation(const Utils::String &ani);
  | 
        
        
           | 1 | 
           cycrow | 
           154 | 
              | 
        
        
            | 
            | 
           155 | 
           	bool IsSigned() { return false; }
  | 
        
        
            | 
            | 
           156 | 
           	bool IsValid ();
  | 
        
        
            | 
            | 
           157 | 
           	bool IsShipyard(int s) { return (m_iShipyard & s) ? true : false; }
  | 
        
        
            | 
            | 
           158 | 
           	bool AnyShipyards() { return (m_iShipyard > 0) ? true : false; }
  | 
        
        
            | 
            | 
           159 | 
           	void AdjustCockpits();
  | 
        
        
           | 175 | 
           cycrow | 
           160 | 
           	virtual Utils::String createValuesLine() const override;
  | 
        
        
           | 14 | 
           cycrow | 
           161 | 
           	virtual bool ParseValueLine(const Utils::String &line);
  | 
        
        
           | 1 | 
           cycrow | 
           162 | 
              | 
        
        
            | 
            | 
           163 | 
           	virtual int GetType () { return TYPE_XSP; }
  | 
        
        
           | 173 | 
           cycrow | 
           164 | 
           	virtual BaseFileType type() const override { return BaseFileType::TYPE_XSP; }
  | 
        
        
           | 1 | 
           cycrow | 
           165 | 
              | 
        
        
           | 39 | 
           cycrow | 
           166 | 
           	Utils::String GetShipName(int lang);
  | 
        
        
            | 
            | 
           167 | 
           	bool ConvertOld(const Utils::String &file);
  | 
        
        
           | 1 | 
           cycrow | 
           168 | 
              | 
        
        
           | 170 | 
           cycrow | 
           169 | 
           	const Utils::CStringList &getAnimations() const { return _lAnimations; }
  | 
        
        
           | 165 | 
           cycrow | 
           170 | 
           	const Utils::CStringList &getCutData() const { return _lCutData; }
  | 
        
        
           | 170 | 
           cycrow | 
           171 | 
           	const Utils::CStringList &getBodies() const { return _lBodies; }
  | 
        
        
           | 1 | 
           cycrow | 
           172 | 
           	CLinkList<SWeaponMask> *GetLaserMasks() { return &m_lWeaponMasks; }
  | 
        
        
            | 
            | 
           173 | 
           	CLinkList<SWeaponMask> *GetMissileMasks() { return &m_lMissileMasks; }
  | 
        
        
            | 
            | 
           174 | 
           	CLinkList<SText> *GetTexts() { return &m_lText; }
  | 
        
        
            | 
            | 
           175 | 
           	CLinkList<SDummy> *GetDummies() { return &m_lDummy; }
  | 
        
        
            | 
            | 
           176 | 
           	CLinkList<SComponent> *GetComponents() { return &m_lComponent; }
  | 
        
        
            | 
            | 
           177 | 
           	CLinkList<SCockpit> *GetCockpits() { return &m_lCockpit; }
  | 
        
        
            | 
            | 
           178 | 
           	int GetLaserMask(int game, bool getOnly = false);
  | 
        
        
            | 
            | 
           179 | 
           	int GetMissileMask(int game, bool getOnly = false);
  | 
        
        
            | 
            | 
           180 | 
           	void SetLaserMask(int game, int mask);
  | 
        
        
            | 
            | 
           181 | 
           	void SetMissileMask(int game, int mask);
  | 
        
        
            | 
            | 
           182 | 
              | 
        
        
           | 170 | 
           cycrow | 
           183 | 
           	void SetCreatedShipData(CShipData *data) { m_sData = data->createData(); }
  | 
        
        
           | 1 | 
           cycrow | 
           184 | 
           	bool AnyTexts() { return !m_lText.empty(); }
  | 
        
        
            | 
            | 
           185 | 
           	bool AnyDummies() { return !m_lDummy.empty(); }
  | 
        
        
            | 
            | 
           186 | 
           	bool AnyComponents() { return !m_lComponent.empty(); }
  | 
        
        
            | 
            | 
           187 | 
           	bool AnyCockpits() { return !m_lCockpit.empty(); }
  | 
        
        
           | 165 | 
           cycrow | 
           188 | 
           	bool anyCutData() { return !_lCutData.empty(); }
  | 
        
        
           | 170 | 
           cycrow | 
           189 | 
           	bool anyBodies() const { return !_lBodies.empty(); }
  | 
        
        
            | 
            | 
           190 | 
           	bool anyAnimations() const { return !_lAnimations.empty(); }
  | 
        
        
           | 1 | 
           cycrow | 
           191 | 
              | 
        
        
           | 165 | 
           cycrow | 
           192 | 
           	void clearCutData();
  | 
        
        
           | 170 | 
           cycrow | 
           193 | 
           	void clearAnimations();
  | 
        
        
            | 
            | 
           194 | 
           	void clearBodies();
  | 
        
        
           | 165 | 
           cycrow | 
           195 | 
              | 
        
        
           | 39 | 
           cycrow | 
           196 | 
           	Utils::String GetShipClass();
  | 
        
        
           | 175 | 
           cycrow | 
           197 | 
           	virtual bool computeSigned(bool updateFiles) const override { return false; }
  | 
        
        
           | 1 | 
           cycrow | 
           198 | 
              | 
        
        
            | 
            | 
           199 | 
           	// ship extraction
  | 
        
        
           | 35 | 
           cycrow | 
           200 | 
           	bool startExtractShip(CVirtualFileSystem *pVfs, const Utils::String &sId, CProgressInfo *pProgress);
  | 
        
        
            | 
            | 
           201 | 
           	bool extractShip(CVirtualFileSystem *pVfs, const Utils::String &sId, CProgressInfo *progress);
  | 
        
        
            | 
            | 
           202 | 
           	bool extractSceneFiles(CVirtualFileSystem *pVfs);
  | 
        
        
           | 170 | 
           cycrow | 
           203 | 
           	void extractComponants(CVirtualFileSystem *pVfs, const Utils::CStringList &sceneModels);
  | 
        
        
            | 
            | 
           204 | 
           	void extractCutData(CVirtualFileSystem *pVfs, Utils::CStringList& sceneModels, bool add);
  | 
        
        
            | 
            | 
           205 | 
           	void extractDummies(CVirtualFileSystem *pVfs, Utils::CStringList& sceneModels, bool add);
  | 
        
        
           | 35 | 
           cycrow | 
           206 | 
           	void extractTextures(CVirtualFileSystem *pVfs);
  | 
        
        
           | 170 | 
           cycrow | 
           207 | 
           	bool extractBodies(CVirtualFileSystem *pVfs, const Utils::CStringList& sceneModels);
  | 
        
        
           | 35 | 
           cycrow | 
           208 | 
           	bool extractCockpits(CVirtualFileSystem *pVfs);
  | 
        
        
           | 1 | 
           cycrow | 
           209 | 
              | 
        
        
           | 109 | 
           cycrow | 
           210 | 
           	void addComponentsToList(CLinkList<SComponentEntry> &componentList);
  | 
        
        
           | 113 | 
           cycrow | 
           211 | 
           	void addDummiesToList(Utils::CList<STypesSection> &list);
  | 
        
        
            | 
            | 
           212 | 
           	void addCutDataToList(Utils::CList<STypesSection> &list);
  | 
        
        
            | 
            | 
           213 | 
           	void addBodiesToList(Utils::CList<STypesSection> &list);
  | 
        
        
            | 
            | 
           214 | 
           	void addAnimationsToList(Utils::CList<STypesSection> &list);
  | 
        
        
           | 109 | 
           cycrow | 
           215 | 
              | 
        
        
           | 170 | 
           cycrow | 
           216 | 
           	bool processSceneFileSection(int section, CVirtualFileSystem *pVfs, Utils::CStringList &lModels, CProgressInfo *progress);
  | 
        
        
           | 35 | 
           cycrow | 
           217 | 
           	bool processSceneFiles(CVirtualFileSystem *pVfs, CProgressInfo *progress);
  | 
        
        
           | 1 | 
           cycrow | 
           218 | 
              | 
        
        
            | 
            | 
           219 | 
           	void PackAllFiles();
  | 
        
        
           | 170 | 
           cycrow | 
           220 | 
           	bool readSceneModels(Utils::CStringList& out);
  | 
        
        
           | 35 | 
           cycrow | 
           221 | 
              | 
        
        
            | 
            | 
           222 | 
           	//TODO: convert this
  | 
        
        
            | 
            | 
           223 | 
           	void ExtractTexts(CCatFile *catFile, CCatFile *secondCatFile, int textId);
  | 
        
        
            | 
            | 
           224 | 
              | 
        
        
           | 197 | 
           cycrow | 
           225 | 
           	bool getTextureList(Utils::WStringList &list, const unsigned char *olddata, size_t size) const;
  | 
        
        
            | 
            | 
           226 | 
           	bool addTextFromFile(const Utils::WString &file, int textId = -1);
  | 
        
        
           | 170 | 
           cycrow | 
           227 | 
           	bool importBodies(const Utils::CStringList &sceneModels, const Utils::String &filename);
  | 
        
        
           | 39 | 
           cycrow | 
           228 | 
           	bool ImportCockpits(const Utils::String &filename);
  | 
        
        
           | 170 | 
           cycrow | 
           229 | 
           	Utils::String formatShipData(const Utils::CStringList &cockpits, int *text, int game);
  | 
        
        
           | 1 | 
           cycrow | 
           230 | 
              | 
        
        
           | 197 | 
           cycrow | 
           231 | 
           	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;
  | 
        
        
           | 127 | 
           cycrow | 
           232 | 
           	virtual bool GeneratePackagerScript(bool wildcard, Utils::CStringList *list, int game, const Utils::CStringList &gameAddons, bool datafile = false) override;
  | 
        
        
           | 109 | 
           cycrow | 
           233 | 
           	virtual void addGeneratedFiles(HZIP &hz);
  | 
        
        
           | 1 | 
           cycrow | 
           234 | 
              | 
        
        
            | 
            | 
           235 | 
           protected:
  | 
        
        
            | 
            | 
           236 | 
           	virtual void Delete ();
  | 
        
        
            | 
            | 
           237 | 
           	virtual void SetDefaults ();
  | 
        
        
           | 175 | 
           cycrow | 
           238 | 
           	virtual bool _checkHeader(const Utils::String header) const override;
  | 
        
        
           | 108 | 
           cycrow | 
           239 | 
           	SCockpit *_findCockpit(const Utils::String &sID);
  | 
        
        
           | 113 | 
           cycrow | 
           240 | 
           	void _addSection(Utils::CList<STypesSection> &list, const Utils::String §ion, const Utils::String &data);
  | 
        
        
           | 165 | 
           cycrow | 
           241 | 
           	void _addDataSection(Utils::CStringList& list, Utils::CList<STypesSection>& sectionList, bool bUseFirst);
  | 
        
        
           | 118 | 
           cycrow | 
           242 | 
           	bool _addTextFromFile(CFileIO &F, int textId = -1);
  | 
        
        
           | 1 | 
           cycrow | 
           243 | 
              | 
        
        
           | 109 | 
           cycrow | 
           244 | 
           protected:
  | 
        
        
           | 1 | 
           cycrow | 
           245 | 
           	C_File *m_pSceneFile, *m_pCockpitFile;
  | 
        
        
            | 
            | 
           246 | 
              | 
        
        
            | 
            | 
           247 | 
           	bool m_bLanguageText, m_bExistingShip;
  | 
        
        
            | 
            | 
           248 | 
              | 
        
        
            | 
            | 
           249 | 
           	int m_iOrgDesc;
  | 
        
        
            | 
            | 
           250 | 
              | 
        
        
           | 14 | 
           cycrow | 
           251 | 
           	Utils::String m_sID;
  | 
        
        
            | 
            | 
           252 | 
           	Utils::String m_sData;
  | 
        
        
           | 1 | 
           cycrow | 
           253 | 
              | 
        
        
           | 165 | 
           cycrow | 
           254 | 
           	Utils::CStringList		_lCutData;
  | 
        
        
           | 170 | 
           cycrow | 
           255 | 
           	Utils::CStringList		_lBodies;
  | 
        
        
            | 
            | 
           256 | 
           	Utils::CStringList		_lAnimations;
  | 
        
        
           | 1 | 
           cycrow | 
           257 | 
           	CLinkList<SCockpit>		m_lCockpit;
  | 
        
        
            | 
            | 
           258 | 
           	CLinkList<SText>		m_lText;
  | 
        
        
            | 
            | 
           259 | 
           	CLinkList<SComponent>	m_lComponent;
  | 
        
        
            | 
            | 
           260 | 
           	CLinkList<SDummy>		m_lDummy;
  | 
        
        
            | 
            | 
           261 | 
           	CLinkList<SWeaponMask>  m_lWeaponMasks;
  | 
        
        
            | 
            | 
           262 | 
           	CLinkList<SWeaponMask>  m_lMissileMasks;
  | 
        
        
            | 
            | 
           263 | 
              | 
        
        
            | 
            | 
           264 | 
           	int m_iShipyard;
  | 
        
        
            | 
            | 
           265 | 
           };
  | 
        
        
            | 
            | 
           266 | 
              | 
        
        
            | 
            | 
           267 | 
           #endif //_XSPFILE_H__
  | 
        
        
            | 
            | 
           268 | 
              |