diff --git a/components/nif/data.cpp b/components/nif/data.cpp index 528256c49b..2023735252 100644 --- a/components/nif/data.cpp +++ b/components/nif/data.cpp @@ -542,6 +542,12 @@ namespace Nif mData.post(nif); } + void BSMultiBoundAABB::read(NIFStream* nif) + { + nif->read(mPosition); + nif->read(mExtents); + } + void BSMultiBoundOBB::read(NIFStream* nif) { nif->read(mCenter); diff --git a/components/nif/data.hpp b/components/nif/data.hpp index 6ec09c2f42..0eb6387f89 100644 --- a/components/nif/data.hpp +++ b/components/nif/data.hpp @@ -375,6 +375,14 @@ namespace Nif { }; + struct BSMultiBoundAABB : public BSMultiBoundData + { + osg::Vec3f mPosition; + osg::Vec3f mExtents; + + void read(NIFStream* nif) override; + }; + struct BSMultiBoundOBB : public BSMultiBoundData { osg::Vec3f mCenter; diff --git a/components/nif/niffile.cpp b/components/nif/niffile.cpp index 9a43261616..cf877c7cd9 100644 --- a/components/nif/niffile.cpp +++ b/components/nif/niffile.cpp @@ -206,6 +206,7 @@ namespace Nif // Bethesda bounds { "BSBound", &construct }, { "BSMultiBound", &construct }, + { "BSMultiBoundAABB", &construct }, { "BSMultiBoundOBB", &construct }, { "BSMultiBoundSphere", &construct }, diff --git a/components/nif/record.hpp b/components/nif/record.hpp index a66c82fd32..46aa3ce5d8 100644 --- a/components/nif/record.hpp +++ b/components/nif/record.hpp @@ -78,6 +78,7 @@ namespace Nif RC_BSMaterialEmittanceMultController, RC_BSMeshLODTriShape, RC_BSMultiBound, + RC_BSMultiBoundAABB, RC_BSMultiBoundOBB, RC_BSMultiBoundSphere, RC_BSRefractionFirePeriodController,