mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 07:56:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			No EOL
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			No EOL
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef COMPONENT_ESM_TES3_H
 | |
| #define COMPONENT_ESM_TES3_H
 | |
| 
 | |
| #include <vector>
 | |
| 
 | |
| #include "esmcommon.hpp"
 | |
| 
 | |
| namespace ESM
 | |
| {
 | |
|     class ESMReader;
 | |
|     class ESMWriter;
 | |
| 
 | |
| #pragma pack(push)
 | |
| #pragma pack(1)
 | |
| 
 | |
|     /// \brief File header record
 | |
|     struct Header
 | |
|     {
 | |
|         static const int CurrentFormat = 0; // most recent known format
 | |
| 
 | |
|         struct Data
 | |
|         {
 | |
|             /* File format version. This is actually a float, the supported
 | |
|                 versions are 1.2 and 1.3. These correspond to:
 | |
|                 1.2 = 0x3f99999a and 1.3 = 0x3fa66666
 | |
|             */
 | |
|             unsigned int version;
 | |
|             int type;           // 0=esp, 1=esm, 32=ess (unused)
 | |
|             NAME32 author;      // Author's name
 | |
|             NAME256 desc;       // File description
 | |
|             int records;        // Number of records? Not used.
 | |
|         };
 | |
| 
 | |
|         // Defines another files (esm or esp) that this file depends upon.
 | |
|         struct MasterData
 | |
|         {
 | |
|             std::string name;
 | |
|             uint64_t size;
 | |
|             int index; // Position of the parent file in the global list of loaded files
 | |
|         };
 | |
| 
 | |
|         Data mData;
 | |
|         int mFormat;
 | |
|         std::vector<MasterData> mMaster;
 | |
| 
 | |
|         void blank();
 | |
| 
 | |
|         void load (ESMReader &esm);
 | |
|         void save (ESMWriter &esm);
 | |
|     };
 | |
| #pragma pack(pop)
 | |
| 
 | |
| }
 | |
| 
 | |
| #endif |