diff --git a/components/nif/controller.cpp b/components/nif/controller.cpp index 07699239e..1f1dd01c1 100644 --- a/components/nif/controller.cpp +++ b/components/nif/controller.cpp @@ -228,4 +228,10 @@ namespace Nif mSources.post(nif); } + void bhkBlendController::read(NIFStream *nif) + { + Controller::read(nif); + nif->getUInt(); // Zero + } + } diff --git a/components/nif/controller.hpp b/components/nif/controller.hpp index 54cf9bf8f..ac6783b8d 100644 --- a/components/nif/controller.hpp +++ b/components/nif/controller.hpp @@ -183,5 +183,10 @@ public: void post(NIFFile *nif) override; }; +struct bhkBlendController : public Controller +{ + void read(NIFStream *nif) override; +}; + } // Namespace #endif diff --git a/components/nif/extra.cpp b/components/nif/extra.cpp index d08e5d738..eeaf9d3ac 100644 --- a/components/nif/extra.cpp +++ b/components/nif/extra.cpp @@ -80,5 +80,11 @@ void NiFloatsExtraData::read(NIFStream *nif) nif->getFloats(data, num); } +void BSBound::read(NIFStream *nif) +{ + Extra::read(nif); + center = nif->getVector3(); + halfExtents = nif->getVector3(); +} } diff --git a/components/nif/extra.hpp b/components/nif/extra.hpp index 3be627004..5d7aa0c3b 100644 --- a/components/nif/extra.hpp +++ b/components/nif/extra.hpp @@ -109,5 +109,12 @@ struct NiFloatsExtraData : public Extra void read(NIFStream *nif) override; }; +struct BSBound : public Extra +{ + osg::Vec3f center, halfExtents; + + void read(NIFStream *nif) override; +}; + } // Namespace #endif diff --git a/components/nif/niffile.cpp b/components/nif/niffile.cpp index 04cac535c..8214a8288 100644 --- a/components/nif/niffile.cpp +++ b/components/nif/niffile.cpp @@ -119,6 +119,11 @@ static std::map makeFactory() factory["NiStringPalette"] = {&construct , RC_NiStringPalette }; factory["NiBoolData"] = {&construct , RC_NiBoolData }; factory["NiSkinPartition"] = {&construct , RC_NiSkinPartition }; + factory["BSXFlags"] = {&construct , RC_BSXFlags }; + factory["BSBound"] = {&construct , RC_BSBound }; + factory["NiTransformData"] = {&construct , RC_NiKeyframeData }; + factory["BSFadeNode"] = {&construct , RC_NiNode }; + factory["bhkBlendController"] = {&construct , RC_bhkBlendController }; return factory; } diff --git a/components/nif/record.hpp b/components/nif/record.hpp index 2a6be58e2..d3ee01fd4 100644 --- a/components/nif/record.hpp +++ b/components/nif/record.hpp @@ -112,7 +112,10 @@ enum RecordType RC_NiFloatsExtraData, RC_NiStringPalette, RC_NiBoolData, - RC_NiSkinPartition + RC_NiSkinPartition, + RC_BSXFlags, + RC_BSBound, + RC_bhkBlendController }; /// Base class for all records