metaforce/DataSpec/DNAMP3/CAUD.hpp

74 lines
1.9 KiB
C++
Raw Permalink Normal View History

2018-10-07 03:42:33 +00:00
#pragma once
2016-08-31 08:32:43 +00:00
2018-06-29 20:21:36 +00:00
#include "DataSpec/DNACommon/DNACommon.hpp"
#include "DataSpec/DNACommon/MayaSpline.hpp"
2018-06-29 20:21:36 +00:00
#include "DataSpec/DNACommon/PAK.hpp"
2018-12-08 05:30:43 +00:00
namespace DataSpec::DNAMP3 {
2016-08-31 08:32:43 +00:00
2018-12-08 05:30:43 +00:00
struct CAUD : BigDNA {
AT_DECL_DNA_YAML
DNAFourCC magic;
Value<atUint32> version;
String<-1> name;
Value<atUint32> volumeGroupCount;
Vector<String<-1>, AT_DNA_COUNT(volumeGroupCount)> volumeGroups;
2018-12-08 05:30:43 +00:00
Value<float> unknown1;
Value<atUint32> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<atUint32> unknown5;
struct CSMPInfo : BigDNA {
2018-02-22 07:24:51 +00:00
AT_DECL_DNA_YAML
2018-12-08 05:30:43 +00:00
Value<atUint32> dataLen;
UniqueID64 csmpId;
2016-08-31 08:32:43 +00:00
Value<float> unknown1;
Value<atUint32> unknown2;
Value<float> unknown3;
2016-08-31 08:32:43 +00:00
Value<float> unknown4;
2018-12-08 05:30:43 +00:00
Value<float> unknown5;
Value<float> unknown6;
Value<atUint32> unknown7;
Value<atInt32> unknown8;
Value<atInt32> unknown9;
2018-12-08 05:30:43 +00:00
Value<atUint32> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<bool> unknown14;
Value<bool> unknown15;
Value<bool> unknown16;
Value<bool> unknown17;
Value<bool> unknown18;
Value<bool> unknown19;
MayaSpline spline1;
MayaSpline spline2;
MayaSpline spline3;
MayaSpline spline4;
Value<atUint32> unkStructCount;
struct UnknownStruct : BigDNA {
2018-12-08 05:30:43 +00:00
AT_DECL_DNA_YAML
Value<float> unknown1;
Value<float> unknown2;
2016-08-31 08:32:43 +00:00
};
Vector<UnknownStruct, AT_DNA_COUNT(unkStructCount)> unkStructs;
Value<atUint32> unknown20;
Value<float> unknown21;
Value<bool> unknown22;
Value<bool> unknown23;
MayaSpline spline5;
2018-12-08 05:30:43 +00:00
};
2016-08-31 08:32:43 +00:00
2018-12-08 05:30:43 +00:00
Value<atUint32> infoCount;
Vector<CSMPInfo, AT_DNA_COUNT(infoCount)> info;
2016-08-31 08:32:43 +00:00
2018-12-08 05:30:43 +00:00
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;
}
2016-08-31 08:32:43 +00:00
};
2018-12-08 05:30:43 +00:00
} // namespace DataSpec::DNAMP3