From 831bdd6393a43b97ac5511d523eefc0e38d21d4d Mon Sep 17 00:00:00 2001
From: Tazpn <tazpn@users.sourceforge.net>
Date: Sun, 4 Jan 2009 05:36:08 +0000
Subject: [PATCH] nif.xml:  Update defaults and add NiGeometry Accessors

---
 include/obj/NiGeometry.h | 12 ++++++++++++
 src/obj/NiGeometry.cpp   | 15 ++++++++++++++-
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h
index 9ec92b1e..2b184f22 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 f470eb86..f97c465c 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--//
-- 
GitLab