Read all Bethesda Havok Action records

macos_ci_fix
Alexei Kotov 1 year ago
parent a18601d6e0
commit 67e24a0ffe

@ -440,6 +440,10 @@ namespace Nif
{ "bhkPhysicsSystem", &construct<bhkPhysicsSystem, RC_bhkPhysicsSystem> },
{ "bhkRagdollSystem", &construct<bhkRagdollSystem, RC_bhkRagdollSystem> },
// Action records
{ "bhkLiquidAction", &construct<bhkLiquidAction, RC_bhkLiquidAction> },
{ "bhkOrientHingedBodyAction", &construct<bhkOrientHingedBodyAction, RC_bhkOrientHingedBodyAction> },
// PROPERTIES
// 4.0.0.2

@ -954,4 +954,36 @@ namespace Nif
nif->read(mRemoveWhenBroken);
}
void bhkUnaryAction::read(NIFStream* nif)
{
mEntity.read(nif);
nif->skip(8); // Unused
}
void bhkUnaryAction::post(Reader& nif)
{
mEntity.post(nif);
}
void bhkLiquidAction::read(NIFStream* nif)
{
nif->skip(12); // Unused
nif->read(mInitialStickForce);
nif->read(mStickStrength);
nif->read(mNeighborDistance);
nif->read(mNeighborStrength);
}
void bhkOrientHingedBodyAction::read(NIFStream* nif)
{
bhkUnaryAction::read(nif);
nif->skip(8); // Unused
nif->read(mHingeAxisLS);
nif->read(mForwardLS);
nif->read(mStrength);
nif->read(mDamping);
nif->skip(8); // Unused
}
} // Namespace

@ -875,5 +875,38 @@ namespace Nif
void read(NIFStream* nif) override;
};
// Abstract action applied during the simulation
struct bhkAction : bhkSerializable
{
};
struct bhkUnaryAction : bhkAction
{
bhkRigidBodyPtr mEntity;
void read(NIFStream* nif) override;
void post(Reader& nif) override;
};
struct bhkLiquidAction : bhkAction
{
float mInitialStickForce;
float mStickStrength;
float mNeighborDistance;
float mNeighborStrength;
void read(NIFStream* nif) override;
};
struct bhkOrientHingedBodyAction : bhkUnaryAction
{
osg::Vec4f mHingeAxisLS;
osg::Vec4f mForwardLS;
float mStrength;
float mDamping;
void read(NIFStream* nif) override;
};
} // Namespace
#endif

@ -54,12 +54,14 @@ namespace Nif
RC_bhkConvexVerticesShape,
RC_bhkHingeConstraint,
RC_bhkLimitedHingeConstraint,
RC_bhkLiquidAction,
RC_bhkListShape,
RC_bhkMalleableConstraint,
RC_bhkMeshShape,
RC_bhkMoppBvTreeShape,
RC_bhkMultiSphereShape,
RC_bhkNiTriStripsShape,
RC_bhkOrientHingedBodyAction,
RC_bhkPackedNiTriStripsShape,
RC_bhkPlaneShape,
RC_bhkPhysicsSystem,

Loading…
Cancel
Save