diff --git a/obj/APSysCtlr.cpp b/obj/APSysCtlr.cpp
index a5874b11b51129e5a053b7f5696c2be6de911c53..e507939aef3a380681fb3b62a6cbf6ac1df843b1 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 428114f37749857f78bcfdd8c6f0a8dd0e762023..0738662b87dc9b2280b3d05242dd41ee6db40490 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 a6a32bf03612b09f1922d5e634e718df28016a44..d5e997356ff27329e9cf2376d11b3c6420709eb3 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 7d0bebe1c9a248c9a0dfb333d7504e1982e6c508..91366c4436c70c6fed469bfc8e3503e509b12679 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 7cbbd5feb971356293c7aebd1e9241f255cc2896..538f983e663507359e604c7126749c8a2d1b4ca0 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 0308d7fdae1f4ffebe012ca8e9a66074f642f824..76f203af857d2aec924a436b36c88e92b15db6d3 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 8306991af1fd1db8ef4a47880724e5815e103cc4..47158d6f9959bd5dea4a20788d182250c31a9481 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 0c45a30d9603c3f54054f4de063d587a4af0a039..ef6234efa7d8b3786b15923ceba1983334e6b5b5 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 89ad7c040959621a465b6098791af54927a87f7e..64f8c73f2f4b46123a5a9522b76d73978655e299 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 a39de11be15b1d49c91b56237ec4b408e7c50695..d662b90c8a9da1c6c5c7a8dcebe7876b51bf09f6 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 029c4195984602562a76262f15f5424fa49a68fb..a3a17a06819277dcc9ac6e3dc6dd7c9f09bc791c 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 523ffa5ff38f5e76429ee12c43cb99dae56c616e..42b106ee90ba5abb71abbd3c625cc04cf7ef7d6e 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 860aec54654f70a07898565b8efff6dba390c1c3..9ef63c9eed5eae0a6afbba59b456210f7b7c73ad 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 ddda835f382571afef0bcf5a84bccfd12b41f70e..6c3cd0c2a853dfcff005fa7af118a22f4b6d3bd1 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 3d5c9ddfb2697e347d2e120889be24120b8eb1f8..270fbb5215931ddd9ad780e9427a1d8642108cb8 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 96472fa6a8f3c8563ed8fb43e629ef35594cfeeb..189292264dd189ee578d46bf627c5627126e43c1 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 c59b1d07a99fbda3f7e6cfab69138ba5e794d5ad..a488e850bdae11f2f6c15d6ce47b74181bd43aff 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 9ad6919189078da8dc33a592ce21d997698b77db..f7cc7be5e821171526ecf2f7f548b93547c9b154 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 e7d08a48f004a48bd525dce5d2412f910f1e3948..0b9332b9856986df7f16c6f4ce4e5aff6f735b1a 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 4b506d848ddca12a7792282fb2aa12e84577f11a..5322ffccf377d2aac9f74e98882d89acb38dd11d 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 68f88f0c0365dccb2fee2b516e41efe51400ed34..fdc8a62ea74f0d31a396638111167cf7d0c43eae 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 6915e53277d0cf8b5cb7895f2ba6da9193aaba9b..8919085340bcf3119f464246937e37e891d6c884 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 faad436a457e34b48b38c0190a99d18da4665279..d90140ce647ee5eb34bb68cd8b365d296d7fd720 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 cfb4ffc7beab01769e9b364ad58e89799ff82ce3..4c779aab4b80ede5ae5686cf4dc4595864789461 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 eba08a8946f1db1cc3ebc2a2cf69868b3c0f1834..4875ca956accc49b0ad9199f4c9d1f156b802c4c 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 6a42e47a24a73f02beb01285a39d749d14646915..51d69b3e75533d840f232ce28fd956b8771991f9 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 3779470b74dc3eff252665f90734b9f35c7f3dc1..0f708ba52bfc6d3bdc8abb714438a8c3c2bb4313 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 fa44ef4048193c0558be8801b2701975d909b39e..e1ca23846d1e1956f44b0e6439fc1ad679b90bf6 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 7dca6fe3931663388681676734947db3ab425f0c..9a984adfc7a12ce4b999b0ded7b50f5874957551 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 0c44a32f9da30408f5ca087a72dd0bf1947c5eb9..b474736f0ff36f655ee4338335b24a5d0607fc4a 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 5b4cdd15bcfa2f23ef126d07ac856d16f3aea65c..67f8513a9ce054a8f17190b2323c5572737de30d 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 7cf7f0a6bda6cad1ae8b4464e305baeaf52c6efe..73f25f6817b9d4b7e572797c20472cf9b4348a88 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 7d82a5f765d2fee4a0376cfa0a5ab6e91e64da10..fe44e7793611acc54015056fe494d2f824c1c0bd 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 b4ffd76ae4540d98a98efba6aba3325f27410b80..394ff2d93e69f3e2b7ae6fc5b3a9dd9e431dab27 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 012fe6681989b520a5924ae9255ae9fed28c35c9..4eeaf99a7da92401bd41236ab34372c6f822e08d 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 49da5baf7ed3567291f78f1f2cf31465a106ccf5..ee917bc550a1821a600292cf0fb063ce5b045ca3 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 891c47411a2e8e8c2813896056d4dc37f7bfe075..399d6b410a1f67e313296571833d77ac06a78277 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 151ca969bf130e46156c530c119a59f42c536e66..a26f16bb8ffbd861b816b1fe8257f12307935dff 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 06d2662128e3e5de9ee1553b0bde7ccd85fee2fe..9cde9c8d1b28622095f79c231cc5bad464cdb068 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 ff502eaa4787613c08234ec0ec7c8912be2348f4..1dfd35c494548a01ed4c5370463e4e3527c76ab2 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 cd00d8db6532c8795f0b492520ad4499b54f3408..2befe0b58185eff82bf96674e8471e33013f327f 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 5f1b4d029f2f64a2669864a700c0e3b2e2752dc2..d5fedf8202ca120eccfa3983a978979460e507ce 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 24980e263cd9ae957fd3c63284b68c1580ead6bd..ca23c6b2faf8dac7fd71c308788a18eac4062f91 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 b3f4e97a8cae7f5435de62381239c91177ec44ac..b5df6684e8aa6d1a6009ad7fcedccfbe45d8323b 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 7b663a030d6dcca3f03260b559469afd6dd22886..f2dd6a218e710b01f347fcfb8153c8096fcc7202 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 a9d77d3f6cca5db9bf0483f7ff079fe732b5f5a9..73734c6d4169c48a0c69013c98c05aaff8978736 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 691108c5a293d222f212ebd8c253ac5be2f92cad..9d465385b479c47296cbe44c82b275902c6ab7eb 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 e238b647b49512fbce3eb88abf5fd58fafa93609..176ff5faa98001073b7792cc8f4ce1a80d900ada 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 888799e4895f9ecb6f85d62f856966cbb8535d82..25b0b62005e4ddf95b419f005db3ae18ed380801 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 91b9472ccfa73996776eb665cb6a86dc1a1586b0..48120d2c2808e7ce3edbab0b0970ec53bb4f69d0 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 ffae138a228bb83203d90a16b627f2207455b5ee..57e711deeb6c62d0f819be626803481549f01b9c 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 101f1a3d7b2e521a40d5918faffeb03340ae6b4b..3294f46e4cef50b204f250848253e67253578a51 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 037bf13bd3d6589bf691538442afa13d940a5f92..8abb60373a2a17d24009173c704e7bbcc90f2c9d 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 152371d1cd833748a0cc7f4edba83554d147a2de..21ea60d882f273754f9f11f865b6c45d069073f8 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 3afde88b1715a83abbf2a35cd51f4677ca7af367..c6ba63da1bd30b1f5f1aaccc75816543fb3ad127 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 8a11d98d798ea6d6448343c4325bb6a58561aee8..1b636d6aa7f1c7021849d7d48c2a798c27336fdf 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 ebd20e60fd8f90b1b642e27436cb78d6fef2db3b..3a7c91eb1262b7f9346234d73eddb075c06e2e90 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 b411748e8663dc0a28e75122dbb11a7fedd1c309..301d0f4dfc73038a12ed81c1050dd79c004c72f7 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 ca14a109e8c7f2aeea7891dc336da29315333276..6b1ee4d48df8514a7786bc6f196f30598443d96d 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 5280f10aa86488f834e2703893600c398a60e0ea..38f49d65e061e20455af49c34b0c95ce16cca329 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 d9c272aae8fd316ba7864247581161a6a66c2951..09b4b7f648688f09db4e93bfba6191c6b7ebaa02 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 d0a5740b92089ed14120f46beaa38ef54cd882e3..777d420af86ab22aeb0a08c8a3d22fb128686209 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 00b47d28ae75074937c1a67707b494c9999a7c8b..a19be9fa358388bfc4cf3783714776bd729d8b68 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 89700ab02f88bab9e2f4cb61a5d86943e533a4b7..f089fabfb202b2a06ff9a0fc434da860a2f2e1a8 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 a9e39093606c2a482fb36752bf39ec64d780c1b5..59834edcb89b2c09128ab32ea4d6e0974092f7b8 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 5ca0076990b78d4cc36361311191f38c0f35d864..1f280b75f0c7123b27df40950ae2572ef2a4e1e9 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 746207ad74acdebb71b507bdcd53582d17696a3b..60d86bea35b989ae2f9f03011c18a47dc964477e 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