2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 18:24:55 +00:00

YAML RAII refactor

This commit is contained in:
Jack Andersen
2017-02-12 13:56:03 -10:00
parent 1b8baca988
commit 748e81ae6e
29 changed files with 1314 additions and 1842 deletions

View File

@@ -86,29 +86,30 @@ void ANCS::CharacterSet::CharacterInfo::PASDatabase::AnimState::ParmInfo::read(a
unk1 = reader.readUint32("unk1");
unk2 = reader.readFloat("unk2");
size_t parmValCount;
reader.enterSubVector("parmVals", parmValCount);
switch (DataType(parmType))
if (auto v = reader.enterSubVector("parmVals", parmValCount))
{
case DataType::Int32:
parmVals[0].int32 = reader.readInt32(nullptr);
parmVals[1].int32 = reader.readInt32(nullptr);
break;
case DataType::UInt32:
case DataType::Enum:
parmVals[0].uint32 = reader.readUint32(nullptr);
parmVals[1].uint32 = reader.readUint32(nullptr);
break;
case DataType::Float:
parmVals[0].float32 = reader.readFloat(nullptr);
parmVals[1].float32 = reader.readFloat(nullptr);
break;
case DataType::Bool:
parmVals[0].bool1 = reader.readBool(nullptr);
parmVals[1].bool1 = reader.readBool(nullptr);
break;
default: break;
switch (DataType(parmType))
{
case DataType::Int32:
parmVals[0].int32 = reader.readInt32(nullptr);
parmVals[1].int32 = reader.readInt32(nullptr);
break;
case DataType::UInt32:
case DataType::Enum:
parmVals[0].uint32 = reader.readUint32(nullptr);
parmVals[1].uint32 = reader.readUint32(nullptr);
break;
case DataType::Float:
parmVals[0].float32 = reader.readFloat(nullptr);
parmVals[1].float32 = reader.readFloat(nullptr);
break;
case DataType::Bool:
parmVals[0].bool1 = reader.readBool(nullptr);
parmVals[1].bool1 = reader.readBool(nullptr);
break;
default: break;
}
}
reader.leaveSubVector();
}
void ANCS::CharacterSet::CharacterInfo::PASDatabase::AnimState::ParmInfo::write(athena::io::YAMLDocWriter& writer) const
@@ -116,28 +117,29 @@ void ANCS::CharacterSet::CharacterInfo::PASDatabase::AnimState::ParmInfo::write(
writer.writeUint32("parmType", parmType);
writer.writeUint32("unk1", unk1);
writer.writeFloat("unk2", unk2);
writer.enterSubVector("parmVals");
switch (DataType(parmType))
if (auto v = writer.enterSubVector("parmVals"))
{
case DataType::Int32:
writer.writeInt32(nullptr, parmVals[0].int32);
writer.writeInt32(nullptr, parmVals[1].int32);
break;
case DataType::UInt32:
case DataType::Enum:
writer.writeUint32(nullptr, parmVals[0].uint32);
writer.writeUint32(nullptr, parmVals[0].uint32);
break;
case DataType::Float:
writer.writeFloat(nullptr, parmVals[0].float32);
writer.writeFloat(nullptr, parmVals[0].float32);
break;
case DataType::Bool:
writer.writeBool(nullptr, parmVals[0].bool1);
writer.writeBool(nullptr, parmVals[0].bool1);
break;
switch (DataType(parmType))
{
case DataType::Int32:
writer.writeInt32(nullptr, parmVals[0].int32);
writer.writeInt32(nullptr, parmVals[1].int32);
break;
case DataType::UInt32:
case DataType::Enum:
writer.writeUint32(nullptr, parmVals[0].uint32);
writer.writeUint32(nullptr, parmVals[0].uint32);
break;
case DataType::Float:
writer.writeFloat(nullptr, parmVals[0].float32);
writer.writeFloat(nullptr, parmVals[0].float32);
break;
case DataType::Bool:
writer.writeBool(nullptr, parmVals[0].bool1);
writer.writeBool(nullptr, parmVals[0].bool1);
break;
}
}
writer.leaveSubVector();
}
const char* ANCS::CharacterSet::CharacterInfo::PASDatabase::AnimState::ParmInfo::DNAType()
@@ -260,28 +262,29 @@ void ANCS::CharacterSet::CharacterInfo::PASDatabase::AnimState::read(athena::io:
ai.id = reader.readUint32("id");
ai.parmVals.reserve(parmInfoCount);
size_t parmValCount;
reader.enterSubVector("parmVals", parmValCount);
for (const ParmInfo& pi : parmInfos)
if (auto v = reader.enterSubVector("parms", parmValCount))
{
switch (ParmInfo::DataType(pi.parmType))
for (const ParmInfo& pi : parmInfos)
{
case ParmInfo::DataType::Int32:
ai.parmVals.emplace_back(reader.readInt32(nullptr));
break;
case ParmInfo::DataType::UInt32:
case ParmInfo::DataType::Enum:
ai.parmVals.emplace_back(reader.readUint32(nullptr));
break;
case ParmInfo::DataType::Float:
ai.parmVals.emplace_back(reader.readFloat(nullptr));
break;
case ParmInfo::DataType::Bool:
ai.parmVals.emplace_back(reader.readBool(nullptr));
break;
default: break;
switch (ParmInfo::DataType(pi.parmType))
{
case ParmInfo::DataType::Int32:
ai.parmVals.emplace_back(reader.readInt32(nullptr));
break;
case ParmInfo::DataType::UInt32:
case ParmInfo::DataType::Enum:
ai.parmVals.emplace_back(reader.readUint32(nullptr));
break;
case ParmInfo::DataType::Float:
ai.parmVals.emplace_back(reader.readFloat(nullptr));
break;
case ParmInfo::DataType::Bool:
ai.parmVals.emplace_back(reader.readBool(nullptr));
break;
default: break;
}
}
}
reader.leaveSubVector();
});
}
@@ -296,31 +299,32 @@ void ANCS::CharacterSet::CharacterInfo::PASDatabase::AnimState::write(athena::io
{
writer.writeUint32("id", ai.id);
auto it = ai.parmVals.begin();
writer.enterSubVector("parms");
for (const ParmInfo& pi : parmInfos)
if (auto v = writer.enterSubVector("parms"))
{
ParmInfo::Parm pVal;
if (it != ai.parmVals.end())
pVal = *it++;
switch (ParmInfo::DataType(pi.parmType))
for (const ParmInfo& pi : parmInfos)
{
case ParmInfo::DataType::Int32:
writer.writeInt32(nullptr, pVal.int32);
break;
case ParmInfo::DataType::UInt32:
case ParmInfo::DataType::Enum:
writer.writeUint32(nullptr, pVal.uint32);
break;
case ParmInfo::DataType::Float:
writer.writeFloat(nullptr, pVal.float32);
break;
case ParmInfo::DataType::Bool:
writer.writeBool(nullptr, pVal.bool1);
break;
default: break;
ParmInfo::Parm pVal;
if (it != ai.parmVals.end())
pVal = *it++;
switch (ParmInfo::DataType(pi.parmType))
{
case ParmInfo::DataType::Int32:
writer.writeInt32(nullptr, pVal.int32);
break;
case ParmInfo::DataType::UInt32:
case ParmInfo::DataType::Enum:
writer.writeUint32(nullptr, pVal.uint32);
break;
case ParmInfo::DataType::Float:
writer.writeFloat(nullptr, pVal.float32);
break;
case ParmInfo::DataType::Bool:
writer.writeBool(nullptr, pVal.bool1);
break;
default: break;
}
}
}
writer.leaveSubVector();
});
}

