From c5d057bc8b22bcc6bb04ec5ebb72beedd9ae880b Mon Sep 17 00:00:00 2001
From: Shon Ferguson <shonferg@users.sourceforge.net>
Date: Fri, 23 Jun 2006 03:09:44 +0000
Subject: [PATCH] Used Tazpn's automatic accessor function generator to create
 functions for as many classes as possible.

---
 obj/APSysCtlr.cpp                          |  8 ++
 obj/APSysCtlr.h                            |  6 ++
 obj/BSXFlags.cpp                           |  9 +-
 obj/BSXFlags.h                             |  5 +-
 obj/NiAmbientLight.h                       |  1 +
 obj/NiBSplineCompFloatInterpolator.h       |  1 +
 obj/NiBSplineCompPoint3Interpolator.cpp    |  8 ++
 obj/NiBSplineCompPoint3Interpolator.h      |  6 ++
 obj/NiBSplineCompTransformInterpolator.cpp | 16 ++++
 obj/NiBSplineCompTransformInterpolator.h   | 12 +++
 obj/NiBSplineInterpolator.cpp              | 16 ++++
 obj/NiBSplineInterpolator.h                | 12 +++
 obj/NiBillboardNode.cpp                    |  8 ++
 obj/NiBillboardNode.h                      |  7 ++
 obj/NiBlendBoolInterpolator.cpp            |  8 ++
 obj/NiBlendBoolInterpolator.h              |  6 ++
 obj/NiBlendFloatInterpolator.cpp           |  8 ++
 obj/NiBlendFloatInterpolator.h             |  6 ++
 obj/NiBlendInterpolator.h                  |  1 +
 obj/NiBlendPoint3Interpolator.cpp          |  8 ++
 obj/NiBlendPoint3Interpolator.h            |  6 ++
 obj/NiBlendTransformInterpolator.h         |  1 +
 obj/NiBoolInterpolator.cpp                 | 16 ++++
 obj/NiBoolInterpolator.h                   | 12 +++
 obj/NiBoolTimelineInterpolator.cpp         | 16 ++++
 obj/NiBoolTimelineInterpolator.h           | 12 +++
 obj/NiCamera.cpp                           | 96 ++++++++++++++++++++++
 obj/NiCamera.h                             | 73 ++++++++++++++++
 obj/NiDirectionalLight.h                   |  1 +
 obj/NiDynamicEffect.cpp                    | 32 ++++++++
 obj/NiDynamicEffect.h                      | 27 ++++++
 obj/NiFloatInterpolator.cpp                | 16 ++++
 obj/NiFloatInterpolator.h                  | 12 +++
 obj/NiInterpolator.h                       |  1 +
 obj/NiLight.cpp                            | 32 ++++++++
 obj/NiLight.h                              | 24 ++++++
 obj/NiLightColorController.cpp             | 19 +++--
 obj/NiLightColorController.h               | 17 ++--
 obj/NiLookAtInterpolator.cpp               | 32 ++++++++
 obj/NiLookAtInterpolator.h                 | 24 ++++++
 obj/NiPSysEmitterCtlr.cpp                  | 16 ++++
 obj/NiPSysEmitterCtlr.h                    | 12 +++
 obj/NiPSysEmitterCtlrData.cpp              | 16 ++++
 obj/NiPSysEmitterCtlrData.h                | 12 +++
 obj/NiPSysEmitterDeclinationCtlr.h         |  1 +
 obj/NiPSysEmitterDeclinationVarCtlr.h      |  1 +
 obj/NiPSysEmitterInitialRadiusCtlr.h       |  1 +
 obj/NiPSysEmitterLifeSpanCtlr.h            |  1 +
 obj/NiPSysEmitterSpeedCtlr.h               |  1 +
 obj/NiPSysGravityStrengthCtlr.h            |  1 +
 obj/NiPSysModifierActiveCtlr.h             |  1 +
 obj/NiPSysResetOnLoopCtlr.h                |  1 +
 obj/NiPSysUpdateCtlr.h                     |  1 +
 obj/NiPathInterpolator.cpp                 | 16 ++++
 obj/NiPathInterpolator.h                   | 12 +++
 obj/NiPoint3Interpolator.cpp               | 16 ++++
 obj/NiPoint3Interpolator.h                 | 12 +++
 obj/NiPointLight.cpp                       | 24 ++++++
 obj/NiPointLight.h                         | 18 ++++
 obj/NiSingleInterpolatorController.cpp     |  9 +-
 obj/NiSingleInterpolatorController.h       |  8 +-
 obj/NiSpotLight.cpp                        | 16 ++++
 obj/NiSpotLight.h                          | 12 +++
 obj/NiTextureEffect.cpp                    | 80 ++++++++++++++++++
 obj/NiTextureEffect.h                      | 65 +++++++++++++++
 obj/NiTransformInterpolator.cpp            | 32 ++++++++
 obj/NiTransformInterpolator.h              | 24 ++++++
 67 files changed, 1004 insertions(+), 26 deletions(-)

diff --git a/obj/APSysCtlr.cpp b/obj/APSysCtlr.cpp
index a5874b11..e507939a 100644
--- a/obj/APSysCtlr.cpp
+++ b/obj/APSysCtlr.cpp
@@ -35,3 +35,11 @@ const Type & APSysCtlr::GetType() const {
 	return TYPE;
 };
 
+string APSysCtlr::GetModifierName() const {
+	return modifierName;
+}
+
+void APSysCtlr::SetModifierName( string value ) {
+	modifierName = value;
+}
+
diff --git a/obj/APSysCtlr.h b/obj/APSysCtlr.h
index 428114f3..0738662b 100644
--- a/obj/APSysCtlr.h
+++ b/obj/APSysCtlr.h
@@ -33,6 +33,12 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Refers to modifier block by its name?
+	 */
+	string GetModifierName() const;
+	void SetModifierName( string value );
+
 protected:
 	A_P_SYS_CTLR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/BSXFlags.cpp b/obj/BSXFlags.cpp
index a6a32bf0..d5e99735 100644
--- a/obj/BSXFlags.cpp
+++ b/obj/BSXFlags.cpp
@@ -37,8 +37,9 @@ const Type & BSXFlags::GetType() const {
 
 uint BSXFlags::GetFlags() const {
 	return flags;
-};
+}
+
+void BSXFlags::SetFlags( uint value ) {
+	flags = value;
+}
 
-void BSXFlags::SetFlags( uint n ) {
-	flags = n;
-};
diff --git a/obj/BSXFlags.h b/obj/BSXFlags.h
index 7d0bebe1..91366c44 100644
--- a/obj/BSXFlags.h
+++ b/obj/BSXFlags.h
@@ -33,8 +33,11 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The flags.
+	 */
 	uint GetFlags() const;
-	void SetFlags( uint n );
+	void SetFlags( uint value );
 
 protected:
 	B_S_X_FLAGS_MEMBERS
