#pragma once #include "DNACommon.hpp" #include "PAK.hpp" namespace DataSpec::SAVWCommon { enum class EScanCategory { None, Data, Lore, Creature, Research, Artifact }; struct Header : BigDNA { AT_DECL_DNA_YAML Value magic; Value version; Value areaCount; }; struct EnvironmentVariable : BigDNA { AT_DECL_DNA_YAML String<-1> name; Value unk1; Value unk2; Value unk3; }; struct Layer : BigDNA { AT_DECL_DNA_YAML Value areaId; Value layer; }; template 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; } }