diff --git a/components/nif/extra.cpp b/components/nif/extra.cpp index 1cc5f68d43..0e93f1a0ce 100644 --- a/components/nif/extra.cpp +++ b/components/nif/extra.cpp @@ -138,4 +138,12 @@ namespace Nif mRotation = osg::Quat(rotX, osg::X_AXIS, rotY, osg::Y_AXIS, rotZ, osg::Z_AXIS); } + + void BSBehaviorGraphExtraData::read(NIFStream* nif) + { + Extra::read(nif); + mFile = nif->getString(); + mControlsBaseSkeleton = nif->getBoolean(); + } + } diff --git a/components/nif/extra.hpp b/components/nif/extra.hpp index f0120565c7..b59fb2f76a 100644 --- a/components/nif/extra.hpp +++ b/components/nif/extra.hpp @@ -154,5 +154,13 @@ namespace Nif void read(NIFStream* nif) override; }; + struct BSBehaviorGraphExtraData : public Extra + { + std::string mFile; + bool mControlsBaseSkeleton; + + void read(NIFStream* nif) override; + }; + } // Namespace #endif diff --git a/components/nif/niffile.cpp b/components/nif/niffile.cpp index d6cf1f47d6..bb117286e9 100644 --- a/components/nif/niffile.cpp +++ b/components/nif/niffile.cpp @@ -145,9 +145,13 @@ namespace Nif { "BSValueNode", &construct }, { "BSOrderedNode", &construct }, { "BSMultiBoundNode", &construct }, + { "BSRangeNode", &construct }, + { "BSBlastNode", &construct }, + { "BSDamageStage", &construct }, { "bhkBlendController", &construct }, { "NiFloatInterpolator", &construct }, { "NiBoolInterpolator", &construct }, + { "NiBoolTimelineInterpolator", &construct }, { "NiPoint3Interpolator", &construct }, { "NiTransformController", &construct }, { "NiMultiTargetTransformController", @@ -209,6 +213,9 @@ namespace Nif &construct }, { "BSEffectShaderPropertyColorController", &construct }, + { "BSLightingShaderPropertyColorController", + &construct }, + { "BSBehaviorGraphExtraData", &construct }, }; } diff --git a/components/nif/node.cpp b/components/nif/node.cpp index 91922c4e43..7e19c9d74f 100644 --- a/components/nif/node.cpp +++ b/components/nif/node.cpp @@ -497,4 +497,12 @@ namespace Nif nif->read(mAlphaSortBound); nif->read(mStaticBound); } + + void BSRangeNode::read(NIFStream* nif) + { + NiNode::read(nif); + nif->read(mMin); + nif->read(mMax); + nif->read(mCurrent); + } } diff --git a/components/nif/node.hpp b/components/nif/node.hpp index 801728c201..38ff36049c 100644 --- a/components/nif/node.hpp +++ b/components/nif/node.hpp @@ -392,5 +392,13 @@ namespace Nif void read(NIFStream* nif) override; }; + + struct BSRangeNode : NiNode + { + uint8_t mMin, mMax; + uint8_t mCurrent; + + void read(NIFStream* nif) override; + }; } // Namespace #endif diff --git a/components/nif/physics.cpp b/components/nif/physics.cpp index af4a573707..513639f5ac 100644 --- a/components/nif/physics.cpp +++ b/components/nif/physics.cpp @@ -234,7 +234,7 @@ namespace Nif void bhkConstraintMotorCInfo::read(NIFStream* nif) { - mType = static_cast(nif->get()); + mType = static_cast(nif->get()); switch (mType) { case hkMotorType::Motor_Position: diff --git a/components/nif/record.hpp b/components/nif/record.hpp index d881d9e66d..64879b9e16 100644 --- a/components/nif/record.hpp +++ b/components/nif/record.hpp @@ -121,6 +121,7 @@ namespace Nif RC_NiFloatInterpolator, RC_NiPoint3Interpolator, RC_NiBoolInterpolator, + RC_NiBoolTimelineInterpolator, RC_NiTransformInterpolator, RC_NiColorInterpolator, RC_BSShaderTextureSet, @@ -171,6 +172,8 @@ namespace Nif RC_BSEffectShaderPropertyFloatController, RC_BSEffectShaderPropertyColorController, RC_BSLightingShaderPropertyFloatController, + RC_BSLightingShaderPropertyColorController, + RC_BSBehaviorGraphExtraData, }; /// Base class for all records