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.
		
			
				
	
	
		
			40 lines
		
	
	
		
			879 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			879 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "DataSpec/DNACommon/DNACommon.hpp"
 | |
| #include "DataSpec/DNACommon/PAK.hpp"
 | |
| 
 | |
| namespace DataSpec::SAVWCommon {
 | |
| enum class EScanCategory { None, Data, Lore, Creature, Research, Artifact };
 | |
| 
 | |
| struct Header : BigDNA {
 | |
|   AT_DECL_DNA_YAML
 | |
|   Value<atUint32> magic;
 | |
|   Value<atUint32> version;
 | |
|   Value<atUint32> areaCount;
 | |
| };
 | |
| 
 | |
| struct EnvironmentVariable : BigDNA {
 | |
|   AT_DECL_DNA_YAML
 | |
|   String<-1> name;
 | |
|   Value<atUint32> unk1;
 | |
|   Value<atUint32> unk2;
 | |
|   Value<atUint32> unk3;
 | |
| };
 | |
| 
 | |
| struct Layer : BigDNA {
 | |
|   AT_DECL_DNA_YAML
 | |
|   Value<atUint32> areaId;
 | |
|   Value<atUint32> layer;
 | |
| };
 | |
| 
 | |
| template <class SAVW>
 | |
| static bool ExtractSAVW(PAKEntryReadStream& rs, const hecl::ProjectPath& outPath) {
 | |
|   SAVW savw;
 | |
|   savw.read(rs);
 | |
|   athena::io::FileWriter writer(outPath.getAbsolutePath());
 | |
|   athena::io::ToYAMLStream(savw, writer);
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| } // namespace DataSpec::SAVWCommon
 |