diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h index 9ec92b1e2edc3efc83b83e9bb28d1fcb4f53034d..2b184f22deab53f45b5c18d52b1abf84bc264213 100644 --- a/include/obj/NiGeometry.h +++ b/include/obj/NiGeometry.h @@ -153,6 +153,18 @@ public: */ NIFLIB_API bool IsSkin(); + // Active Material. + // \return The current value. + NIFLIB_API int GetActiveMaterial() const; + + // Active Material. + // \param[in] value The new value. + NIFLIB_API void SetActiveMaterial( int value ); + + // Shader. + // \return The current value. + NIFLIB_API bool HasShader() const; + //--END CUSTOM CODE--// protected: /*! Data index (NiTriShapeData/NiTriStripData). */ diff --git a/src/obj/NiGeometry.cpp b/src/obj/NiGeometry.cpp index f470eb86201d1799cdb0ee1de0d2f399edda3fef..f97c465c47b519ad55b0000687fa90f35fd63a2c 100644 --- a/src/obj/NiGeometry.cpp +++ b/src/obj/NiGeometry.cpp @@ -24,7 +24,7 @@ using namespace Niflib; //Definition of TYPE constant const Type NiGeometry::TYPE("NiGeometry", &NiAVObject::TYPE ); -NiGeometry::NiGeometry() : data(NULL), skinInstance(NULL), numMaterials((unsigned int)0), activeMaterial((int)-1), hasShader(false), unknownInteger((int)0), unknownByte((byte)255), dirtyFlag(false) { +NiGeometry::NiGeometry() : data(NULL), skinInstance(NULL), numMaterials((unsigned int)0), activeMaterial((int)0), hasShader(false), unknownInteger((int)0), unknownByte((byte)255), dirtyFlag(false) { //--BEGIN CONSTRUCTOR CUSTOM CODE--// //--END CUSTOM CODE--// } @@ -541,4 +541,17 @@ void NiGeometry::SetBoneWeights( unsigned int bone_index, const vector<SkinWeigh skinData->SetBoneWeights( bone_index, n, center, radius ); } +int NiGeometry::GetActiveMaterial() const { + return activeMaterial; +} + +void NiGeometry::SetActiveMaterial( int value ) { + activeMaterial = value; +} + +bool NiGeometry::HasShader() const { + return hasShader; +} + + //--END CUSTOM CODE--//