diff --git a/obj/NiAmbientLight.h b/obj/NiAmbientLight.h
index 7cbbd5fe..538f983e 100644
--- a/obj/NiAmbientLight.h
+++ b/obj/NiAmbientLight.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiLight.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiAmbientLight;
diff --git a/obj/NiBSplineCompFloatInterpolator.h b/obj/NiBSplineCompFloatInterpolator.h
index 0308d7fd..76f203af 100644
--- a/obj/NiBSplineCompFloatInterpolator.h
+++ b/obj/NiBSplineCompFloatInterpolator.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiBSplineInterpolator.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiBSplineCompFloatInterpolator;
diff --git a/obj/NiBSplineCompPoint3Interpolator.cpp b/obj/NiBSplineCompPoint3Interpolator.cpp
index 8306991a..47158d6f 100644
--- a/obj/NiBSplineCompPoint3Interpolator.cpp
+++ b/obj/NiBSplineCompPoint3Interpolator.cpp
@@ -37,3 +37,11 @@ const Type & NiBSplineCompPoint3Interpolator::GetType() const {
 	return TYPE;
 };
 
+Ref<NiBSplineData > NiBSplineCompPoint3Interpolator::GetData() const {
+	return data;
+}
+
+void NiBSplineCompPoint3Interpolator::SetData( Ref<NiBSplineData > value ) {
+	data = value;
+}
+
diff --git a/obj/NiBSplineCompPoint3Interpolator.h b/obj/NiBSplineCompPoint3Interpolator.h
index 0c45a30d..ef6234ef 100644
--- a/obj/NiBSplineCompPoint3Interpolator.h
+++ b/obj/NiBSplineCompPoint3Interpolator.h
@@ -39,6 +39,12 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Refers to NiBSplineData.
+	 */
+	Ref<NiBSplineData > GetData() const;
+	void SetData( Ref<NiBSplineData > value );
+
 protected:
 	NI_B_SPLINE_COMP_POINT3_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBSplineCompTransformInterpolator.cpp b/obj/NiBSplineCompTransformInterpolator.cpp
index 89ad7c04..64f8c73f 100644
--- a/obj/NiBSplineCompTransformInterpolator.cpp
+++ b/obj/NiBSplineCompTransformInterpolator.cpp
@@ -37,3 +37,19 @@ const Type & NiBSplineCompTransformInterpolator::GetType() const {
 	return TYPE;
 };
 
+Ref<NiBSplineData > NiBSplineCompTransformInterpolator::GetData() const {
+	return data;
+}
+
+void NiBSplineCompTransformInterpolator::SetData( Ref<NiBSplineData > value ) {
+	data = value;
+}
+
+Ref<NiBSplineBasisData > NiBSplineCompTransformInterpolator::GetBasisData() const {
+	return basisData;
+}
+
+void NiBSplineCompTransformInterpolator::SetBasisData( Ref<NiBSplineBasisData > value ) {
+	basisData = value;
+}
+
diff --git a/obj/NiBSplineCompTransformInterpolator.h b/obj/NiBSplineCompTransformInterpolator.h
index a39de11b..d662b90c 100644
--- a/obj/NiBSplineCompTransformInterpolator.h
+++ b/obj/NiBSplineCompTransformInterpolator.h
@@ -39,6 +39,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Refers to NiBSplineData.
+	 */
+	Ref<NiBSplineData > GetData() const;
+	void SetData( Ref<NiBSplineData > value );
+
+	/*!
+	 * Refers to NiBSPlineBasisData.
+	 */
+	Ref<NiBSplineBasisData > GetBasisData() const;
+	void SetBasisData( Ref<NiBSplineBasisData > value );
+
 protected:
 	NI_B_SPLINE_COMP_TRANSFORM_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBSplineInterpolator.cpp b/obj/NiBSplineInterpolator.cpp
index 029c4195..a3a17a06 100644
--- a/obj/NiBSplineInterpolator.cpp
+++ b/obj/NiBSplineInterpolator.cpp
@@ -35,3 +35,19 @@ const Type & NiBSplineInterpolator::GetType() const {
 	return TYPE;
 };
 
+float NiBSplineInterpolator::GetStartTime() const {
+	return startTime;
+}
+
+void NiBSplineInterpolator::SetStartTime( float value ) {
+	startTime = value;
+}
+
+float NiBSplineInterpolator::GetStopTime() const {
+	return stopTime;
+}
+
+void NiBSplineInterpolator::SetStopTime( float value ) {
+	stopTime = value;
+}
+
diff --git a/obj/NiBSplineInterpolator.h b/obj/NiBSplineInterpolator.h
index 523ffa5f..42b106ee 100644
--- a/obj/NiBSplineInterpolator.h
+++ b/obj/NiBSplineInterpolator.h
@@ -33,6 +33,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Animation start time.
+	 */
+	float GetStartTime() const;
+	void SetStartTime( float value );
+
+	/*!
+	 * Animation stop time.
+	 */
+	float GetStopTime() const;
+	void SetStopTime( float value );
+
 protected:
 	NI_B_SPLINE_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBillboardNode.cpp b/obj/NiBillboardNode.cpp
index 860aec54..9ef63c9e 100644
--- a/obj/NiBillboardNode.cpp
+++ b/obj/NiBillboardNode.cpp
@@ -35,3 +35,11 @@ const Type & NiBillboardNode::GetType() const {
 	return TYPE;
 };
 
+ushort NiBillboardNode::GetBillboardMode() const {
+	return billboardMode;
+}
+
+void NiBillboardNode::SetBillboardMode( ushort value ) {
+	billboardMode = value;
+}
+
diff --git a/obj/NiBillboardNode.h b/obj/NiBillboardNode.h
index ddda835f..6c3cd0c2 100644
--- a/obj/NiBillboardNode.h
+++ b/obj/NiBillboardNode.h
@@ -34,6 +34,13 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * 0: ALWAYS_FACE_CAMERA 1: ROTATE_ABOUT_UP 2: RIGID_FACE_CAMERA 3:
+	 * ALWAYS_FACE_CENTER 4: RIGID_FACE_CENTER
+	 */
+	ushort GetBillboardMode() const;
+	void SetBillboardMode( ushort value );
+
 protected:
 	NI_BILLBOARD_NODE_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBlendBoolInterpolator.cpp b/obj/NiBlendBoolInterpolator.cpp
index 3d5c9ddf..270fbb52 100644
--- a/obj/NiBlendBoolInterpolator.cpp
+++ b/obj/NiBlendBoolInterpolator.cpp
@@ -35,3 +35,11 @@ const Type & NiBlendBoolInterpolator::GetType() const {
 	return TYPE;
 };
 
+byte NiBlendBoolInterpolator::GetBoolValue() const {
+	return boolValue;
+}
+
+void NiBlendBoolInterpolator::SetBoolValue( byte value ) {
+	boolValue = value;
+}
+
diff --git a/obj/NiBlendBoolInterpolator.h b/obj/NiBlendBoolInterpolator.h
index 96472fa6..18929226 100644
--- a/obj/NiBlendBoolInterpolator.h
+++ b/obj/NiBlendBoolInterpolator.h
@@ -33,6 +33,12 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The interpolated bool?
+	 */
+	byte GetBoolValue() const;
+	void SetBoolValue( byte value );
+
 protected:
 	NI_BLEND_BOOL_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBlendFloatInterpolator.cpp b/obj/NiBlendFloatInterpolator.cpp
