From 3e8a9d1de4d3cc99df6aa87930587c60c382e13a Mon Sep 17 00:00:00 2001 From: Alexei Dobrohotov Date: Sun, 21 May 2023 18:15:27 +0300 Subject: [PATCH] Read BSTreeNode, handle as NiNode --- components/nif/niffile.cpp | 1 + components/nif/node.cpp | 14 ++++++++++++++ components/nif/node.hpp | 7 +++++++ 3 files changed, 22 insertions(+) diff --git a/components/nif/niffile.cpp b/components/nif/niffile.cpp index 1a1a101605..c9f04dcd88 100644 --- a/components/nif/niffile.cpp +++ b/components/nif/niffile.cpp @@ -138,6 +138,7 @@ namespace Nif { "NiTransformData", &construct }, { "BSFadeNode", &construct }, { "BSLeafAnimNode", &construct }, + { "BSTreeNode", &construct }, { "bhkBlendController", &construct }, { "NiFloatInterpolator", &construct }, { "NiBoolInterpolator", &construct }, diff --git a/components/nif/node.cpp b/components/nif/node.cpp index 7727e99d84..1960bf3fbc 100644 --- a/components/nif/node.cpp +++ b/components/nif/node.cpp @@ -306,4 +306,18 @@ namespace Nif for (auto& object : mObjects) object.second.post(nif); } + + void BSTreeNode::read(NIFStream* nif) + { + NiNode::read(nif); + readRecordList(nif, mBones1); + readRecordList(nif, mBones2); + } + + void BSTreeNode::post(Reader& nif) + { + NiNode::post(nif); + postRecordList(nif, mBones1); + postRecordList(nif, mBones2); + } } diff --git a/components/nif/node.hpp b/components/nif/node.hpp index baee1fec66..d9274be6df 100644 --- a/components/nif/node.hpp +++ b/components/nif/node.hpp @@ -284,5 +284,12 @@ namespace Nif void post(Reader& nif) override; }; + struct BSTreeNode : NiNode + { + NodeList mBones1, mBones2; + void read(NIFStream* nif) override; + void post(Reader& nif) override; + }; + } // Namespace #endif