mirror of
				https://github.com/AxioDL/metaforce.git
				synced 2025-10-25 22:50:24 +00:00 
			
		
		
		
	Avoids indirect inclusions where applicable and includes the necessary headers as used by the interface. This way, it prevents code from failing to compile due to changes in other header inclusions.
		
			
				
	
	
		
			39 lines
		
	
	
		
			1006 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1006 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <climits>
 | |
| 
 | |
| #include "DataSpec/DNACommon/DNACommon.hpp"
 | |
| 
 | |
| namespace hecl {
 | |
| class ProjectPath;
 | |
| }
 | |
| 
 | |
| namespace DataSpec {
 | |
| class PAKEntryReadStream;
 | |
| 
 | |
| struct TXTR {
 | |
|   struct PaletteMeta : BigDNAVYaml {
 | |
|     AT_DECL_EXPLICIT_DNA_YAMLV
 | |
|     Value<atUint32> format = UINT_MAX;
 | |
|     Value<atUint32> elementCount = 0;
 | |
|     Value<atUint64> dolphinHash = 0;
 | |
|   };
 | |
|   struct Meta : BigDNAVYaml {
 | |
|     AT_DECL_EXPLICIT_DNA_YAMLV
 | |
|     Value<atUint32> format = UINT_MAX;
 | |
|     Value<atUint32> mips = 0;
 | |
|     Value<atUint16> width = 0;
 | |
|     Value<atUint16> height = 0;
 | |
|     Value<atUint64> dolphinHash = 0;
 | |
|     Value<bool> hasPalette = false;
 | |
|     PaletteMeta palette;
 | |
|   };
 | |
| 
 | |
|   static bool Extract(PAKEntryReadStream& rs, const hecl::ProjectPath& outPath);
 | |
|   static bool Cook(const hecl::ProjectPath& inPath, const hecl::ProjectPath& outPath);
 | |
|   static bool CookPC(const hecl::ProjectPath& inPath, const hecl::ProjectPath& outPath);
 | |
|   static TXTR::Meta GetMetaData(PAKEntryReadStream& rs);
 | |
| };
 | |
| 
 | |
| } // namespace DataSpec
 |