index c59b1d07..a488e850 100644
--- a/obj/NiBlendFloatInterpolator.cpp
+++ b/obj/NiBlendFloatInterpolator.cpp
@@ -35,3 +35,11 @@ const Type & NiBlendFloatInterpolator::GetType() const {
 	return TYPE;
 };
 
+float NiBlendFloatInterpolator::GetFloatValue() const {
+	return floatValue;
+}
+
+void NiBlendFloatInterpolator::SetFloatValue( float value ) {
+	floatValue = value;
+}
+
diff --git a/obj/NiBlendFloatInterpolator.h b/obj/NiBlendFloatInterpolator.h
index 9ad69191..f7cc7be5 100644
--- a/obj/NiBlendFloatInterpolator.h
+++ b/obj/NiBlendFloatInterpolator.h
@@ -33,6 +33,12 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The interpolated float?
+	 */
+	float GetFloatValue() const;
+	void SetFloatValue( float value );
+
 protected:
 	NI_BLEND_FLOAT_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBlendInterpolator.h b/obj/NiBlendInterpolator.h
index e7d08a48..0b9332b9 100644
--- a/obj/NiBlendInterpolator.h
+++ b/obj/NiBlendInterpolator.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiInterpolator.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiBlendInterpolator;
diff --git a/obj/NiBlendPoint3Interpolator.cpp b/obj/NiBlendPoint3Interpolator.cpp
index 4b506d84..5322ffcc 100644
--- a/obj/NiBlendPoint3Interpolator.cpp
+++ b/obj/NiBlendPoint3Interpolator.cpp
@@ -35,3 +35,11 @@ const Type & NiBlendPoint3Interpolator::GetType() const {
 	return TYPE;
 };
 
+Vector3 NiBlendPoint3Interpolator::GetPointValue() const {
+	return pointValue;
+}
+
+void NiBlendPoint3Interpolator::SetPointValue( Vector3 value ) {
+	pointValue = value;
+}
+
diff --git a/obj/NiBlendPoint3Interpolator.h b/obj/NiBlendPoint3Interpolator.h
index 68f88f0c..fdc8a62e 100644
--- a/obj/NiBlendPoint3Interpolator.h
+++ b/obj/NiBlendPoint3Interpolator.h
@@ -33,6 +33,12 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The interpolated point?
+	 */
+	Vector3 GetPointValue() const;
+	void SetPointValue( Vector3 value );
+
 protected:
 	NI_BLEND_POINT3_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBlendTransformInterpolator.h b/obj/NiBlendTransformInterpolator.h
index 6915e532..89190853 100644
--- a/obj/NiBlendTransformInterpolator.h
+++ b/obj/NiBlendTransformInterpolator.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiBlendInterpolator.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiBlendTransformInterpolator;
diff --git a/obj/NiBoolInterpolator.cpp b/obj/NiBoolInterpolator.cpp
index faad436a..d90140ce 100644
--- a/obj/NiBoolInterpolator.cpp
+++ b/obj/NiBoolInterpolator.cpp
@@ -36,3 +36,19 @@ const Type & NiBoolInterpolator::GetType() const {
 	return TYPE;
 };
 
+bool NiBoolInterpolator::GetBoolValue() const {
+	return boolValue;
+}
+
+void NiBoolInterpolator::SetBoolValue( bool value ) {
+	boolValue = value;
+}
+
+Ref<NiBoolData > NiBoolInterpolator::GetData() const {
+	return data;
+}
+
+void NiBoolInterpolator::SetData( Ref<NiBoolData > value ) {
+	data = value;
+}
+
diff --git a/obj/NiBoolInterpolator.h b/obj/NiBoolInterpolator.h
index cfb4ffc7..4c779aab 100644
--- a/obj/NiBoolInterpolator.h
+++ b/obj/NiBoolInterpolator.h
@@ -38,6 +38,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Value when posed?  At time 0?
+	 */
+	bool GetBoolValue() const;
+	void SetBoolValue( bool value );
+
+	/*!
+	 * Refers to a NiBoolData block.
+	 */
+	Ref<NiBoolData > GetData() const;
+	void SetData( Ref<NiBoolData > value );
+
 protected:
 	NI_BOOL_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiBoolTimelineInterpolator.cpp b/obj/NiBoolTimelineInterpolator.cpp
index eba08a89..4875ca95 100644
--- a/obj/NiBoolTimelineInterpolator.cpp
+++ b/obj/NiBoolTimelineInterpolator.cpp
@@ -36,3 +36,19 @@ const Type & NiBoolTimelineInterpolator::GetType() const {
 	return TYPE;
 };
 
+byte NiBoolTimelineInterpolator::GetBoolValue() const {
+	return boolValue;
+}
+
+void NiBoolTimelineInterpolator::SetBoolValue( byte value ) {
+	boolValue = value;
+}
+
+Ref<NiBoolData > NiBoolTimelineInterpolator::GetData() const {
+	return data;
+}
+
+void NiBoolTimelineInterpolator::SetData( Ref<NiBoolData > value ) {
+	data = value;
+}
+
diff --git a/obj/NiBoolTimelineInterpolator.h b/obj/NiBoolTimelineInterpolator.h
index 6a42e47a..51d69b3e 100644
--- a/obj/NiBoolTimelineInterpolator.h
+++ b/obj/NiBoolTimelineInterpolator.h
@@ -38,6 +38,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The interpolated bool?
+	 */
+	byte GetBoolValue() const;
+	void SetBoolValue( byte value );
+
+	/*!
+	 * The bool data.
+	 */
+	Ref<NiBoolData > GetData() const;
+	void SetData( Ref<NiBoolData > value );
+
 protected:
 	NI_BOOL_TIMELINE_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiCamera.cpp b/obj/NiCamera.cpp
index 3779470b..0f708ba5 100644
--- a/obj/NiCamera.cpp
+++ b/obj/NiCamera.cpp
@@ -36,3 +36,99 @@ const Type & NiCamera::GetType() const {
 	return TYPE;
 };
 
