1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-26 06:40:22 +00:00

Add BSEffectShaderPropertyFloatController record reading

This commit is contained in:
alekulyn 2023-07-10 17:58:32 -05:00
parent 7ea2ea96b6
commit ed532b5aca
5 changed files with 20 additions and 5 deletions

View File

@ -637,4 +637,10 @@ namespace Nif
mScaleValue = 1.f;
}
}
void BSEffectShaderPropertyFloatController::read(NIFStream* nif)
{
NiFloatInterpController::read(nif);
nif->read(mControlledVariable);
}
}

View File

@ -406,5 +406,11 @@ namespace Nif
void read(NIFStream* nif) override;
};
struct BSEffectShaderPropertyFloatController : public NiFloatInterpController
{
unsigned int mControlledVariable;
void read(NIFStream* nif) override;
};
} // Namespace
#endif

View File

@ -5,7 +5,6 @@
#include <algorithm>
#include <array>
#include <components/nif/node.hpp>
#include <limits>
#include <map>
#include <sstream>
@ -17,6 +16,7 @@
#include "effect.hpp"
#include "exception.hpp"
#include "extra.hpp"
#include "node.hpp"
#include "physics.hpp"
#include "property.hpp"
@ -198,6 +198,8 @@ namespace Nif
{ "BSMultiBoundSphere", &construct<BSMultiBoundSphere, RC_BSMultiBoundSphere> },
{ "BSInvMarker", &construct<BSInvMarker, RC_BSInvMarker> },
{ "BSTriShape", &construct<BSTriShape, RC_BSTriShape> },
{ "BSEffectShaderPropertyFloatController",
&construct<BSEffectShaderPropertyFloatController, RC_BSEffectShaderPropertyFloatController> },
};
}

View File

@ -327,8 +327,8 @@ namespace Nif
mHavokMaterial.read(nif);
mRadius = nif->getFloat();
nif->skip(8); // Unused
std::vector<float> mat;
nif->getFloats(mat, 16);
std::array<float, 16> mat;
nif->readArray(mat);
mTransform.set(mat.data());
}
@ -444,8 +444,8 @@ namespace Nif
{
bhkWorldObject::read(nif);
nif->skip(8); // Unused
std::vector<float> mat;
nif->readVector(mat, 16);
std::array<float, 16> mat;
nif->readArray(mat);
mTransform.set(mat.data());
}
} // Namespace

View File

@ -165,6 +165,7 @@ namespace Nif
RC_BSMultiBoundSphere,
RC_BSInvMarker,
RC_BSTriShape,
RC_BSEffectShaderPropertyFloatController,
};
/// Base class for all records