#pragma once #include "DataSpec/DNACommon/DNACommon.hpp" #include "DataSpec/DNACommon/PAK.hpp" namespace DataSpec::DNAMP3 { struct CAUD : BigDNA { AT_DECL_DNA_YAML DNAFourCC magic; Value version; String<-1> name; Value nameCount; Vector, AT_DNA_COUNT(nameCount)> names; Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5; struct CSMPInfo : BigDNA { AT_DECL_DNA_YAML Value dataLen; UniqueID64 csmpId; Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5; Value unknown6; Value unknown7; Value unknown8; Value unknown9; Value unknown10; Value unknown11; Value unknown12; Value unknown13; Value unknown14[8]; struct UnknownStruct1 : BigDNA { AT_DECL_DNA_YAML Value unknown1; Value unknown2; Value unknown3; Value unknown4; }; Value unknown15; Vector unknown16; struct UnknownStruct2 : BigDNA { AT_DECL_DNA_YAML Value unknown1; Vector unknown2; Value unknown3; Value unknown4; Value unknown5; struct UnknownPair : BigDNA { AT_DECL_DNA_YAML Value unknown1; Value unknown2; }; Value unknown6; Vector unknown7; struct UnknownQuad: BigDNA { AT_DECL_EXPLICIT_DNA_YAML Value unknown1; Value unknown2; Value unknown3; Value unknown4; Value unknown5[5]; }; Value unknown8; Vector unknown9; }; UnknownStruct2 unknown17[4]; Value unknown18; Value unknown19; Value unknown20; Value unknown21; Value unknown22; Value unknown23; Value unknown24; Value unknown25; Value unknown26; Value unknown27; Value unknown28; struct UnknownStruct3 : BigDNA { AT_DECL_DNA_YAML Value unknown1; Value unknown2; Value unknown3; Value unknown4; }; Vector unknown29; Value unknown30; Value unknown31; }; Value infoCount; Vector info; static bool Extract(PAKEntryReadStream& rs, const hecl::ProjectPath& outPath) { CAUD caud; caud.read(rs); athena::io::FileWriter writer(outPath.getAbsolutePath()); athena::io::ToYAMLStream(caud, writer); return true; } }; }