+float NiCamera::GetFrustumLeft() const {
+	return frustumLeft;
+}
+
+void NiCamera::SetFrustumLeft( float value ) {
+	frustumLeft = value;
+}
+
+float NiCamera::GetFrustumRight() const {
+	return frustumRight;
+}
+
+void NiCamera::SetFrustumRight( float value ) {
+	frustumRight = value;
+}
+
+float NiCamera::GetFrustumTop() const {
+	return frustumTop;
+}
+
+void NiCamera::SetFrustumTop( float value ) {
+	frustumTop = value;
+}
+
+float NiCamera::GetFrustumBottom() const {
+	return frustumBottom;
+}
+
+void NiCamera::SetFrustumBottom( float value ) {
+	frustumBottom = value;
+}
+
+float NiCamera::GetFrustumNear() const {
+	return frustumNear;
+}
+
+void NiCamera::SetFrustumNear( float value ) {
+	frustumNear = value;
+}
+
+float NiCamera::GetFrustumFar() const {
+	return frustumFar;
+}
+
+void NiCamera::SetFrustumFar( float value ) {
+	frustumFar = value;
+}
+
+bool NiCamera::GetUseOrthographicProjection() const {
+	return useOrthographicProjection;
+}
+
+void NiCamera::SetUseOrthographicProjection( bool value ) {
+	useOrthographicProjection = value;
+}
+
+float NiCamera::GetViewportLeft() const {
+	return viewportLeft;
+}
+
+void NiCamera::SetViewportLeft( float value ) {
+	viewportLeft = value;
+}
+
+float NiCamera::GetViewportRight() const {
+	return viewportRight;
+}
+
+void NiCamera::SetViewportRight( float value ) {
+	viewportRight = value;
+}
+
+float NiCamera::GetViewportTop() const {
+	return viewportTop;
+}
+
+void NiCamera::SetViewportTop( float value ) {
+	viewportTop = value;
+}
+
+float NiCamera::GetViewportBottom() const {
+	return viewportBottom;
+}
+
+void NiCamera::SetViewportBottom( float value ) {
+	viewportBottom = value;
+}
+
+float NiCamera::GetLodAdjust() const {
+	return lodAdjust;
+}
+
+void NiCamera::SetLodAdjust( float value ) {
+	lodAdjust = value;
+}
+
diff --git a/obj/NiCamera.h b/obj/NiCamera.h
index fa44ef40..e1ca2384 100644
--- a/obj/NiCamera.h
+++ b/obj/NiCamera.h
@@ -38,6 +38,79 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Frustrum left.
+	 */
+	float GetFrustumLeft() const;
+	void SetFrustumLeft( float value );
+
+	/*!
+	 * Frustrum right.
+	 */
+	float GetFrustumRight() const;
+	void SetFrustumRight( float value );
+
+	/*!
+	 * Frustrum top.
+	 */
+	float GetFrustumTop() const;
+	void SetFrustumTop( float value );
+
+	/*!
+	 * Frustrum bottom.
+	 */
+	float GetFrustumBottom() const;
+	void SetFrustumBottom( float value );
+
+	/*!
+	 * Frustrum near.
+	 */
+	float GetFrustumNear() const;
+	void SetFrustumNear( float value );
+
+	/*!
+	 * Frustrum far.
+	 */
+	float GetFrustumFar() const;
+	void SetFrustumFar( float value );
+
+	/*!
+	 * Determines whether perspective is used.  Orthographic means no
+	 * perspective.
+	 */
+	bool GetUseOrthographicProjection() const;
+	void SetUseOrthographicProjection( bool value );
+
+	/*!
+	 * Viewport left.
+	 */
+	float GetViewportLeft() const;
+	void SetViewportLeft( float value );
+
+	/*!
+	 * Viewport right.
+	 */
+	float GetViewportRight() const;
+	void SetViewportRight( float value );
+
+	/*!
+	 * Viewport top.
+	 */
+	float GetViewportTop() const;
+	void SetViewportTop( float value );
+
+	/*!
+	 * Viewport bottom.
+	 */
+	float GetViewportBottom() const;
+	void SetViewportBottom( float value );
+
+	/*!
+	 * Level of detail adjust.
+	 */
+	float GetLodAdjust() const;
+	void SetLodAdjust( float value );
+
 protected:
 	NI_CAMERA_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiDirectionalLight.h b/obj/NiDirectionalLight.h
index 7dca6fe3..9a984adf 100644
--- a/obj/NiDirectionalLight.h
+++ b/obj/NiDirectionalLight.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiLight.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiDirectionalLight;
diff --git a/obj/NiDynamicEffect.cpp b/obj/NiDynamicEffect.cpp
index 0c44a32f..b474736f 100644
--- a/obj/NiDynamicEffect.cpp
+++ b/obj/NiDynamicEffect.cpp
@@ -36,3 +36,35 @@ const Type & NiDynamicEffect::GetType() const {
 	return TYPE;
 };
 
+bool NiDynamicEffect::GetHasAffectedNodeList_() const {
+	return hasAffectedNodeList_;
+}
+
+void NiDynamicEffect::SetHasAffectedNodeList_( bool value ) {
+	hasAffectedNodeList_ = value;
+}
+
+uint NiDynamicEffect::GetAffectedNodeList_() const {
+	return affectedNodeList_;
+}
+
+void NiDynamicEffect::SetAffectedNodeList_( uint value ) {
+	affectedNodeList_ = value;
+}
+
+bool NiDynamicEffect::GetSwitchState() const {
+	return switchState;
+}
+
+void NiDynamicEffect::SetSwitchState( bool value ) {
+	switchState = value;
+}
+
+vector<Ref<NiAVObject > > NiDynamicEffect::GetAffectedNodes() const {
+	return affectedNodes;
+}
+
+void NiDynamicEffect::SetAffectedNodes( const vector<Ref<NiAVObject > >& value ) {
+	affectedNodes = value;
+}
+
diff --git a/obj/NiDynamicEffect.h b/obj/NiDynamicEffect.h
index 5b4cdd15..67f8513a 100644
--- a/obj/NiDynamicEffect.h
+++ b/obj/NiDynamicEffect.h
@@ -38,6 +38,33 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Determines whether or not an unknown integer follows.
+	 */
+	bool GetHasAffectedNodeList_() const;
+	void SetHasAffectedNodeList_( bool value );
+
+	/*!
+	 * This is probably the list of affected nodes. For some reason i do not
+	 * know the max exporter seems to write pointers instead of links. But it
+	 * doesn't matter because at least in version 4.0.0.2 the list is
+	 * automagically updated by the engine during the load stage.
+	 */
+	uint GetAffectedNodeList_() const;
+	void SetAffectedNodeList_( uint value );
+
+	/*!
+	 * Turns effect on and off?  Switches list to list of unaffected nodes?
+	 */
+	bool GetSwitchState() const;
+	void SetSwitchState( bool value );
+
+	/*!
+	 * The list of affected nodes?
+	 */
+	vector<Ref<NiAVObject > > GetAffectedNodes() const;
+	void SetAffectedNodes( const vector<Ref<NiAVObject > >& value );
+
 protected:
 	NI_DYNAMIC_EFFECT_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiFloatInterpolator.cpp b/obj/NiFloatInterpolator.cpp
index 7cf7f0a6..73f25f68 100644
--- a/obj/NiFloatInterpolator.cpp
+++ b/obj/NiFloatInterpolator.cpp
@@ -36,3 +36,19 @@ const Type & NiFloatInterpolator::GetType() const {
 	return TYPE;
 };
 
+float NiFloatInterpolator::GetFloatValue() const {
+	return floatValue;
+}
+
+void NiFloatInterpolator::SetFloatValue( float value ) {
+	floatValue = value;
+}
+
+Ref<NiFloatData > NiFloatInterpolator::GetData() const {
+	return data;
+}
+
+void NiFloatInterpolator::SetData( Ref<NiFloatData > value ) {
+	data = value;
+}
+
diff --git a/obj/NiFloatInterpolator.h b/obj/NiFloatInterpolator.h
index 7d82a5f7..fe44e779 100644
--- a/obj/NiFloatInterpolator.h
+++ b/obj/NiFloatInterpolator.h
@@ -38,6 +38,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Value when posed?  At time 0?
+	 */
+	float GetFloatValue() const;
+	void SetFloatValue( float value );
+
+	/*!
+	 * Float data?
+	 */
+	Ref<NiFloatData > GetData() const;
+	void SetData( Ref<NiFloatData > value );
+
 protected:
 	NI_FLOAT_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiInterpolator.h b/obj/NiInterpolator.h
