Finish bhkPhantom hierarchy, read bhkAabbPhantom

macos_ci_fix
Alexei Kotov 1 year ago
parent e22654baa7
commit a18601d6e0

@ -429,10 +429,13 @@ namespace Nif
{ "bhkPackedNiTriStripsShape", &construct<bhkPackedNiTriStripsShape, RC_bhkPackedNiTriStripsShape> },
{ "hkPackedNiTriStripsData", &construct<hkPackedNiTriStripsData, RC_hkPackedNiTriStripsData> },
{ "bhkPlaneShape", &construct<bhkPlaneShape, RC_bhkPlaneShape> },
{ "bhkSimpleShapePhantom", &construct<bhkSimpleShapePhantom, RC_bhkSimpleShapePhantom> },
{ "bhkSphereShape", &construct<bhkSphereShape, RC_bhkSphereShape> },
{ "bhkTransformShape", &construct<bhkConvexTransformShape, RC_bhkConvexTransformShape> },
// Phantom records, Bethesda
{ "bhkAabbPhantom", &construct<bhkAabbPhantom, RC_bhkAabbPhantom> },
{ "bhkSimpleShapePhantom", &construct<bhkSimpleShapePhantom, RC_bhkSimpleShapePhantom> },
// Physics system records, Bethesda
{ "bhkPhysicsSystem", &construct<bhkPhysicsSystem, RC_bhkPhysicsSystem> },
{ "bhkRagdollSystem", &construct<bhkRagdollSystem, RC_bhkRagdollSystem> },

@ -846,9 +846,18 @@ namespace Nif
mBodyFlags = nif->get<uint16_t>();
}
void bhkAabbPhantom::read(NIFStream* nif)
{
bhkPhantom::read(nif);
nif->skip(8); // Unused
nif->read(mAabbMin);
nif->read(mAabbMax);
}
void bhkSimpleShapePhantom::read(NIFStream* nif)
{
bhkWorldObject::read(nif);
bhkShapePhantom::read(nif);
nif->skip(8); // Unused
std::array<float, 16> mat;

@ -769,7 +769,26 @@ namespace Nif
void read(NIFStream* nif) override;
};
struct bhkSimpleShapePhantom : public bhkWorldObject
// Abstract non-physical object that receives collision events
struct bhkPhantom : bhkWorldObject
{
};
// A Phantom with an AABB
struct bhkAabbPhantom : bhkPhantom
{
osg::Vec4f mAabbMin, mAabbMax;
void read(NIFStream* nif) override;
};
// Abstract Phantom with a collision shape
struct bhkShapePhantom : bhkPhantom
{
};
// A ShapePhantom with a transformation
struct bhkSimpleShapePhantom : bhkShapePhantom
{
osg::Matrixf mTransform;

@ -36,6 +36,7 @@ namespace Nif
{
RC_MISSING = 0,
RC_AvoidNode,
RC_bhkAabbPhantom,
RC_bhkBallAndSocketConstraint,
RC_bhkBallSocketConstraintChain,
RC_bhkBlendCollisionObject,

Loading…
Cancel
Save