#pragma once #include "DataSpec/DNACommon/DNACommon.hpp" #include "DataSpec/DNACommon/MayaSpline.hpp" #include "DataSpec/DNACommon/PAK.hpp" namespace DataSpec::DNAMP3 { struct CAUD : BigDNA { AT_DECL_DNA_YAML DNAFourCC magic; Value version; String<-1> name; Value volumeGroupCount; Vector, AT_DNA_COUNT(volumeGroupCount)> volumeGroups; 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; Value unknown15; Value unknown16; Value unknown17; Value unknown18; Value unknown19; MayaSpline spline1; MayaSpline spline2; MayaSpline spline3; MayaSpline spline4; Value unkStructCount; struct UnknownStruct : BigDNA { AT_DECL_DNA_YAML Value unknown1; Value unknown2; }; Vector unkStructs; Value unknown20; Value unknown21; Value unknown22; Value unknown23; MayaSpline spline5; }; 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; } }; } // namespace DataSpec::DNAMP3