index b4ffd76a..394ff2d9 100644
--- a/obj/NiInterpolator.h
+++ b/obj/NiInterpolator.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiObject.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiInterpolator;
diff --git a/obj/NiLight.cpp b/obj/NiLight.cpp
index 012fe668..4eeaf99a 100644
--- a/obj/NiLight.cpp
+++ b/obj/NiLight.cpp
@@ -35,3 +35,35 @@ const Type & NiLight::GetType() const {
 	return TYPE;
 };
 
+float NiLight::GetDimmer() const {
+	return dimmer;
+}
+
+void NiLight::SetDimmer( float value ) {
+	dimmer = value;
+}
+
+Color3 NiLight::GetAmbientColor() const {
+	return ambientColor;
+}
+
+void NiLight::SetAmbientColor( Color3 value ) {
+	ambientColor = value;
+}
+
+Color3 NiLight::GetDiffuseColor() const {
+	return diffuseColor;
+}
+
+void NiLight::SetDiffuseColor( Color3 value ) {
+	diffuseColor = value;
+}
+
+Color3 NiLight::GetSpecularColor() const {
+	return specularColor;
+}
+
+void NiLight::SetSpecularColor( Color3 value ) {
+	specularColor = value;
+}
+
diff --git a/obj/NiLight.h b/obj/NiLight.h
index 49da5baf..ee917bc5 100644
--- a/obj/NiLight.h
+++ b/obj/NiLight.h
@@ -33,6 +33,30 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Dimmer.
+	 */
+	float GetDimmer() const;
+	void SetDimmer( float value );
+
+	/*!
+	 * Ambient color.
+	 */
+	Color3 GetAmbientColor() const;
+	void SetAmbientColor( Color3 value );
+
+	/*!
+	 * Diffuse color.
+	 */
+	Color3 GetDiffuseColor() const;
+	void SetDiffuseColor( Color3 value );
+
+	/*!
+	 * Specular color.
+	 */
+	Color3 GetSpecularColor() const;
+	void SetSpecularColor( Color3 value );
+
 protected:
 	NI_LIGHT_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiLightColorController.cpp b/obj/NiLightColorController.cpp
index 891c4741..399d6b41 100644
--- a/obj/NiLightColorController.cpp
+++ b/obj/NiLightColorController.cpp
@@ -37,18 +37,19 @@ const Type & NiLightColorController::GetType() const {
 	return TYPE;
 };
 
