mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-30 07:15:34 +00:00
Parse bhkPoseArray
This commit is contained in:
parent
695932d2db
commit
6e70893113
4 changed files with 41 additions and 0 deletions
|
@ -484,6 +484,9 @@ namespace Nif
|
|||
{ "bhkRagdollTemplate", &construct<bhkRagdollTemplate, RC_bhkRagdollTemplate> },
|
||||
{ "bhkRagdollTemplateData", &construct<bhkRagdollTemplateData, RC_bhkRagdollTemplateData> },
|
||||
|
||||
// Other records
|
||||
{ "bhkPoseArray", &construct<bhkPoseArray, RC_bhkPoseArray> },
|
||||
|
||||
// PROPERTIES
|
||||
|
||||
// 4.0.0.2
|
||||
|
|
|
@ -1013,4 +1013,23 @@ namespace Nif
|
|||
constraint.read(nif);
|
||||
}
|
||||
|
||||
void bhkPoseArray::BoneTransform::read(NIFStream* nif)
|
||||
{
|
||||
nif->read(mTranslation);
|
||||
nif->read(mRotation);
|
||||
nif->read(mScale);
|
||||
}
|
||||
|
||||
void bhkPoseArray::read(NIFStream* nif)
|
||||
{
|
||||
nif->readVector(mBones, nif->get<uint32_t>());
|
||||
mPoses.resize(nif->get<uint32_t>());
|
||||
for (std::vector<BoneTransform>& pose : mPoses)
|
||||
{
|
||||
pose.resize(nif->get<uint32_t>());
|
||||
for (BoneTransform& transform : pose)
|
||||
transform.read(nif);
|
||||
}
|
||||
}
|
||||
|
||||
} // Namespace
|
||||
|
|
|
@ -930,5 +930,23 @@ namespace Nif
|
|||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
struct bhkPoseArray : Record
|
||||
{
|
||||
struct BoneTransform
|
||||
{
|
||||
osg::Vec3f mTranslation;
|
||||
// FIXME: this and some other quaternions are meant to be read in direct order
|
||||
osg::Quat mRotation;
|
||||
osg::Vec3f mScale;
|
||||
|
||||
void read(NIFStream* nif);
|
||||
};
|
||||
|
||||
std::vector<std::string> mBones;
|
||||
std::vector<std::vector<BoneTransform>> mPoses;
|
||||
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
} // Namespace
|
||||
#endif
|
||||
|
|
|
@ -65,6 +65,7 @@ namespace Nif
|
|||
RC_bhkPackedNiTriStripsShape,
|
||||
RC_bhkPlaneShape,
|
||||
RC_bhkPhysicsSystem,
|
||||
RC_bhkPoseArray,
|
||||
RC_bhkPrismaticConstraint,
|
||||
RC_bhkRagdollConstraint,
|
||||
RC_bhkRagdollSystem,
|
||||
|
|
Loading…
Reference in a new issue