View File

@@ -499,12 +499,13 @@ struct ANCS : BigYAML
{
out.clear();
for (const AnimationSet::Animation& ai : animationSet.animations)
ai.metaAnim.m_anim->gatherPrimitives(out);
if (AnimationSet::IMetaAnim* anim = ai.metaAnim.m_anim.get())
anim->gatherPrimitives(out);
for (const AnimationSet::Transition& ti : animationSet.transitions)
if (ti.metaTrans.m_trans)
ti.metaTrans.m_trans->gatherPrimitives(out);
if (animationSet.defaultTransition.m_trans)
animationSet.defaultTransition.m_trans->gatherPrimitives(out);
if (AnimationSet::IMetaTrans* trans = ti.metaTrans.m_trans.get())
trans->gatherPrimitives(out);
if (AnimationSet::IMetaTrans* trans = animationSet.defaultTransition.m_trans.get())
trans->gatherPrimitives(out);
for (auto& anim : out)
{
for (const AnimationSet::AnimationResources& res : animationSet.animResources)
@@ -521,10 +522,13 @@ struct ANCS : BigYAML
void enumeratePrimitives(const std::function<bool(AnimationSet::MetaAnimPrimitive& prim)>& func)
{
for (const AnimationSet::Animation& ai : animationSet.animations)
ai.metaAnim.m_anim->enumeratePrimitives(func);
if (AnimationSet::IMetaAnim* anim = ai.metaAnim.m_anim.get())
anim->enumeratePrimitives(func);
for (const AnimationSet::Transition& ti : animationSet.transitions)
ti.metaTrans.m_trans->enumeratePrimitives(func);
animationSet.defaultTransition.m_trans->enumeratePrimitives(func);
if (AnimationSet::IMetaTrans* trans = ti.metaTrans.m_trans.get())
trans->enumeratePrimitives(func);
if (AnimationSet::IMetaTrans* trans = animationSet.defaultTransition.m_trans.get())
trans->enumeratePrimitives(func);
}
static bool Extract(const SpecBase& dataSpec,

View File

@@ -18,9 +18,8 @@ bool CSNG::Extract(PAKEntryReadStream& rs, const hecl::ProjectPath& outPath)
athena::io::YAMLDocWriter dw("CSNG");
dw.writeUint32("midiSetupId", head.midiSetupId);
dw.writeUint32("songGroupId", head.songGroupId);
dw.enterSubRecord("agscId");
head.agscId.write(dw);
dw.leaveSubRecord();
if (auto rec = dw.enterSubRecord("agscId"))
head.agscId.write(dw);
athena::io::FileWriter w(yamlPath.getAbsolutePath());
if (w.hasError())
@@ -76,9 +75,8 @@ bool CSNG::Cook(const hecl::ProjectPath& inPath, const hecl::ProjectPath& outPat
Header head;
head.midiSetupId = dr.readUint32("midiSetupId");
head.songGroupId = dr.readUint32("songGroupId");
dr.enterSubRecord("agscId");
head.agscId.read(dr);
dr.leaveSubRecord();
if (auto rec = dr.enterSubRecord("agscId"))
head.agscId.read(dr);
head.sngLength = sngData.size();
head.write(w);
}

View File

@@ -143,30 +143,29 @@ void SCLY::ScriptLayer::read(athena::io::YAMLDocReader& rs)
unknown = rs.readUByte("unknown");
size_t objCount;
objects.clear();
if (rs.enterSubVector("objects", objCount))
if (auto v = rs.enterSubVector("objects", objCount))
{
objectCount = objCount;
objects.reserve(objCount);
for (atUint32 i = 0; i < objectCount; i++)
{
rs.enterSubRecord(nullptr);
atUint8 type = rs.readUByte("type");
auto iter = std::find_if(SCRIPT_OBJECT_DB.begin(), SCRIPT_OBJECT_DB.end(), [&type](const ScriptObjectSpec* obj) -> bool
{ return obj->type == type; });
if (iter != SCRIPT_OBJECT_DB.end())
if (auto rec = rs.enterSubRecord(nullptr))
{
std::unique_ptr<IScriptObject> obj((*iter)->a());
obj->read(rs);
obj->type = type;
objects.push_back(std::move(obj));
}
else
Log.report(logvisor::Fatal, _S("Unable to find type 0x%X in object database"), (atUint32)type);
atUint8 type = rs.readUByte("type");
auto iter = std::find_if(SCRIPT_OBJECT_DB.begin(), SCRIPT_OBJECT_DB.end(), [&type](const ScriptObjectSpec* obj) -> bool
{ return obj->type == type; });
rs.leaveSubRecord();
if (iter != SCRIPT_OBJECT_DB.end())
{
std::unique_ptr<IScriptObject> obj((*iter)->a());
obj->read(rs);
obj->type = type;
objects.push_back(std::move(obj));
}
else
Log.report(logvisor::Fatal, _S("Unable to find type 0x%X in object database"), (atUint32)type);
}
}
rs.leaveSubVector();
}
else
objectCount = 0;
@@ -203,15 +202,17 @@ size_t SCLY::ScriptLayer::binarySize(size_t __isz) const
void SCLY::ScriptLayer::write(athena::io::YAMLDocWriter& ws) const
{
ws.writeUByte("unknown", unknown);
ws.enterSubVector("objects");
for (const std::unique_ptr<IScriptObject>& obj : objects)
if (auto v = ws.enterSubVector("objects"))
{
ws.enterSubRecord(nullptr);
ws.writeUByte("type", obj->type);
obj->write(ws);
ws.leaveSubRecord();
};
ws.leaveSubVector();
for (const std::unique_ptr<IScriptObject>& obj : objects)
{
if (auto rec = ws.enterSubRecord(nullptr))
{
ws.writeUByte("type", obj->type);
obj->write(ws);
}
}
}
}
const char* SCLY::ScriptLayer::DNAType()

View File

@@ -562,10 +562,9 @@ void STRG::write(athena::io::YAMLDocWriter& writer) const
{
for (const auto& lang : langs)
{
writer.enterSubVector(lang.first.toString().c_str());
for (const std::u16string& str : lang.second)
writer.writeU16String(nullptr, str);
writer.leaveSubVector();
if (auto v = writer.enterSubVector(lang.first.toString().c_str()))
for (const std::u16string& str : lang.second)
writer.writeU16String(nullptr, str);
}
}

View File

@@ -449,7 +449,8 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
{
/* x4_ */
size_t __x4_Count;
__dna_docin.enterSubVector("x4_", __x4_Count);
if (auto v = __dna_docin.enterSubVector("x4_", __x4_Count))
{
/* x4_[0] */
x4_[0] = __dna_docin.readFloat("x4_");
/* x4_[1] */
@@ -466,11 +467,11 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
x4_[6] = __dna_docin.readFloat("x4_");
/* x4_[7] */
x4_[7] = __dna_docin.readFloat("x4_");
/* */
__dna_docin.leaveSubVector();
}
/* x24_ */
size_t __x24_Count;
__dna_docin.enterSubVector("x24_", __x24_Count);
if (auto v = __dna_docin.enterSubVector("x24_", __x24_Count))
{
/* x24_[0] */
x24_[0] = __dna_docin.readFloat("x24_");
/* x24_[1] */
@@ -487,11 +488,11 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
x24_[6] = __dna_docin.readFloat("x24_");
/* x24_[7] */
x24_[7] = __dna_docin.readFloat("x24_");
/* */
__dna_docin.leaveSubVector();
}
/* x44_ */
size_t __x44_Count;
__dna_docin.enterSubVector("x44_", __x44_Count);
if (auto v = __dna_docin.enterSubVector("x44_", __x44_Count))
{
/* x44_[0] */
x44_[0] = __dna_docin.readFloat("x44_");
/* x44_[1] */
@@ -508,8 +509,7 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
x44_[6] = __dna_docin.readFloat("x44_");
/* x44_[7] */
x44_[7] = __dna_docin.readFloat("x44_");
/* */
__dna_docin.leaveSubVector();
}
/* x64_ */
x64_ = __dna_docin.readFloat("x64_");
/* x68_ */
@@ -520,7 +520,8 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
x70_ = __dna_docin.readFloat("x70_");
/* xc4_ */
size_t __xc4_Count;
__dna_docin.enterSubVector("xc4_", __xc4_Count);
if (auto v = __dna_docin.enterSubVector("xc4_", __xc4_Count))
{
/* xc4_[0] */
xc4_[0] = __dna_docin.readFloat("xc4_");
/* xc4_[1] */
@@ -537,8 +538,7 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
xc4_[6] = __dna_docin.readFloat("xc4_");
/* xc4_[7] */
xc4_[7] = __dna_docin.readFloat("xc4_");
/* */
__dna_docin.leaveSubVector();
}
/* xe4_ */
xe4_ = __dna_docin.readFloat("xe4_");
/* xe8_ */
@@ -688,7 +688,8 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
{
/* x4_ */
__dna_docout.enterSubVector("x4_");
if (auto v = __dna_docout.enterSubVector("x4_"))
{
/* x4_[0] */
__dna_docout.writeFloat("x4_", x4_[0]);
/* x4_[1] */
@@ -705,10 +706,10 @@ void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x4_", x4_[6]);
/* x4_[7] */
__dna_docout.writeFloat("x4_", x4_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x24_ */
__dna_docout.enterSubVector("x24_");
if (auto v = __dna_docout.enterSubVector("x24_"))
{
/* x24_[0] */
__dna_docout.writeFloat("x24_", x24_[0]);
/* x24_[1] */
@@ -725,10 +726,10 @@ void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x24_", x24_[6]);
/* x24_[7] */
__dna_docout.writeFloat("x24_", x24_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x44_ */
__dna_docout.enterSubVector("x44_");
if (auto v = __dna_docout.enterSubVector("x44_"))
{
/* x44_[0] */
__dna_docout.writeFloat("x44_", x44_[0]);
/* x44_[1] */
@@ -745,8 +746,7 @@ void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("x44_", x44_[6]);
/* x44_[7] */
__dna_docout.writeFloat("x44_", x44_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x64_ */
__dna_docout.writeFloat("x64_", x64_);
/* x68_ */
@@ -756,7 +756,8 @@ void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
/* x70_ */
__dna_docout.writeFloat("x70_", x70_);
/* xc4_ */
__dna_docout.enterSubVector("xc4_");
if (auto v = __dna_docout.enterSubVector("xc4_"))
{
/* xc4_[0] */
__dna_docout.writeFloat("xc4_", xc4_[0]);
/* xc4_[1] */
@@ -773,8 +774,7 @@ void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
__dna_docout.writeFloat("xc4_", xc4_[6]);
/* xc4_[7] */
__dna_docout.writeFloat("xc4_", xc4_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* xe4_ */
__dna_docout.writeFloat("xe4_", xe4_);
/* xe8_ */

View File

@@ -889,7 +889,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
{
/* x4_ */
size_t __x4_Count;
__dna_docin.enterSubVector("x4_", __x4_Count);
if (auto v = __dna_docin.enterSubVector("x4_", __x4_Count))
{
/* x4_[0] */
x4_[0] = __dna_docin.readFloat("x4_");
/* x4_[1] */
@@ -906,11 +907,11 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x4_[6] = __dna_docin.readFloat("x4_");
/* x4_[7] */
x4_[7] = __dna_docin.readFloat("x4_");
/* */
__dna_docin.leaveSubVector();
}
/* x24_ */
size_t __x24_Count;
__dna_docin.enterSubVector("x24_", __x24_Count);
if (auto v = __dna_docin.enterSubVector("x24_", __x24_Count))
{
/* x24_[0] */
x24_[0] = __dna_docin.readFloat("x24_");
/* x24_[1] */
@@ -927,11 +928,11 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x24_[6] = __dna_docin.readFloat("x24_");
/* x24_[7] */
x24_[7] = __dna_docin.readFloat("x24_");
/* */
__dna_docin.leaveSubVector();
}
/* x44_ */
size_t __x44_Count;
__dna_docin.enterSubVector("x44_", __x44_Count);
if (auto v = __dna_docin.enterSubVector("x44_", __x44_Count))
{
/* x44_[0] */
x44_[0] = __dna_docin.readFloat("x44_");
/* x44_[1] */
@@ -948,11 +949,11 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x44_[6] = __dna_docin.readFloat("x44_");
/* x44_[7] */
x44_[7] = __dna_docin.readFloat("x44_");
/* */
__dna_docin.leaveSubVector();
}
/* x64_ */
size_t __x64_Count;
__dna_docin.enterSubVector("x64_", __x64_Count);
if (auto v = __dna_docin.enterSubVector("x64_", __x64_Count))
{
/* x64_[0] */
x64_[0] = __dna_docin.readFloat("x64_");
/* x64_[1] */
@@ -969,11 +970,11 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x64_[6] = __dna_docin.readFloat("x64_");
/* x64_[7] */
x64_[7] = __dna_docin.readFloat("x64_");
/* */
__dna_docin.leaveSubVector();
}
/* x84_ */
size_t __x84_Count;
__dna_docin.enterSubVector("x84_", __x84_Count);
if (auto v = __dna_docin.enterSubVector("x84_", __x84_Count))
{
/* x84_[0] */
x84_[0] = __dna_docin.readFloat("x84_");
/* x84_[1] */
@@ -990,11 +991,11 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x84_[6] = __dna_docin.readFloat("x84_");
/* x84_[7] */
x84_[7] = __dna_docin.readFloat("x84_");
/* */
__dna_docin.leaveSubVector();
}
/* xa4_ */
size_t __xa4_Count;
__dna_docin.enterSubVector("xa4_", __xa4_Count);
if (auto v = __dna_docin.enterSubVector("xa4_", __xa4_Count))
{
/* xa4_[0] */
xa4_[0] = __dna_docin.readFloat("xa4_");
/* xa4_[1] */
@@ -1011,8 +1012,7 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
xa4_[6] = __dna_docin.readFloat("xa4_");
/* xa4_[7] */
xa4_[7] = __dna_docin.readFloat("xa4_");
/* */
__dna_docin.leaveSubVector();
}
/* xc4_ */
xc4_ = __dna_docin.readFloat("xc4_");
/* xc8_ */
@@ -1163,37 +1163,37 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x268_ = __dna_docin.readFloat("x268_");
/* x158_ */
size_t __x158_Count;
__dna_docin.enterSubVector("x158_", __x158_Count);
if (auto v = __dna_docin.enterSubVector("x158_", __x158_Count))
{
/* x158_[0] */
x158_[0] = __dna_docin.readFloat("x158_");
/* x158_[1] */
x158_[1] = __dna_docin.readFloat("x158_");
/* x158_[2] */
x158_[2] = __dna_docin.readFloat("x158_");
/* */
__dna_docin.leaveSubVector();
}
/* x164_ */
size_t __x164_Count;
__dna_docin.enterSubVector("x164_", __x164_Count);
if (auto v = __dna_docin.enterSubVector("x164_", __x164_Count))
{
/* x164_[0] */
x164_[0] = __dna_docin.readFloat("x164_");
/* x164_[1] */
x164_[1] = __dna_docin.readFloat("x164_");
/* x164_[2] */
x164_[2] = __dna_docin.readFloat("x164_");
/* */
__dna_docin.leaveSubVector();
}
/* x170_ */
size_t __x170_Count;
__dna_docin.enterSubVector("x170_", __x170_Count);
if (auto v = __dna_docin.enterSubVector("x170_", __x170_Count))
{
/* x170_[0] */
x170_[0] = __dna_docin.readFloat("x170_");
/* x170_[1] */
x170_[1] = __dna_docin.readFloat("x170_");
/* x170_[2] */
x170_[2] = __dna_docin.readFloat("x170_");
/* */
__dna_docin.leaveSubVector();
}
/* x17c_ */
x17c_ = __dna_docin.readFloat("x17c_");
/* x180_ */
@@ -1218,58 +1218,58 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
x1a4_ = __dna_docin.readFloat("x1a4_");
/* x1a8_ */
size_t __x1a8_Count;
__dna_docin.enterSubVector("x1a8_", __x1a8_Count);
if (auto v = __dna_docin.enterSubVector("x1a8_", __x1a8_Count))
{
/* x1a8_[0] */
x1a8_[0] = __dna_docin.readUint32("x1a8_");
/* x1a8_[1] */
x1a8_[1] = __dna_docin.readUint32("x1a8_");
/* */
__dna_docin.leaveSubVector();
}
/* x1b0_ */
size_t __x1b0_Count;
__dna_docin.enterSubVector("x1b0_", __x1b0_Count);
if (auto v = __dna_docin.enterSubVector("x1b0_", __x1b0_Count))
{
/* x1b0_[0] */
x1b0_[0] = __dna_docin.readUint32("x1b0_");
/* x1b0_[1] */
x1b0_[1] = __dna_docin.readUint32("x1b0_");
/* */
__dna_docin.leaveSubVector();
}
/* x1b8_ */
size_t __x1b8_Count;
__dna_docin.enterSubVector("x1b8_", __x1b8_Count);
if (auto v = __dna_docin.enterSubVector("x1b8_", __x1b8_Count))
{
/* x1b8_[0] */
x1b8_[0] = __dna_docin.readUint32("x1b8_");
/* x1b8_[1] */
x1b8_[1] = __dna_docin.readUint32("x1b8_");
/* */
__dna_docin.leaveSubVector();
}
/* x1c0_ */
size_t __x1c0_Count;
__dna_docin.enterSubVector("x1c0_", __x1c0_Count);
if (auto v = __dna_docin.enterSubVector("x1c0_", __x1c0_Count))
{
/* x1c0_[0] */
x1c0_[0] = __dna_docin.readUint32("x1c0_");
/* x1c0_[1] */
x1c0_[1] = __dna_docin.readUint32("x1c0_");
/* */
__dna_docin.leaveSubVector();
}
/* x1c8_ */
size_t __x1c8_Count;
__dna_docin.enterSubVector("x1c8_", __x1c8_Count);
if (auto v = __dna_docin.enterSubVector("x1c8_", __x1c8_Count))
{
/* x1c8_[0] */
x1c8_[0] = __dna_docin.readUint32("x1c8_");
/* x1c8_[1] */
x1c8_[1] = __dna_docin.readUint32("x1c8_");
/* */
__dna_docin.leaveSubVector();
}
/* x1d0_ */
size_t __x1d0_Count;
__dna_docin.enterSubVector("x1d0_", __x1d0_Count);
if (auto v = __dna_docin.enterSubVector("x1d0_", __x1d0_Count))
{
/* x1d0_[0] */
x1d0_[0] = __dna_docin.readUint32("x1d0_");
/* x1d0_[1] */
x1d0_[1] = __dna_docin.readUint32("x1d0_");
/* */
__dna_docin.leaveSubVector();
}
/* x1d8_ */
x1d8_ = __dna_docin.readFloat("x1d8_");
/* x1dc_ */
@@ -1403,7 +1403,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
{
/* x4_ */
__dna_docout.enterSubVector("x4_");
if (auto v = __dna_docout.enterSubVector("x4_"))
{
/* x4_[0] */
__dna_docout.writeFloat("x4_", x4_[0]);
/* x4_[1] */
@@ -1420,10 +1421,10 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
__dna_docout.writeFloat("x4_", x4_[6]);
/* x4_[7] */
__dna_docout.writeFloat("x4_", x4_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x24_ */
__dna_docout.enterSubVector("x24_");
if (auto v = __dna_docout.enterSubVector("x24_"))
{
/* x24_[0] */
__dna_docout.writeFloat("x24_", x24_[0]);
/* x24_[1] */
@@ -1440,10 +1441,10 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
__dna_docout.writeFloat("x24_", x24_[6]);
/* x24_[7] */
__dna_docout.writeFloat("x24_", x24_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x44_ */
__dna_docout.enterSubVector("x44_");
if (auto v = __dna_docout.enterSubVector("x44_"))
{
/* x44_[0] */
__dna_docout.writeFloat("x44_", x44_[0]);
/* x44_[1] */
@@ -1460,10 +1461,10 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
__dna_docout.writeFloat("x44_", x44_[6]);
/* x44_[7] */
__dna_docout.writeFloat("x44_", x44_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x64_ */
__dna_docout.enterSubVector("x64_");
if (auto v = __dna_docout.enterSubVector("x64_"))
{
/* x64_[0] */
__dna_docout.writeFloat("x64_", x64_[0]);
/* x64_[1] */
@@ -1480,10 +1481,10 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
__dna_docout.writeFloat("x64_", x64_[6]);
/* x64_[7] */
__dna_docout.writeFloat("x64_", x64_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* x84_ */
__dna_docout.enterSubVector("x84_");
if (auto v = __dna_docout.enterSubVector("x84_"))
{
/* x84_[0] */
__dna_docout.writeFloat("x84_", x84_[0]);
/* x84_[1] */
@@ -1500,10 +1501,10 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
__dna_docout.writeFloat("x84_", x84_[6]);
/* x84_[7] */
__dna_docout.writeFloat("x84_", x84_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* xa4_ */
__dna_docout.enterSubVector("xa4_");
if (auto v = __dna_docout.enterSubVector("xa4_"))
{
/* xa4_[0] */
__dna_docout.writeFloat("xa4_", xa4_[0]);
/* xa4_[1] */
@@ -1520,8 +1521,7 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
__dna_docout.writeFloat("xa4_", xa4_[6]);
/* xa4_[7] */
__dna_docout.writeFloat("xa4_", xa4_[7]);
/* */
__dna_docout.leaveSubVector();
}
/* xc4_ */
__dna_docout.writeFloat("xc4_", xc4_);
/* xc8_ */
@@ -1671,35 +1671,35 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
/* x268_ */
__dna_docout.writeFloat("x268_", x268_);
/* x158_ */
__dna_docout.enterSubVector("x158_");
if (auto v = __dna_docout.enterSubVector("x158_"))
{
/* x158_[0] */
__dna_docout.writeFloat("x158_", x158_[0]);
/* x158_[1] */
__dna_docout.writeFloat("x158_", x158_[1]);
/* x158_[2] */
__dna_docout.writeFloat("x158_", x158_[2]);
/* */
__dna_docout.leaveSubVector();
}
/* x164_ */
__dna_docout.enterSubVector("x164_");
if (auto v = __dna_docout.enterSubVector("x164_"))
{
/* x164_[0] */
__dna_docout.writeFloat("x164_", x164_[0]);
/* x164_[1] */
__dna_docout.writeFloat("x164_", x164_[1]);
/* x164_[2] */
__dna_docout.writeFloat("x164_", x164_[2]);
/* */
__dna_docout.leaveSubVector();
}
/* x170_ */
__dna_docout.enterSubVector("x170_");
if (auto v = __dna_docout.enterSubVector("x170_"))
{
/* x170_[0] */
__dna_docout.writeFloat("x170_", x170_[0]);
/* x170_[1] */
__dna_docout.writeFloat("x170_", x170_[1]);
/* x170_[2] */
__dna_docout.writeFloat("x170_", x170_[2]);
/* */
__dna_docout.leaveSubVector();
}
/* x17c_ */
__dna_docout.writeFloat("x17c_", x17c_);
/* x180_ */
@@ -1723,53 +1723,53 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
/* x1a4_ */
__dna_docout.writeFloat("x1a4_", x1a4_);
/* x1a8_ */
__dna_docout.enterSubVector("x1a8_");
if (auto v = __dna_docout.enterSubVector("x1a8_"))
{
/* x1a8_[0] */
__dna_docout.writeUint32("x1a8_", x1a8_[0]);
/* x1a8_[1] */
__dna_docout.writeUint32("x1a8_", x1a8_[1]);
/* */
__dna_docout.leaveSubVector();
}
/* x1b0_ */
__dna_docout.enterSubVector("x1b0_");
if (auto v = __dna_docout.enterSubVector("x1b0_"))
{
/* x1b0_[0] */
__dna_docout.writeUint32("x1b0_", x1b0_[0]);
/* x1b0_[1] */
__dna_docout.writeUint32("x1b0_", x1b0_[1]);
/* */
__dna_docout.leaveSubVector();
}
/* x1b8_ */
__dna_docout.enterSubVector("x1b8_");
if (auto v = __dna_docout.enterSubVector("x1b8_"))
{
/* x1b8_[0] */
__dna_docout.writeUint32("x1b8_", x1b8_[0]);
/* x1b8_[1] */
__dna_docout.writeUint32("x1b8_", x1b8_[1]);
/* */
__dna_docout.leaveSubVector();
}
/* x1c0_ */
__dna_docout.enterSubVector("x1c0_");
if (auto v = __dna_docout.enterSubVector("x1c0_"))
{
/* x1c0_[0] */
__dna_docout.writeUint32("x1c0_", x1c0_[0]);
/* x1c0_[1] */
__dna_docout.writeUint32("x1c0_", x1c0_[1]);
/* */
__dna_docout.leaveSubVector();
}
/* x1c8_ */
__dna_docout.enterSubVector("x1c8_");
if (auto v = __dna_docout.enterSubVector("x1c8_"))
{
/* x1c8_[0] */
__dna_docout.writeUint32("x1c8_", x1c8_[0]);
/* x1c8_[1] */
__dna_docout.writeUint32("x1c8_", x1c8_[1]);
/* */
__dna_docout.leaveSubVector();
}
/* x1d0_ */
__dna_docout.enterSubVector("x1d0_");
if (auto v = __dna_docout.enterSubVector("x1d0_"))
{
/* x1d0_[0] */
__dna_docout.writeUint32("x1d0_", x1d0_[0]);
/* x1d0_[1] */
__dna_docout.writeUint32("x1d0_", x1d0_[1]);
/* */
__dna_docout.leaveSubVector();
}
/* x1d8_ */
__dna_docout.writeFloat("x1d8_", x1d8_);
/* x1dc_ */