-Ref<NiPoint3Interpolator> NiLightColorController::GetInterpolator() const {
-	return interpolator;
+Ref<NiPosData > NiLightColorController::GetData() const {
+	return data;
 }
 
-void NiLightColorController::SetInterpolator( const Ref<NiPoint3Interpolator> & n ) {
-	interpolator = n;
+void NiLightColorController::SetData( Ref<NiPosData > value ) {
+	data = value;
 }
 
-Ref<NiPosData> NiLightColorController::GetData() const {
-	return data;
+Ref<NiPoint3Interpolator > NiLightColorController::GetInterpolator() const {
+	return interpolator;
+}
+
+void NiLightColorController::SetInterpolator( Ref<NiPoint3Interpolator > value ) {
+	interpolator = value;
 }
 
-void NiLightColorController::SetData( const Ref<NiPosData> & n ) {
-	data = n;
-}
\ No newline at end of file
diff --git a/obj/NiLightColorController.h b/obj/NiLightColorController.h
index 151ca969..a26f16bb 100644
--- a/obj/NiLightColorController.h
+++ b/obj/NiLightColorController.h
@@ -38,13 +38,18 @@ public:
 	virtual void FixLinks( const vector<NiObjectRef> & objects, list<uint> & link_stack, unsigned int version, unsigned int user_version );
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
-	//TODO: There is an item of unknown data in this class
 
-	Ref<NiPoint3Interpolator> GetInterpolator() const;
-	void SetInterpolator( const Ref<NiPoint3Interpolator> & n );
-
-	Ref<NiPosData> GetData() const;
-	void SetData( const Ref<NiPosData> & n );
+	/*!
+	 * Link to NiPosData
+	 */
+	Ref<NiPosData > GetData() const;
+	void SetData( Ref<NiPosData > value );
+
+	/*!
+	 * Link to NiPoint3Interpolator.
+	 */
+	Ref<NiPoint3Interpolator > GetInterpolator() const;
+	void SetInterpolator( Ref<NiPoint3Interpolator > value );
 
 protected:
 	NI_LIGHT_COLOR_CONTROLLER_MEMBERS
diff --git a/obj/NiLookAtInterpolator.cpp b/obj/NiLookAtInterpolator.cpp
index 06d26621..9cde9c8d 100644
--- a/obj/NiLookAtInterpolator.cpp
+++ b/obj/NiLookAtInterpolator.cpp
@@ -38,3 +38,35 @@ const Type & NiLookAtInterpolator::GetType() const {
 	return TYPE;
 };
 
+Ref<NiNode > NiLookAtInterpolator::GetLookAt() const {
+	return lookAt;
+}
+
+void NiLookAtInterpolator::SetLookAt( Ref<NiNode > value ) {
+	lookAt = value;
+}
+
+Vector3 NiLookAtInterpolator::GetTranslation() const {
+	return translation;
+}
+
+void NiLookAtInterpolator::SetTranslation( Vector3 value ) {
+	translation = value;
+}
+
+Quaternion NiLookAtInterpolator::GetRotation() const {
+	return rotation;
+}
+
+void NiLookAtInterpolator::SetRotation( Quaternion value ) {
+	rotation = value;
+}
+
+float NiLookAtInterpolator::GetScale() const {
+	return scale;
+}
+
+void NiLookAtInterpolator::SetScale( float value ) {
+	scale = value;
+}
+
diff --git a/obj/NiLookAtInterpolator.h b/obj/NiLookAtInterpolator.h
index ff502eaa..1dfd35c4 100644
--- a/obj/NiLookAtInterpolator.h
+++ b/obj/NiLookAtInterpolator.h
@@ -40,6 +40,30 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Refers to a Node to focus on.
+	 */
+	Ref<NiNode > GetLookAt() const;
+	void SetLookAt( Ref<NiNode > value );
+
+	/*!
+	 * Translate.
+	 */
+	Vector3 GetTranslation() const;
+	void SetTranslation( Vector3 value );
+
+	/*!
+	 * Rotation.
+	 */
+	Quaternion GetRotation() const;
+	void SetRotation( Quaternion value );
+
+	/*!
+	 * Scale.
+	 */
+	float GetScale() const;
+	void SetScale( float value );
+
 protected:
 	NI_LOOK_AT_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiPSysEmitterCtlr.cpp b/obj/NiPSysEmitterCtlr.cpp
index cd00d8db..2befe0b5 100644
--- a/obj/NiPSysEmitterCtlr.cpp
+++ b/obj/NiPSysEmitterCtlr.cpp
@@ -37,3 +37,19 @@ const Type & NiPSysEmitterCtlr::GetType() const {
 	return TYPE;
 };
 
+Ref<NiPSysEmitterCtlrData > NiPSysEmitterCtlr::GetData() const {
+	return data;
+}
+
+void NiPSysEmitterCtlr::SetData( Ref<NiPSysEmitterCtlrData > value ) {
+	data = value;
+}
+
+Ref<NiInterpolator > NiPSysEmitterCtlr::GetVisibilityInterpolator() const {
+	return visibilityInterpolator;
+}
+
+void NiPSysEmitterCtlr::SetVisibilityInterpolator( Ref<NiInterpolator > value ) {
+	visibilityInterpolator = value;
+}
+
diff --git a/obj/NiPSysEmitterCtlr.h b/obj/NiPSysEmitterCtlr.h
index 5f1b4d02..d5fedf82 100644
--- a/obj/NiPSysEmitterCtlr.h
+++ b/obj/NiPSysEmitterCtlr.h
@@ -39,6 +39,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * This controller's data
+	 */
+	Ref<NiPSysEmitterCtlrData > GetData() const;
+	void SetData( Ref<NiPSysEmitterCtlrData > value );
+
+	/*!
+	 * Links to a bool interpolator. Controls emitter's visibility status?
+	 */
+	Ref<NiInterpolator > GetVisibilityInterpolator() const;
+	void SetVisibilityInterpolator( Ref<NiInterpolator > value );
+
 protected:
 	NI_P_SYS_EMITTER_CTLR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiPSysEmitterCtlrData.cpp b/obj/NiPSysEmitterCtlrData.cpp
index 24980e26..ca23c6b2 100644
--- a/obj/NiPSysEmitterCtlrData.cpp
+++ b/obj/NiPSysEmitterCtlrData.cpp
@@ -36,3 +36,19 @@ const Type & NiPSysEmitterCtlrData::GetType() const {
 	return TYPE;
 };
 
+KeyGroup<float > NiPSysEmitterCtlrData::GetFloatKeys_() const {
+	return floatKeys_;
+}
+
+void NiPSysEmitterCtlrData::SetFloatKeys_( KeyGroup<float > value ) {
+	floatKeys_ = value;
+}
+
+vector<Key<byte > > NiPSysEmitterCtlrData::GetVisibilityKeys_() const {
+	return visibilityKeys_;
+}
+
+void NiPSysEmitterCtlrData::SetVisibilityKeys_( const vector<Key<byte > >& value ) {
+	visibilityKeys_ = value;
+}
+
diff --git a/obj/NiPSysEmitterCtlrData.h b/obj/NiPSysEmitterCtlrData.h
index b3f4e97a..b5df6684 100644
--- a/obj/NiPSysEmitterCtlrData.h
+++ b/obj/NiPSysEmitterCtlrData.h
@@ -36,6 +36,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Unknown.
+	 */
+	KeyGroup<float > GetFloatKeys_() const;
+	void SetFloatKeys_( KeyGroup<float > value );
+
+	/*!
+	 * Unknown.
+	 */
+	vector<Key<byte > > GetVisibilityKeys_() const;
+	void SetVisibilityKeys_( const vector<Key<byte > >& value );
+
 protected:
 	NI_P_SYS_EMITTER_CTLR_DATA_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiPSysEmitterDeclinationCtlr.h b/obj/NiPSysEmitterDeclinationCtlr.h
index 7b663a03..f2dd6a21 100644
--- a/obj/NiPSysEmitterDeclinationCtlr.h
+++ b/obj/NiPSysEmitterDeclinationCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysEmitterDeclinationCtlr;
diff --git a/obj/NiPSysEmitterDeclinationVarCtlr.h b/obj/NiPSysEmitterDeclinationVarCtlr.h
index a9d77d3f..73734c6d 100644
--- a/obj/NiPSysEmitterDeclinationVarCtlr.h
+++ b/obj/NiPSysEmitterDeclinationVarCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysEmitterDeclinationVarCtlr;
diff --git a/obj/NiPSysEmitterInitialRadiusCtlr.h b/obj/NiPSysEmitterInitialRadiusCtlr.h
index 691108c5..9d465385 100644
--- a/obj/NiPSysEmitterInitialRadiusCtlr.h
+++ b/obj/NiPSysEmitterInitialRadiusCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysEmitterInitialRadiusCtlr;
diff --git a/obj/NiPSysEmitterLifeSpanCtlr.h b/obj/NiPSysEmitterLifeSpanCtlr.h
index e238b647..176ff5fa 100644
--- a/obj/NiPSysEmitterLifeSpanCtlr.h
+++ b/obj/NiPSysEmitterLifeSpanCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysEmitterLifeSpanCtlr;
diff --git a/obj/NiPSysEmitterSpeedCtlr.h b/obj/NiPSysEmitterSpeedCtlr.h
index 888799e4..25b0b620 100644
--- a/obj/NiPSysEmitterSpeedCtlr.h
+++ b/obj/NiPSysEmitterSpeedCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysEmitterSpeedCtlr;
diff --git a/obj/NiPSysGravityStrengthCtlr.h b/obj/NiPSysGravityStrengthCtlr.h
index 91b9472c..48120d2c 100644
--- a/obj/NiPSysGravityStrengthCtlr.h
+++ b/obj/NiPSysGravityStrengthCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysGravityStrengthCtlr;
diff --git a/obj/NiPSysModifierActiveCtlr.h b/obj/NiPSysModifierActiveCtlr.h
index ffae138a..57e711de 100644
--- a/obj/NiPSysModifierActiveCtlr.h
+++ b/obj/NiPSysModifierActiveCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "APSysCtlr.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysModifierActiveCtlr;
diff --git a/obj/NiPSysResetOnLoopCtlr.h b/obj/NiPSysResetOnLoopCtlr.h
index 101f1a3d..3294f46e 100644
--- a/obj/NiPSysResetOnLoopCtlr.h
+++ b/obj/NiPSysResetOnLoopCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiTimeController.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysResetOnLoopCtlr;
diff --git a/obj/NiPSysUpdateCtlr.h b/obj/NiPSysUpdateCtlr.h
index 037bf13b..8abb6037 100644
--- a/obj/NiPSysUpdateCtlr.h
+++ b/obj/NiPSysUpdateCtlr.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for licence. */
 #include "NiTimeController.h"
 namespace Niflib {
 
+
 #include "../gen/obj_defines.h"
 
 class NiPSysUpdateCtlr;
diff --git a/obj/NiPathInterpolator.cpp b/obj/NiPathInterpolator.cpp
index 152371d1..21ea60d8 100644
--- a/obj/NiPathInterpolator.cpp
+++ b/obj/NiPathInterpolator.cpp
@@ -37,3 +37,19 @@ const Type & NiPathInterpolator::GetType() const {
 	return TYPE;
 };
 
+Ref<NiPosData > NiPathInterpolator::GetPosData() const {
+	return posData;
+}
+
+void NiPathInterpolator::SetPosData( Ref<NiPosData > value ) {
+	posData = value;
+}
+
+Ref<NiFloatData > NiPathInterpolator::GetFloatData() const {
+	return floatData;
+}
+
+void NiPathInterpolator::SetFloatData( Ref<NiFloatData > value ) {
+	floatData = value;
+}
+
diff --git a/obj/NiPathInterpolator.h b/obj/NiPathInterpolator.h
index 3afde88b..c6ba63da 100644
--- a/obj/NiPathInterpolator.h
+++ b/obj/NiPathInterpolator.h
@@ -39,6 +39,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Links to NiPosData.
+	 */
+	Ref<NiPosData > GetPosData() const;
+	void SetPosData( Ref<NiPosData > value );
+
+	/*!
+	 * Links to NiFloatData.
+	 */
+	Ref<NiFloatData > GetFloatData() const;
+	void SetFloatData( Ref<NiFloatData > value );
+
 protected:
 	NI_PATH_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiPoint3Interpolator.cpp b/obj/NiPoint3Interpolator.cpp
index 8a11d98d..1b636d6a 100644
--- a/obj/NiPoint3Interpolator.cpp
+++ b/obj/NiPoint3Interpolator.cpp
@@ -36,3 +36,19 @@ const Type & NiPoint3Interpolator::GetType() const {
 	return TYPE;
 };
 
+Vector3 NiPoint3Interpolator::GetPoint3Value() const {
+	return point3Value;
+}
+
+void NiPoint3Interpolator::SetPoint3Value( Vector3 value ) {
+	point3Value = value;
+}
+
+Ref<NiPosData > NiPoint3Interpolator::GetData() const {
+	return data;
+}
+
+void NiPoint3Interpolator::SetData( Ref<NiPosData > value ) {
+	data = value;
+}
+
diff --git a/obj/NiPoint3Interpolator.h b/obj/NiPoint3Interpolator.h
index ebd20e60..3a7c91eb 100644
--- a/obj/NiPoint3Interpolator.h
+++ b/obj/NiPoint3Interpolator.h
@@ -38,6 +38,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Value when posed?  Value at time 0?
+	 */
+	Vector3 GetPoint3Value() const;
+	void SetPoint3Value( Vector3 value );
+
+	/*!
+	 * Reference to NiPosData.
+	 */
+	Ref<NiPosData > GetData() const;
+	void SetData( Ref<NiPosData > value );
+
 protected:
 	NI_POINT3_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiPointLight.cpp b/obj/NiPointLight.cpp
index b411748e..301d0f4d 100644
--- a/obj/NiPointLight.cpp
+++ b/obj/NiPointLight.cpp
@@ -35,3 +35,27 @@ const Type & NiPointLight::GetType() const {
 	return TYPE;
 };
 
+float NiPointLight::GetConstantAttenuation() const {
+	return constantAttenuation;
+}
+
+void NiPointLight::SetConstantAttenuation( float value ) {
+	constantAttenuation = value;
+}
+
+float NiPointLight::GetLinearAttenuation() const {
+	return linearAttenuation;
+}
+
+void NiPointLight::SetLinearAttenuation( float value ) {
+	linearAttenuation = value;
+}
+
+float NiPointLight::GetQuadraticAttenuation() const {
+	return quadraticAttenuation;
+}
+
+void NiPointLight::SetQuadraticAttenuation( float value ) {
+	quadraticAttenuation = value;
+}
+
diff --git a/obj/NiPointLight.h b/obj/NiPointLight.h
index ca14a109..6b1ee4d4 100644
--- a/obj/NiPointLight.h
+++ b/obj/NiPointLight.h
@@ -33,6 +33,24 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Constant Attenuation
+	 */
+	float GetConstantAttenuation() const;
+	void SetConstantAttenuation( float value );
+
+	/*!
+	 * Linear Attenuation
+	 */
+	float GetLinearAttenuation() const;
+	void SetLinearAttenuation( float value );
+
+	/*!
+	 * Quadratic Attenuation (see glLight)
+	 */
+	float GetQuadraticAttenuation() const;
+	void SetQuadraticAttenuation( float value );
+
 protected:
 	NI_POINT_LIGHT_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiSingleInterpolatorController.cpp b/obj/NiSingleInterpolatorController.cpp
index 5280f10a..38f49d65 100644
--- a/obj/NiSingleInterpolatorController.cpp
+++ b/obj/NiSingleInterpolatorController.cpp
@@ -36,10 +36,11 @@ const Type & NiSingleInterpolatorController::GetType() const {
 	return TYPE;
 };
 
-Ref<NiInterpolator> NiSingleInterpolatorController::GetInterpolator() const {
+Ref<NiInterpolator > NiSingleInterpolatorController::GetInterpolator() const {
 	return interpolator;
 }
 
-void NiSingleInterpolatorController::SetInterpolator( const Ref<NiInterpolator> & n ) {
-	interpolator = n;
-}
\ No newline at end of file
+void NiSingleInterpolatorController::SetInterpolator( Ref<NiInterpolator > value ) {
+	interpolator = value;
+}
+
diff --git a/obj/NiSingleInterpolatorController.h b/obj/NiSingleInterpolatorController.h
index d9c272aa..09b4b7f6 100644
--- a/obj/NiSingleInterpolatorController.h
+++ b/obj/NiSingleInterpolatorController.h
@@ -39,8 +39,12 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
-	Ref<NiInterpolator> GetInterpolator() const;
-	void SetInterpolator( const Ref<NiInterpolator> & n );
+	/*!
+	 * Link to interpolator.
+	 */
+	Ref<NiInterpolator > GetInterpolator() const;
+	void SetInterpolator( Ref<NiInterpolator > value );
+
 protected:
 	NI_SINGLE_INTERPOLATOR_CONTROLLER_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiSpotLight.cpp b/obj/NiSpotLight.cpp
index d0a5740b..777d420a 100644
--- a/obj/NiSpotLight.cpp
+++ b/obj/NiSpotLight.cpp
@@ -35,3 +35,19 @@ const Type & NiSpotLight::GetType() const {
 	return TYPE;
 };
 
+float NiSpotLight::GetCutoffAngle() const {
+	return cutoffAngle;
+}
+
+void NiSpotLight::SetCutoffAngle( float value ) {
+	cutoffAngle = value;
+}
+
+float NiSpotLight::GetExponent() const {
+	return exponent;
+}
+
+void NiSpotLight::SetExponent( float value ) {
+	exponent = value;
+}
+
diff --git a/obj/NiSpotLight.h b/obj/NiSpotLight.h
index 00b47d28..a19be9fa 100644
--- a/obj/NiSpotLight.h
+++ b/obj/NiSpotLight.h
@@ -33,6 +33,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The opening angle of the spot.
+	 */
+	float GetCutoffAngle() const;
+	void SetCutoffAngle( float value );
+
+	/*!
+	 * Describes the distribution of light. (see: glLight)
+	 */
+	float GetExponent() const;
+	void SetExponent( float value );
+
 protected:
 	NI_SPOT_LIGHT_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiTextureEffect.cpp b/obj/NiTextureEffect.cpp
index 89700ab0..f089fabf 100644
--- a/obj/NiTextureEffect.cpp
+++ b/obj/NiTextureEffect.cpp
@@ -36,3 +36,83 @@ const Type & NiTextureEffect::GetType() const {
 	return TYPE;
 };
 
+Matrix33 NiTextureEffect::GetModelProjectionMatrix() const {
+	return modelProjectionMatrix;
+}
+
+void NiTextureEffect::SetModelProjectionMatrix( Matrix33 value ) {
+	modelProjectionMatrix = value;
+}
+
+Vector3 NiTextureEffect::GetModelProjectionTransform() const {
+	return modelProjectionTransform;
+}
+
+void NiTextureEffect::SetModelProjectionTransform( Vector3 value ) {
+	modelProjectionTransform = value;
+}
+
+uint NiTextureEffect::GetTextureFiltering() const {
+	return textureFiltering;
+}
+
+void NiTextureEffect::SetTextureFiltering( uint value ) {
+	textureFiltering = value;
+}
+
+uint NiTextureEffect::GetTextureClamping() const {
+	return textureClamping;
+}
+
+void NiTextureEffect::SetTextureClamping( uint value ) {
+	textureClamping = value;
+}
+
+uint NiTextureEffect::GetTextureType() const {
+	return textureType;
+}
+
+void NiTextureEffect::SetTextureType( uint value ) {
+	textureType = value;
+}
+
+uint NiTextureEffect::GetCoordinateGenerationType() const {
+	return coordinateGenerationType;
+}
+
+void NiTextureEffect::SetCoordinateGenerationType( uint value ) {
+	coordinateGenerationType = value;
+}
+
+Ref<NiSourceTexture > NiTextureEffect::GetSourceTexture() const {
+	return sourceTexture;
+}
+
+void NiTextureEffect::SetSourceTexture( Ref<NiSourceTexture > value ) {
+	sourceTexture = value;
+}
+
+byte NiTextureEffect::GetClippingPlane() const {
+	return clippingPlane;
+}
+
+void NiTextureEffect::SetClippingPlane( byte value ) {
+	clippingPlane = value;
+}
+
+ushort NiTextureEffect::GetPs2L() const {
+	return ps2L;
+}
+
+void NiTextureEffect::SetPs2L( ushort value ) {
+	ps2L = value;
+}
+
+ushort NiTextureEffect::GetPs2K() const {
+	return ps2K;
+}
+
+void NiTextureEffect::SetPs2K( ushort value ) {
+	ps2K = value;
+}
+
diff --git a/obj/NiTextureEffect.h b/obj/NiTextureEffect.h
index a9e39093..59834edc 100644
--- a/obj/NiTextureEffect.h
+++ b/obj/NiTextureEffect.h
@@ -41,6 +41,71 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Model projection matrix.  Always identity?
+	 */
+	Matrix33 GetModelProjectionMatrix() const;
+	void SetModelProjectionMatrix( Matrix33 value );
+
+	/*!
+	 * Model projection transform.  Always (0,0,0)?
+	 */
+	Vector3 GetModelProjectionTransform() const;
+	void SetModelProjectionTransform( Vector3 value );
+
+	/*!
+	 * 0: FILTER_NEAREST 1: FILTER_BILERP 2: FILTER_TRILERP (Usual value) 3:
+	 * FILTER_NEAREST_MIPNEAREST 4: FILTER_NEAREST_MIPLERP 5:
+	 * FILTER_BILERP_MIPNAREST
+	 */
+	uint GetTextureFiltering() const;
+	void SetTextureFiltering( uint value );
+
+	/*!
+	 * 0: CLAMP_S_CLAMP (Common value) 1: CLAMP_S_WRAP 2: WRAP_S_CLAMP_T 3:
+	 * WRAP_S_WRAP_T (Common value)
+	 */
+	uint GetTextureClamping() const;
+	void SetTextureClamping( uint value );
+
+	/*!
+	 * 0: PROJECTED_LIGHT 1: PROJECTED_SHADOW 2: ENVIRONMENT_MAP (Usual
+	 * value) 3: FOG_MAP
+	 */
+	uint GetTextureType() const;
+	void SetTextureType( uint value );
+
+	/*!
+	 * 0: WORLD_PARALLEL 1: WORLD_PERSPECTIVE 2: SPHERE_MAP (Usual value) 3:
+	 * SPECULAR_CUBE_MAP 4: DIFFUSE_CUBE_MAP
+	 */
+	uint GetCoordinateGenerationType() const;
+	void SetCoordinateGenerationType( uint value );
+
+	/*!
+	 * Source texture index.
+	 */
+	Ref<NiSourceTexture > GetSourceTexture() const;
+	void SetSourceTexture( Ref<NiSourceTexture > value );
+
+	/*!
+	 * 0: Disabled (Usual value) 1: Enabled
+	 */
+	byte GetClippingPlane() const;
+	void SetClippingPlane( byte value );
+
+	/*!
+	 * 0?
+	 */
+	ushort GetPs2L() const;
+	void SetPs2L( ushort value );
+
+	/*!
+	 * 0xFFB5?
+	 */
+	ushort GetPs2K() const;
+	void SetPs2K( ushort value );
+
 protected:
 	NI_TEXTURE_EFFECT_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/obj/NiTransformInterpolator.cpp b/obj/NiTransformInterpolator.cpp
index 5ca00769..1f280b75 100644
--- a/obj/NiTransformInterpolator.cpp
+++ b/obj/NiTransformInterpolator.cpp
@@ -36,3 +36,35 @@ const Type & NiTransformInterpolator::GetType() const {
 	return TYPE;
 };
 
+Vector3 NiTransformInterpolator::GetTranslation() const {
+	return translation;
+}
+
+void NiTransformInterpolator::SetTranslation( Vector3 value ) {
+	translation = value;
+}
+
+Quaternion NiTransformInterpolator::GetRotation() const {
+	return rotation;
+}
+
+void NiTransformInterpolator::SetRotation( Quaternion value ) {
+	rotation = value;
+}
+
+float NiTransformInterpolator::GetScale() const {
+	return scale;
+}
+
+void NiTransformInterpolator::SetScale( float value ) {
+	scale = value;
+}
+
+Ref<NiTransformData > NiTransformInterpolator::GetData() const {
+	return data;
+}
+
+void NiTransformInterpolator::SetData( Ref<NiTransformData > value ) {
+	data = value;
+}
+
diff --git a/obj/NiTransformInterpolator.h b/obj/NiTransformInterpolator.h
index 746207ad..60d86bea 100644
--- a/obj/NiTransformInterpolator.h
+++ b/obj/NiTransformInterpolator.h
@@ -38,6 +38,30 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Translate.
+	 */
+	Vector3 GetTranslation() const;
+	void SetTranslation( Vector3 value );
+
+	/*!
+	 * Rotation.
+	 */
+	Quaternion GetRotation() const;
+	void SetRotation( Quaternion value );
+
+	/*!
+	 * Scale.
+	 */
+	float GetScale() const;
+	void SetScale( float value );
+
+	/*!
+	 * Refers to NiTransformData.
+	 */
+	Ref<NiTransformData > GetData() const;
+	void SetData( Ref<NiTransformData > value );
+
 protected:
 	NI_TRANSFORM_INTERPOLATOR_MEMBERS
 	STANDARD_INTERNAL_METHODS
-- 
GitLab