diff --git a/include/obj/BSBound.h b/include/obj/BSBound.h
index 739ac55e20a9aaf734fb3c0158a71f0c8c79c8dd..861ff8044cc4120f9ab021447dbe4bec7b62c480 100644
--- a/include/obj/BSBound.h
+++ b/include/obj/BSBound.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the center point of the bounding box.
 	 * \return The center point of the bounding box.
@@ -55,6 +57,8 @@ public:
 	 */
 	NIFLIB_API void SetDimensions( const Vector3 & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	B_S_BOUND_MEMBERS
 private:
diff --git a/include/obj/BSFurnitureMarker.h b/include/obj/BSFurnitureMarker.h
index 3693b6269b6238b2df3b2d71a324d08f2442c0aa..3e92a6cb722fc872c639266ddf6cdde020996afc 100644
--- a/include/obj/BSFurnitureMarker.h
+++ b/include/obj/BSFurnitureMarker.h
@@ -34,6 +34,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the furniture marker positions.  These are markers that show where the character will end up if he/she sits or lies on this object.
 	 * \return The furniture marker positions.
@@ -46,6 +48,8 @@ public:
 	 */
 	NIFLIB_API void SetFurniturePositions( const vector<FurniturePosition> & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	B_S_FURNITURE_MARKER_MEMBERS
 private:
diff --git a/include/obj/NiAVObject.h b/include/obj/NiAVObject.h
index c6926d7dd3ec3280763926b89990f9ee70a0499b..40485f3df7a1a6f6243af6ce2de8f52a4e616b1d 100644
--- a/include/obj/NiAVObject.h
+++ b/include/obj/NiAVObject.h
@@ -39,6 +39,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Clears all embedded bounding box information.  Older NIF files can have a bounding box specified in them which will be used for collision detection instead of evaluating the triangles.
 	 */
@@ -239,6 +241,9 @@ public:
 
 protected:
 	NiNode * parent;
+
+	//--END MISC CUSTOM CODE--//
+
 	NI_A_V_OBJECT_MEMBERS
 private:
 	void InternalRead( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
diff --git a/include/obj/NiAlphaProperty.h b/include/obj/NiAlphaProperty.h
index b975280fee2b9fd093d8a3f1aa4fff7fdbc21681..b9b0ee13a845493d7196c5437e3e812c33590778 100644
--- a/include/obj/NiAlphaProperty.h
+++ b/include/obj/NiAlphaProperty.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! Used to specify the source and destination blending functions.  The function of each value is equivalent to the OpenGL blending function of similar name. */
 	enum BlendFunc {
 		BF_ONE = 0x00, 
@@ -154,6 +156,8 @@ public:
 	 */
 	NIFLIB_API void SetFlags( unsigned short n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_ALPHA_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiBSplineBasisData.h b/include/obj/NiBSplineBasisData.h
index 8b97c4560a1d3a215cbb81be096ac2a7ff46c9f8..d7c1eb8a1afaaf3c5eacb13f701319743348a607 100644
--- a/include/obj/NiBSplineBasisData.h
+++ b/include/obj/NiBSplineBasisData.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives the current number of spline control points.  This is usually the number of frames for animation.
 	 * \return The number of spline control points.
@@ -42,6 +44,8 @@ public:
 	 */
 	NIFLIB_API void SetNumControlPt( unsigned int value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_B_SPLINE_BASIS_DATA_MEMBERS
 private:
diff --git a/include/obj/NiBSplineCompTransformInterpolator.h b/include/obj/NiBSplineCompTransformInterpolator.h
index 6096388b32383f014d745297f02a1745708dd6f3..a06160eac3396f665614dead0341cd0da677efa8 100644
--- a/include/obj/NiBSplineCompTransformInterpolator.h
+++ b/include/obj/NiBSplineCompTransformInterpolator.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the base translation when a translate curve is not defined.
 	 * \return The base translation.
@@ -188,6 +190,8 @@ public:
 	 */
 	NIFLIB_API int GetNumControlPt() const;
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_B_SPLINE_COMP_TRANSFORM_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBSplineData.h b/include/obj/NiBSplineData.h
index 7433969c17c80847cc1af0bc4f9f19d6b9bd9604..fbe969d984d4c6ebf8a6a66b846f28893b0d0492 100644
--- a/include/obj/NiBSplineData.h
+++ b/include/obj/NiBSplineData.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Get Signed shorts representing the spline data scaled by SHRT_MAX.
 	 * \return The spline data.
@@ -44,6 +46,8 @@ public:
 	 */
 	NIFLIB_API vector<short> GetControlPointRange(int offset, int count) const;
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_B_SPLINE_DATA_MEMBERS
 private:
diff --git a/include/obj/NiBSplineInterpolator.h b/include/obj/NiBSplineInterpolator.h
index dced4a011f9432b32c4d759961a359b52608b027..9f1f1bce827d77f8aecd0866f0feb6e8a0997935 100644
--- a/include/obj/NiBSplineInterpolator.h
+++ b/include/obj/NiBSplineInterpolator.h
@@ -34,6 +34,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the animation start time.
 	 * \return The animation start time
@@ -83,10 +85,10 @@ public:
 	NIFLIB_API void SetBasisData( NiBSplineBasisData * value );
 
 protected:
+	// internal method for bspline calculation in child classes
+	static void bspline(int n, int t, int l, float *control, float *output, int num_output);
 
-   // internal method for bspline calculation in child classes
-   static void bspline(int n, int t, int l, float *control, float *output, int num_output);
-
+	//--END CUSTOM CODE--//
 protected:
 	NI_B_SPLINE_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBillboardNode.h b/include/obj/NiBillboardNode.h
index dc1576522fb4a0bc65da62b8ae6ac9c143db7e65..dcb0bfb353c2d8faa419aaaa743d08ae3c484047 100644
--- a/include/obj/NiBillboardNode.h
+++ b/include/obj/NiBillboardNode.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retreives the current bilboard mode of this bilboard node.  This determines how it will cause the node to face the camera.
 	 * \return The current bilboard mode.
@@ -44,6 +46,8 @@ public:
 	 */
 	NIFLIB_API void SetBillboardMode( BillboardMode value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BILLBOARD_NODE_MEMBERS
 private:
diff --git a/include/obj/NiBinaryExtraData.h b/include/obj/NiBinaryExtraData.h
index 2cfffd3926fade9cf391169e0a3d29e4996e1710..fd4ea05e07d7c8208b264ed7b009227e18e672a8 100644
--- a/include/obj/NiBinaryExtraData.h
+++ b/include/obj/NiBinaryExtraData.h
@@ -33,6 +33,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the binary data stored in this object.
 	 * \return The binary data stored in this object.
@@ -45,6 +47,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const vector<byte> & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BINARY_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiBlendBoolInterpolator.h b/include/obj/NiBlendBoolInterpolator.h
index ad899adb0793a89f59683727f0b6c1376d36f354..68dc58b4b848cf08035990bdaa45f1fa959befa9 100644
--- a/include/obj/NiBlendBoolInterpolator.h
+++ b/include/obj/NiBlendBoolInterpolator.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the boolean value stored in this object.  Perhaps this is the current interpolated value.
 	 * \return The boolean value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetBoolValue( byte value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BLEND_BOOL_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBlendFloatInterpolator.h b/include/obj/NiBlendFloatInterpolator.h
index df1596f20577d8f6c0139e32c7bde05ed4c37737..27c1a191c93b786ff8cf79d096472e111cdd150e 100644
--- a/include/obj/NiBlendFloatInterpolator.h
+++ b/include/obj/NiBlendFloatInterpolator.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the floating point value stored in this object.  Perhaps this is the current interpolated value.
 	 * \return The floating point value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetFloatValue( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BLEND_FLOAT_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBlendPoint3Interpolator.h b/include/obj/NiBlendPoint3Interpolator.h
index 0586c5f3a28492ca049e2f69a01ecf1621c01d7e..5a01dc97135d57c2ab70b9f2578fc88263e7a66e 100644
--- a/include/obj/NiBlendPoint3Interpolator.h
+++ b/include/obj/NiBlendPoint3Interpolator.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the 3D point value stored in this object.  Perhaps this is the current interpolated value.
 	 * \return The 3D point value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetPointValue( Vector3 value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BLEND_POINT3_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBoolData.h b/include/obj/NiBoolData.h
index efc385f8cddea1c8254e934ac3fbb7b59e58fcb6..209bced488502e68db9f6593ad97d5cfb4cc6490 100644
--- a/include/obj/NiBoolData.h
+++ b/include/obj/NiBoolData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! Retrieves the type of boolean interpolation being used.
 	 * \return The boolean key type specifing the type of interpolation being used.
 	 * \sa NiBoolData::SetKeyType
@@ -56,6 +58,8 @@ public:
 	 */
 	NIFLIB_API void SetKeys( vector< Key<unsigned char> > const & keys );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BOOL_DATA_MEMBERS
 private:
diff --git a/include/obj/NiBoolInterpolator.h b/include/obj/NiBoolInterpolator.h
index fd5e00fa22869c0787a9dd7c3a60ae2bb254cd0d..b4a3a0ef4adcb3eedd9d27fa1af2061f7d7a715e 100644
--- a/include/obj/NiBoolInterpolator.h
+++ b/include/obj/NiBoolInterpolator.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the boolean value stored in this object.  Perhaps this is the current interpolated value, the value when posed, or at time index 0.
 	 * \return The boolean value stored in this object.
@@ -60,6 +62,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiBoolData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BOOL_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBoolTimelineInterpolator.h b/include/obj/NiBoolTimelineInterpolator.h
index 20969e1bd39d28d31da828717e3aaa9783d7ccc3..5a9babd038d47fb9318ffd6aff3758468a309727 100644
--- a/include/obj/NiBoolTimelineInterpolator.h
+++ b/include/obj/NiBoolTimelineInterpolator.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the boolean value stored in this object.  Perhaps this is the current interpolated value, the value when posed, or at time index 0.
 	 * \return The boolean value stored in this object.
@@ -60,6 +62,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiBoolData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BOOL_TIMELINE_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiBooleanExtraData.h b/include/obj/NiBooleanExtraData.h
index 80a8c1e83748b7e2fcac560d5f2b6f9602e71e56..dbe1270a120b7bd4fa883a1de25e0f8209a74447 100644
--- a/include/obj/NiBooleanExtraData.h
+++ b/include/obj/NiBooleanExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the boolean value stored in this object.
 	 * \return The boolean value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetData( bool n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_BOOLEAN_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiCamera.h b/include/obj/NiCamera.h
index 372e7debfa7ce733c2a05eda1873ebc142b9a1d3..d7dd2e00ee3c1e35b23fd9ae9dc485e871ad61a0 100644
--- a/include/obj/NiCamera.h
+++ b/include/obj/NiCamera.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the frustum left value.
 	 * \return The frstum left value.
@@ -175,6 +177,8 @@ public:
 	 */
 	NIFLIB_API void SetLodAdjust( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_CAMERA_MEMBERS
 private:
diff --git a/include/obj/NiCollisionObject.h b/include/obj/NiCollisionObject.h
index 4305c6d7e5917c9826e6f377ea807b56eca8a54c..87a0858daefcf50b5b06e9deb11736e872bf381f 100644
--- a/include/obj/NiCollisionObject.h
+++ b/include/obj/NiCollisionObject.h
@@ -38,6 +38,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Returns the NiNode that this collision object is connected to, if any.
 	 * \return The NiNode that this collision object is connected to, or NULL if it is not connected to any nodes.
@@ -59,6 +61,8 @@ public:
 	/*! NIFLIB_HIDDEN function.  For internal use only */
 	NIFLIB_HIDDEN void SetTarget( NiAVObject * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_COLLISION_OBJECT_MEMBERS
 private:
diff --git a/include/obj/NiColorData.h b/include/obj/NiColorData.h
index 055ddff47e65e4aaef82118d06552ed0475c179f..e21cd7dfa0cdfa71843b8339007143493a1018a7 100644
--- a/include/obj/NiColorData.h
+++ b/include/obj/NiColorData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! Retrieves the type of color interpolation being used.
 	 * \return The color key type specifing the type of interpolation being used.
 	 * \sa NiColorData::SetKeyType
@@ -55,6 +57,9 @@ public:
 	 * \sa NiColorData::GetKeys, Key
 	 */
 	NIFLIB_API void SetKeys( vector< Key<Color4> > const & keys );
+
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_COLOR_DATA_MEMBERS
 private:
diff --git a/include/obj/NiColorExtraData.h b/include/obj/NiColorExtraData.h
index 04cc66fd1ff659af5fbd7fdf2eecb4c55438b2b0..7b77653e3764315a64b7f49be6c84ada409c5c9c 100644
--- a/include/obj/NiColorExtraData.h
+++ b/include/obj/NiColorExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the RGBA color value stored in this object.
 	 * \return The RGBA color value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const Color4 & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_COLOR_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiControllerManager.h b/include/obj/NiControllerManager.h
index f7d309efa7af1430aa915c508d615ad74cc60f7a..fdfea11e05fe2391cc43c7f18ed34a12bbee3d36 100644
--- a/include/obj/NiControllerManager.h
+++ b/include/obj/NiControllerManager.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 *  Used to determine whether or not the animation sequences are cumulative.
 	 * \return True if animation sequences are cumulative, false otherwise.
@@ -61,7 +63,6 @@ public:
 	 */
 	NIFLIB_API void SetControllerSequences( const vector< Ref<NiControllerSequence> > & value );
 
-
 	/*!
 	 * Adds a new controller sequence to this controller manager.
 	 * \param[in] obj The new controller sequence to add.
@@ -91,6 +92,8 @@ public:
 	 */
 	NIFLIB_API void SetObjectPalette( NiDefaultAVObjectPalette * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_CONTROLLER_MANAGER_MEMBERS
 private:
diff --git a/include/obj/NiControllerSequence.h b/include/obj/NiControllerSequence.h
index 4a32ce6b4dd85e94e515c9fa4f36f253e14e3f08..038cbb64bce236f641973aa769a63f44fcab0994 100644
--- a/include/obj/NiControllerSequence.h
+++ b/include/obj/NiControllerSequence.h
@@ -40,6 +40,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Returns the name of this NiControllerSequence object. This is also the name of the action
 	 * associated with this file. For instance, if the original NIF file is called
@@ -172,7 +174,6 @@ public:
 	 */
 	NIFLIB_API void SetControllerPriority( int controller, int priority );
 
-
 	/*!
 	 * Gets weight/priority of animation?
 	 * \return The weight/priority of the animation?
@@ -202,6 +203,7 @@ protected:
    NiControllerManager * GetParent() const;
    void SetParent( NiControllerManager * parent );
 
+//--END CUSTOM CODE--//
 	NI_CONTROLLER_SEQUENCE_MEMBERS
 private:
 	void InternalRead( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
diff --git a/include/obj/NiDefaultAVObjectPalette.h b/include/obj/NiDefaultAVObjectPalette.h
index 6a05a888910e255168d32e243489a5b32304d29a..e72a8777659ffcfd656854e0bb29b35fbb633799 100644
--- a/include/obj/NiDefaultAVObjectPalette.h
+++ b/include/obj/NiDefaultAVObjectPalette.h
@@ -35,17 +35,21 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the AV Objects stored in this palette.
 	 * \return The AV Objects stored in this palette.
 	 */
-	NIFLIB_API vector<Ref<NiAVObject> > GetObjs() const;
+	NIFLIB_API vector< Ref<NiAVObject> > GetObjs() const;
 
 	/*!
 	 * Sets the AV Objects stored in this palette.
 	 * \return The new AV Objects to be stored in this palette.
 	 */
-	NIFLIB_API void SetObjs( const vector<Ref<NiAVObject> >& value );
+	NIFLIB_API void SetObjs( const vector< Ref<NiAVObject> > & value );
+
+	//--END CUSTOM CODE--//
 
 protected:
 	NI_DEFAULT_A_V_OBJECT_PALETTE_MEMBERS
diff --git a/include/obj/NiDitherProperty.h b/include/obj/NiDitherProperty.h
index 56c2c91655efe576e8dbf733547c8586d0bff306..bee66134371b2e4f5a6475e9ad3567d4e57c785e 100644
--- a/include/obj/NiDitherProperty.h
+++ b/include/obj/NiDitherProperty.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_API virtual string asString( bool verbose = false ) const;
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
+
+	//--BEGIN MISC CUSTOM CODE--//
 	
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetFlags( unsigned short n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_DITHER_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiDynamicEffect.h b/include/obj/NiDynamicEffect.h
index 7955d037ef115a729dae26505294826120a79701..60a75ef0803906ade8fd0e8cc3e8eb2424d08ac3 100644
--- a/include/obj/NiDynamicEffect.h
+++ b/include/obj/NiDynamicEffect.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the current switch state for this effect.  Perhaps this turns effect on and off?
 	 * \return The current switch state for this object.
@@ -60,6 +62,8 @@ public:
 	 */
 	NIFLIB_API void SetAffectedNodes( const vector<Ref<NiAVObject > >& value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_DYNAMIC_EFFECT_MEMBERS
 private:
diff --git a/include/obj/NiExtraData.h b/include/obj/NiExtraData.h
index 8d379ea7e78e6ede78fe702c3ac7e0a633dbbe39..fc93c46d3b61e3c0dbe17f63da8e3420a0198484 100644
--- a/include/obj/NiExtraData.h
+++ b/include/obj/NiExtraData.h
@@ -33,6 +33,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieve the name of this NiExtraData object.  Names are only stored
 	 * in later version NIF files so this may not be necessary depending on
@@ -72,6 +74,8 @@ public:
 	 */
 	NIFLIB_HIDDEN void SetNextExtraData( NiExtraData * obj );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiFloatData.h b/include/obj/NiFloatData.h
index 4b6917e8b95656f7d5723549c3d211d6633eb7e8..bcaa295b5b604fb07720c0f5f5a6d15e4a2a383f 100644
--- a/include/obj/NiFloatData.h
+++ b/include/obj/NiFloatData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! Retrieves the type of float interpolation being used.
 	 * \return The float key type specifing the type of interpolation being used.
 	 * \sa NiFloatData::SetKeyType
@@ -56,6 +58,8 @@ public:
 	 */
 	NIFLIB_API void SetKeys( vector< Key<float> > const & keys );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_FLOAT_DATA_MEMBERS
 private:
diff --git a/include/obj/NiFloatExtraData.h b/include/obj/NiFloatExtraData.h
index 5112db6a341645e0c8dacdb389c19fc61e675bff..699ad8477163f9dd72185c41036cda33578822f4 100644
--- a/include/obj/NiFloatExtraData.h
+++ b/include/obj/NiFloatExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the floating point value stored in this object.
 	 * \return The floating point value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetData( float n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_FLOAT_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiFloatInterpolator.h b/include/obj/NiFloatInterpolator.h
index 719f25ec4619817296133ebb6a9e0c24614126e9..9cef93ef3e4817be1de5bde93ddc64f830cea946 100644
--- a/include/obj/NiFloatInterpolator.h
+++ b/include/obj/NiFloatInterpolator.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the floating point value stored in this object.  Perhaps this is the current interpolated value, the value when posed, or at time index 0.
 	 * \return The floating point value stored in this object.
@@ -60,6 +62,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiFloatData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_FLOAT_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiFloatsExtraData.h b/include/obj/NiFloatsExtraData.h
index 7af984e315074f9537f6523c0896fed26da1208d..331a0fb5804252e4920e747e4d09baa24254c0b0 100644
--- a/include/obj/NiFloatsExtraData.h
+++ b/include/obj/NiFloatsExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the floating point values stored in this object.
 	 * \return The floating point values stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const vector<float> & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_FLOATS_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiFogProperty.h b/include/obj/NiFogProperty.h
index 1642cb8b543b4e56c99d9d5739f3b92efb4ded66..e97075ff33df2c9f33b1f429cca08908b48abb43 100644
--- a/include/obj/NiFogProperty.h
+++ b/include/obj/NiFogProperty.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -67,6 +69,8 @@ public:
 	 */
 	NIFLIB_API void SetFogColor(Color3 value);
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_FOG_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiGeomMorpherController.h b/include/obj/NiGeomMorpherController.h
index 2537acfb5c59436d75561e505d7fd2573bb23233..cf14668bc210fe01a63ac7409f94bb80e952a2ee 100644
--- a/include/obj/NiGeomMorpherController.h
+++ b/include/obj/NiGeomMorpherController.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	//TODO: Lots of unknown data in this object
 
 	/*!
@@ -63,6 +65,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiMorphData * n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_GEOM_MORPHER_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h
index 55b6a2d83c8f4f32be18eace103f4c173070660c..3ae16fd9d494ecd8e624c6f3ecb67af8840182ca 100644
--- a/include/obj/NiGeometry.h
+++ b/include/obj/NiGeometry.h
@@ -42,6 +42,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Binds this geometry to a list of bones.  Creates and attatches a
 	 * NiSkinInstance and NiSkinData class. The bones must have a common
@@ -135,6 +137,8 @@ public:
 	 */
 	NIFLIB_API bool IsSkin();
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_GEOMETRY_MEMBERS
 private:
diff --git a/include/obj/NiGeometryData.h b/include/obj/NiGeometryData.h
index c8fec40ab30915d708c5d4c9f0b0b31323d0c9a5..ef18914389203648f46e8586ff616d311db4e417 100644
--- a/include/obj/NiGeometryData.h
+++ b/include/obj/NiGeometryData.h
@@ -40,6 +40,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	//--Counts--//
 
 	/*! 
@@ -145,6 +147,8 @@ public:
 	 */
 	NIFLIB_API void Transform( const Matrix44 & transform );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_GEOMETRY_DATA_MEMBERS
 private:
diff --git a/include/obj/NiImage.h b/include/obj/NiImage.h
index 2d9af1826a96837c013108ac00d8f8b3e39896c7..1c8cc8a6fe8041aa56ed2e49cef112b276677a1b 100644
--- a/include/obj/NiImage.h
+++ b/include/obj/NiImage.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Sets a new external file texture.  Removes any existing texture references.
 	 * \param[in] file_name The file name of the new external texture.  Often needs to follow game guidlines to be found.
@@ -44,6 +46,7 @@ public:
 	 */
 	NIFLIB_API string GetTextureFileName() const;
 
+	//--END CUSTOM CODE--//
 
 protected:
 	NI_IMAGE_MEMBERS
diff --git a/include/obj/NiIntegerExtraData.h b/include/obj/NiIntegerExtraData.h
index 26f483c2d23652102324afa3bdd199170227d030..3650d7ebbda7ac5e38f0eeecc464ceccf0ef6a3e 100644
--- a/include/obj/NiIntegerExtraData.h
+++ b/include/obj/NiIntegerExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the integer value stored in this object.
 	 * \return The integer value stored in this object.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetData( unsigned int n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_INTEGER_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiIntegersExtraData.h b/include/obj/NiIntegersExtraData.h
index 154980fc14aec0219e18ed73980afcdb55202b84..45146c7994062812e5ae67fc701281678bd813de 100644
--- a/include/obj/NiIntegersExtraData.h
+++ b/include/obj/NiIntegersExtraData.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the integer values stored in this object.
 	 * \return The integer values stored in this object.
@@ -42,6 +44,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const vector<unsigned int > & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_INTEGERS_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiKeyframeController.h b/include/obj/NiKeyframeController.h
index b7ad64aa49af270d8a942f7f6e4ef38705c775d3..38654260f7e7e881c4c0bc5d10120fc28ed5dfdd 100644
--- a/include/obj/NiKeyframeController.h
+++ b/include/obj/NiKeyframeController.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives the keyframe data used by this controller.
 	 * \return The keyframe data.
@@ -49,6 +51,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiKeyframeData * n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_KEYFRAME_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiKeyframeData.h b/include/obj/NiKeyframeData.h
index 0fdfbc14a0bdd7c812fe50c2c84e932f21e7514f..3d8f700e833884809b511a1df2f5e5437a0f5ac7 100644
--- a/include/obj/NiKeyframeData.h
+++ b/include/obj/NiKeyframeData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	//--Rotate--//
 
 	/*! Retrieves the type of rotation interpolation being used.
@@ -184,6 +186,9 @@ public:
 
 protected:
 	void UpdateRotationKeyCount();
+
+	//--END CUSTOM CODE--//
+
 	NI_KEYFRAME_DATA_MEMBERS
 private:
 	void InternalRead( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
diff --git a/include/obj/NiLODNode.h b/include/obj/NiLODNode.h
index 2870520b2ddb9163317c23f7660c99125d4fba22..38aa0393645739b236d7f72468fbfc82802c54ce 100644
--- a/include/obj/NiLODNode.h
+++ b/include/obj/NiLODNode.h
@@ -39,6 +39,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Get the point to calculate distance from for switching?
 	 * \return The LOD center.
@@ -75,6 +77,8 @@ public:
 	 */
 	NIFLIB_API void SetLODLevelData( Ref<NiLODData > value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_L_O_D_NODE_MEMBERS
 private:
diff --git a/include/obj/NiLight.h b/include/obj/NiLight.h
index 40ef285e9bb41ed8817c9aae5aa6993878ff86fd..f31816b803090497f2163ed00684bfbfda2043e9 100644
--- a/include/obj/NiLight.h
+++ b/include/obj/NiLight.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the current dimmer value for this light.  Used to turn the light intensity up or down.
 	 * \return The current dimmer value.
@@ -79,6 +81,8 @@ public:
 	 */
 	NIFLIB_API void SetSpecularColor( Color3 value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_LIGHT_MEMBERS
 private:
diff --git a/include/obj/NiLookAtInterpolator.h b/include/obj/NiLookAtInterpolator.h
index 07813d5ba5784c743693ed659a8bd4cd12011552..d4db74cd7f433993ab22b0b48fc24543431d998b 100644
--- a/include/obj/NiLookAtInterpolator.h
+++ b/include/obj/NiLookAtInterpolator.h
@@ -38,17 +38,19 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the node that this interpolator is focused on.
 	 * \return The node that this interpolator is focused on.
 	 */
-	NIFLIB_API Ref<NiNode > GetLookAt() const;
+	NIFLIB_API Ref<NiNode> GetLookAt() const;
 
 	/*!
 	 * Sets the node that this interpolator will focus on.
 	 * \return The new node that the interpolator will focus on, or NULL to clear the current one.
 	 */
-	NIFLIB_API void SetLookAt( Ref<NiNode > value );
+	NIFLIB_API void SetLookAt( Ref<NiNode> value );
 
 	/*!
 	 * Gets the translation of the interpolator.  Could be the necessary value to point at the referenced node in the current pose.
@@ -86,6 +88,8 @@ public:
 	 */
 	NIFLIB_API void SetScale( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_LOOK_AT_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiMaterialProperty.h b/include/obj/NiMaterialProperty.h
index 835766ae86b450551a51d391ab9d1bf52b386c8e..feffb93d0a994fe1b034258fe25074656966fd3d 100644
--- a/include/obj/NiMaterialProperty.h
+++ b/include/obj/NiMaterialProperty.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -115,6 +117,8 @@ public:
 	 */
 	NIFLIB_API void SetGlossiness( float n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_MATERIAL_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiMorphData.h b/include/obj/NiMorphData.h
index 26d999ad615a32dc6abb865819d280d5899cb5f2..8c96536f7d3cb21d311086455c2a282f0efd324d 100644
--- a/include/obj/NiMorphData.h
+++ b/include/obj/NiMorphData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the number of verticies used in the morph targets.  This must be the same as the number of verticies in the base mesh that the morph controller for which this object stores data is attatched.  This is not done automatically by Niflib.
 	 * \return The number of vertices used in the morph target meshes.
@@ -107,6 +109,8 @@ public:
 	 */
 	NIFLIB_API void SetMorphVerts( int n, const vector<Vector3> & in );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_MORPH_DATA_MEMBERS
 private:
diff --git a/include/obj/NiMultiTargetTransformController.h b/include/obj/NiMultiTargetTransformController.h
index 6a17486f19239528d1f8ada3b474ea81dc2da7f5..adc0930a6b52b401db930e879758bfee1bd474a8 100644
--- a/include/obj/NiMultiTargetTransformController.h
+++ b/include/obj/NiMultiTargetTransformController.h
@@ -34,6 +34,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives a list of the extra NiNode targets to be controlled.
 	 * \return The NiNode targets to be controlled.
@@ -46,6 +48,8 @@ public:
 	 */
 	NIFLIB_API void SetExtraTargets( const vector< Ref<NiNode> > & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_MULTI_TARGET_TRANSFORM_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiNode.h b/include/obj/NiNode.h
index 811807cbb208bdb3a57b171a304bd1d924386c31..23519091a7889436bf42898cb4a6e99b39415bae 100644
--- a/include/obj/NiNode.h
+++ b/include/obj/NiNode.h
@@ -39,10 +39,31 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
+	/*!
+	 * Adds a child AV Object to this node.  This is a sub-leaf in the scene graph contained in a NIF file.  Each AV Object can only be the child of one node.
+	 * \param[in] obj The AV Object to add as a child of this node.
+	 */
 	NIFLIB_API void AddChild( Ref<NiAVObject> obj );
+
+	/*!
+	 * Removes an AV Object child from this node.  This is a sub-leaf in the scene graph contained in a NIF file.  Each AV Object can only be the child of one node.
+	 * \param[in] obj The AV Object to remove as a child from this node.
+	 */
 	NIFLIB_API void RemoveChild( Ref<NiAVObject> obj );
+
+	/*!
+	 * Removes all AV Object children from this node.  These are a sub-leafs in the scene graph contained in a NIF file.  Each AV Object can only be the child of one node.
+	 */
 	NIFLIB_API void ClearChildren();
+
+	/*!
+	 * Retrieves all AV Object children from this node.  These are a sub-leafs in the scene graph contained in a NIF file.  Each AV Object can only be the child of one node.
+	 * \param[in] A list of all the AV Objects that are children of this node in the scene graph.
+	 */
 	NIFLIB_API vector< Ref<NiAVObject> > GetChildren() const;
+
 #ifdef USE_NIFLIB_TEMPLATE_HELPERS
 	template <typename ChildEquivalence>
 	inline void SortChildren(ChildEquivalence pred) {
@@ -119,6 +140,9 @@ private:
 	void RepositionGeom( NiAVObjectRef root );
 protected:
 	list<NiSkinInstance*> skins;
+
+	//--END CUSTOM CODE--//
+
 	NI_NODE_MEMBERS
 private:
 	void InternalRead( istream& in, list<unsigned int> & link_stack, const NifInfo & info );
diff --git a/include/obj/NiObjectNET.h b/include/obj/NiObjectNET.h
index c038d2196483a89341ddab5e5dbf1867faa1b697..26332f63ed2707f84be226bacc576825f26d1326 100644
--- a/include/obj/NiObjectNET.h
+++ b/include/obj/NiObjectNET.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	NIFLIB_API string GetName();
 	NIFLIB_API void SetName( const string & new_name );
 
@@ -107,7 +109,7 @@ public:
 	 */
 	NIFLIB_API list< Ref<NiTimeController> > GetControllers() const;
 
-	//TODO: pointer to first NiTimeController type.  Need functions to add/remove.
+	//--END CUSTOM CODE--//
 private:
 	NI_OBJECT_N_E_T_MEMBERS
 private:
diff --git a/include/obj/NiPSysEmitterCtlr.h b/include/obj/NiPSysEmitterCtlr.h
index d4c98fbdbcb35c6ac34cee9425b66d1e9ba3d580..d56691cf4f2ddb8bd419e6ef6aca4ad9ec92c8c0 100644
--- a/include/obj/NiPSysEmitterCtlr.h
+++ b/include/obj/NiPSysEmitterCtlr.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives the data object used by this controller.
 	 * \return The data object.
@@ -61,6 +63,8 @@ public:
 	 */
 	NIFLIB_API void SetVisibilityInterpolator( NiInterpolator * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_P_SYS_EMITTER_CTLR_MEMBERS
 private:
diff --git a/include/obj/NiPalette.h b/include/obj/NiPalette.h
index 7edfe6a18513c9df31e7eaf9cf59959c55c1d817..ac7cc16038656b27a3987c17f173ad6fe0627f69 100644
--- a/include/obj/NiPalette.h
+++ b/include/obj/NiPalette.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the palette data from this palette object.
 	 * \return A vector containing the the colors stored in the palette.
@@ -43,6 +45,9 @@ public:
 	 * \sa NiPalette::GetPalette
 	 */
 	NIFLIB_API void SetPalette( const vector<Color4> & new_pal );
+
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_PALETTE_MEMBERS
 private:
diff --git a/include/obj/NiPathController.h b/include/obj/NiPathController.h
index 23a446df32e257f5609db2d4fe1b6d680c4c3c04..5aa4e2712a7f5f9b33f1c82a03a07823e2a1a361 100644
--- a/include/obj/NiPathController.h
+++ b/include/obj/NiPathController.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	//TODO:  This class has a lot of unknown data
 
 	/*!
@@ -63,6 +65,8 @@ public:
 	 */
 	NIFLIB_API void SetPosData( NiPosData * n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_PATH_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiPathInterpolator.h b/include/obj/NiPathInterpolator.h
index 7c114ed5f8f9b1b14aec0f7e7e2c84c3b8a33593..3ee148a40288b651d9cbbef09df50693e591d989 100644
--- a/include/obj/NiPathInterpolator.h
+++ b/include/obj/NiPathInterpolator.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the NiPosData object that this interpolator links to, if any.
 	 * \return The NiPosData object that this interpolator links to, or NULL if one is not linked.
@@ -61,6 +63,8 @@ public:
 	 */
 	NIFLIB_API void SetFloatData( NiFloatData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_PATH_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiPixelData.h b/include/obj/NiPixelData.h
index 287aba26bf9d6e5889d581eee1c161c4b4773c91..90e813ad6f73c8a133b14038b8401090a8b7805d 100644
--- a/include/obj/NiPixelData.h
+++ b/include/obj/NiPixelData.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the height of the texture image stored in this object.
 	 * \return The height of the texture image stored in this object.
@@ -82,6 +84,8 @@ public:
 	 */
 	NIFLIB_API void SetColors( const vector<Color4> & new_pixels, bool generate_mipmaps );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_PIXEL_DATA_MEMBERS
 private:
diff --git a/include/obj/NiPoint3InterpController.h b/include/obj/NiPoint3InterpController.h
index 9f0f1b15fe58ce9c768fc08eead7e5648188970f..ab5a30224a48c4074c8defc26316bec917bc966e 100644
--- a/include/obj/NiPoint3InterpController.h
+++ b/include/obj/NiPoint3InterpController.h
@@ -34,6 +34,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives the pos data used by this controller.
 	 * \return The pos data.
@@ -46,6 +48,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiPosData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_POINT3_INTERP_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiPoint3Interpolator.h b/include/obj/NiPoint3Interpolator.h
index 9b07adc83ed8eed7ab767483590b5a10fc8bc712..d48a41fa2314afaca3ada6b9e7ced776378a8a01 100644
--- a/include/obj/NiPoint3Interpolator.h
+++ b/include/obj/NiPoint3Interpolator.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the 3D point value stored in this object.  Perhaps this is the current interpolated value, the value when posed, or at time index 0.
 	 * \return The 3D point value stored in this object.
@@ -60,6 +62,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiPosData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_POINT3_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiPointLight.h b/include/obj/NiPointLight.h
index 2f05341068f92bd697fc79739f8140e52b4ae951..f568fea413512fa19a905455720893db290a1716 100644
--- a/include/obj/NiPointLight.h
+++ b/include/obj/NiPointLight.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the current constant attenuation of this point light.
 	 * \return The constant attentuation.
@@ -67,6 +69,8 @@ public:
 	 */
 	NIFLIB_API void SetQuadraticAttenuation( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_POINT_LIGHT_MEMBERS
 private:
diff --git a/include/obj/NiPosData.h b/include/obj/NiPosData.h
index 7b5191a15107e9aa321d4e1574ee23c2d2c7583d..1f87ba6768f9094ecef93d13148bf47659db5411 100644
--- a/include/obj/NiPosData.h
+++ b/include/obj/NiPosData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! Retrieves the type of position interpolation being used.
 	 * \return The position key type specifing the type of interpolation being used.
 	 * \sa NiPosData::SetKeyType
@@ -56,6 +58,8 @@ public:
 	 */
 	NIFLIB_API void SetKeys( vector< Key<Vector3> > const & keys );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_POS_DATA_MEMBERS
 private:
diff --git a/include/obj/NiRangeLODData.h b/include/obj/NiRangeLODData.h
index 742a3406a109e3e8ea6e07028de68645048034a4..ca1c628223de974a4e313d827deb728e5145802e 100644
--- a/include/obj/NiRangeLODData.h
+++ b/include/obj/NiRangeLODData.h
@@ -35,6 +35,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Get the point to calculate distance from for switching?
 	 * \return The point to calculate distance from for switching?
@@ -59,6 +61,8 @@ public:
 	 */
 	NIFLIB_API void SetLODLevels( const vector<LODRange> & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_RANGE_L_O_D_DATA_MEMBERS
 private:
diff --git a/include/obj/NiScreenLODData.h b/include/obj/NiScreenLODData.h
index a7a845c65fc1d9f8859e3f6b62c4e95bef4bd6cb..8ded7fa0427756ddae5ac2fb5050231bbe2fc673 100644
--- a/include/obj/NiScreenLODData.h
+++ b/include/obj/NiScreenLODData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Get the center of the bounding sphere?
 	 * \return The center of the bounding sphere?
@@ -91,6 +93,8 @@ public:
 	 */
 	NIFLIB_API void SetProportionLevels( const vector<float> & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SCREEN_L_O_D_DATA_MEMBERS
 private:
diff --git a/include/obj/NiShadeProperty.h b/include/obj/NiShadeProperty.h
index ae190d3f41e529570ce52eb42ed35cf1a10614d9..d448960171a7c8f00efa27806672566261d0ff26 100644
--- a/include/obj/NiShadeProperty.h
+++ b/include/obj/NiShadeProperty.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -44,6 +46,8 @@ public:
 	 */
 	NIFLIB_API void SetFlags( unsigned short n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SHADE_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiSingleInterpController.h b/include/obj/NiSingleInterpController.h
index b5959728f56e7363f9b7188a10866ae40c94ea8e..6b5340c2961114dc1dbc11f8ce94b1d902150ed1 100644
--- a/include/obj/NiSingleInterpController.h
+++ b/include/obj/NiSingleInterpController.h
@@ -34,6 +34,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives the interpolator used by this controller.
 	 * \return The interpolator.
@@ -46,6 +48,8 @@ public:
 	 */
 	NIFLIB_API void SetInterpolator( NiInterpolator * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SINGLE_INTERP_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiSkinData.h b/include/obj/NiSkinData.h
index 3257b0306f9cb7f26e097c1f9489240217136ecf..8d3763e1845024aa8a1e132e2460dd5cd3e41187 100644
--- a/include/obj/NiSkinData.h
+++ b/include/obj/NiSkinData.h
@@ -26,13 +26,6 @@ typedef Ref<NiSkinData> NiSkinDataRef;
 class NiSkinData : public NI_SKIN_DATA_PARENT {
 public:
 	NIFLIB_API NiSkinData();
-
-	/*!
-	 * NIFLIB_HIDDEN function.  For internal use only.
-	 * This constructor is called by NiGeometry when it creates a new skin instance using the BindSkin function.
-	 */
-	NIFLIB_HIDDEN NiSkinData( NiGeometry * owner );
-
 	NIFLIB_API ~NiSkinData();
 
 	//Run-Time Type Information
@@ -45,6 +38,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the current overall transform for this skin.  This is the transform from the geometry node back to its skeleton root.
 	 * \return The current overall transform for this skin.
@@ -93,6 +88,12 @@ public:
 	 */
 	NIFLIB_API Ref<NiSkinPartition> GetSkinPartition() const;
 
+	/*!
+	 * NIFLIB_HIDDEN function.  For internal use only.
+	 * This constructor is called by NiGeometry when it creates a new skin instance using the BindSkin function.
+	 */
+	NIFLIB_HIDDEN NiSkinData( NiGeometry * owner );
+
 	/*
 	 * NIFLIB_HIDDEN function.  For internal use only.
 	 * This can be used to set or clear the hardware skin partition data.  To create partition data, the NiTriBasedGeom::GenHardwareSkinInfo function should be used.
@@ -111,6 +112,8 @@ public:
 	 */
 	NIFLIB_HIDDEN void ResetOffsets( NiGeometry * owner );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SKIN_DATA_MEMBERS
 private:
diff --git a/include/obj/NiSkinInstance.h b/include/obj/NiSkinInstance.h
index 6ac0acbec77f66210d84af485752b0ad52934e20..4b7255346f488fd14090a90d851e421d62cae57e 100644
--- a/include/obj/NiSkinInstance.h
+++ b/include/obj/NiSkinInstance.h
@@ -27,13 +27,6 @@ typedef Ref<NiSkinInstance> NiSkinInstanceRef;
 class NiSkinInstance : public NI_SKIN_INSTANCE_PARENT {
 public:
 	NIFLIB_API NiSkinInstance();
-
-	/*!
-	 * This constructor is called by NiTriBasedGeom when it creates a new skin
-	 * instance using the BindSkin function.
-	 */
-	NIFLIB_HIDDEN NiSkinInstance( NiNode * skeleton_root, vector< Ref<NiNode> > bone_nodes );
-
 	NIFLIB_API ~NiSkinInstance();
 	//Run-Time Type Information
 	NIFLIB_API static const Type TYPE;
@@ -45,6 +38,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the number of NiNode bones that influence this skin.
 	 * \return The number of bones that influence this skin.
@@ -76,6 +71,13 @@ public:
 	 */
 	NIFLIB_API Ref<NiSkinPartition> GetSkinPartition() const;
 
+	/*!
+	 * This constructor is called by NiTriBasedGeom when it creates a new skin
+	 * instance using the BindSkin function.
+	 */
+	NIFLIB_HIDDEN NiSkinInstance( NiNode * skeleton_root, vector< Ref<NiNode> > bone_nodes );
+
+
 	/*! 
 	 * NIFLIB_HIDDEN function.  For internal use only.
 	 * Called by NiGeometry during the skin binding process.
@@ -96,6 +98,8 @@ public:
 	 */
 	NIFLIB_HIDDEN void SkeletonLost();
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SKIN_INSTANCE_MEMBERS
 private:
diff --git a/include/obj/NiSkinPartition.h b/include/obj/NiSkinPartition.h
index 6f91c31484eb5f0ccc6f7345c332f83faf5d8cf4..217642cdbfac6ac3bd7c2102b033dae0ca8ba063 100644
--- a/include/obj/NiSkinPartition.h
+++ b/include/obj/NiSkinPartition.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the number of partitions that the triangles in the skin are divided into within this skin partition data object.
 	 * \return The number of skin partitions.
@@ -162,6 +164,8 @@ protected:
 
    void SetTriangles( int partition, const vector<Triangle> & in );
 
+   //--END CUSTOM CODE--//
+
 protected:
 	NI_SKIN_PARTITION_MEMBERS
 private:
diff --git a/include/obj/NiSourceTexture.h b/include/obj/NiSourceTexture.h
index 79d77276c36733cec42020e3873f3cb82e8582f9..3ff31212749e78e51681a23eee9db4a080fb399a 100644
--- a/include/obj/NiSourceTexture.h
+++ b/include/obj/NiSourceTexture.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Used to check whether the texture referenced by this object is an external file.
 	 * \return True if the texture is stored in an external file, false if it is stored within this NIF file.
@@ -104,6 +106,8 @@ public:
 	 */
 	NIFLIB_API void SetAlphaFormat( AlphaFormat n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SOURCE_TEXTURE_MEMBERS
 private:
diff --git a/include/obj/NiSpecularProperty.h b/include/obj/NiSpecularProperty.h
index 97fdf8e2c1fd405abd9a72a7dc8c343d57dbee81..b2abc919dcc346d14d45d781f9200ef1004f8084 100644
--- a/include/obj/NiSpecularProperty.h
+++ b/include/obj/NiSpecularProperty.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetFlags( unsigned short n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SPECULAR_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiSpotLight.h b/include/obj/NiSpotLight.h
index d0deda11ac8646f5e2baf5ddb9377b70ae3298e1..20ccce167a243668b9d6973158c48053cefae233 100644
--- a/include/obj/NiSpotLight.h
+++ b/include/obj/NiSpotLight.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the opening angle of the spot light.
 	 * \return The cutoff angle.
@@ -55,6 +57,8 @@ public:
 	 */
 	NIFLIB_API void SetExponent( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_SPOT_LIGHT_MEMBERS
 private:
diff --git a/include/obj/NiStencilProperty.h b/include/obj/NiStencilProperty.h
index d3dfab4c362ec41efdbbfd3266d37ba1c033effb..43d9f1d49ee798c4e9f9451b55f902c52344cede 100644
--- a/include/obj/NiStencilProperty.h
+++ b/include/obj/NiStencilProperty.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -139,6 +141,8 @@ public:
 	 */
 	NIFLIB_API void SetFaceDrawMode( FaceDrawMode value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_STENCIL_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiStringExtraData.h b/include/obj/NiStringExtraData.h
index a9d17cb108b954388239bc918d4ff9c05bd70d97..5b17ecfacaaab81c5343f6c57dffd16f1fb3edb5 100644
--- a/include/obj/NiStringExtraData.h
+++ b/include/obj/NiStringExtraData.h
@@ -33,6 +33,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the string value stored in this object.
 	 * \return The string value stored in this object.
@@ -45,6 +47,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const string & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_STRING_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiStringPalette.h b/include/obj/NiStringPalette.h
index 57b96d8931944c294858288cc1cd315aaaed0013..bf6c3fb6293181d0f640f60f50a7533eb97bc214 100644
--- a/include/obj/NiStringPalette.h
+++ b/include/obj/NiStringPalette.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the entire palette string.  This is a buffer of characters that will contain the all the strings stored in this palette.  It is usually better to get individual strings with the NiStringPalette::GetSubStr function.
 	 * \return The entire palette string.
@@ -62,6 +64,8 @@ public:
 	 */
 	NIFLIB_API unsigned int AddSubStr( const string & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_STRING_PALETTE_MEMBERS
 private:
diff --git a/include/obj/NiStringsExtraData.h b/include/obj/NiStringsExtraData.h
index a5a92bef013a4c828a28e23982bed33f02cf1075..7405a8e64039aea20c4bec74902756ee81039ef2 100644
--- a/include/obj/NiStringsExtraData.h
+++ b/include/obj/NiStringsExtraData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the string values stored in this object.
 	 * \return The string values stored in this object.
@@ -44,6 +46,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const vector<string> & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_STRINGS_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiTextKeyExtraData.h b/include/obj/NiTextKeyExtraData.h
index 6c1f465e24b363ef716a62abe0ba3fdf8a68039d..6d52dceb623474c17bc0af965fd48e8627f6b845 100644
--- a/include/obj/NiTextKeyExtraData.h
+++ b/include/obj/NiTextKeyExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! Retrieves the text note key data.
 	 * \return A vector containing Key<string> data which specify text note over time.
 	 * \sa NiKeyframeData::SetKeys, Key
@@ -45,6 +47,8 @@ public:
 
 	//TODO:  There is an unknown member in this class
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TEXT_KEY_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiTextureEffect.h b/include/obj/NiTextureEffect.h
index 13f6d0c9c11b57d8a26e0da15414974a47f518b0..b4a9a6a7d4ac509c6d2f419382ec5baf4a0bdd2e 100644
--- a/include/obj/NiTextureEffect.h
+++ b/include/obj/NiTextureEffect.h
@@ -39,6 +39,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrives the model projection matrix of this effect.  This always seems to be set to the identity.
 	 * \return The model projection matrix.
@@ -181,6 +183,8 @@ public:
 	 */
 	NIFLIB_API void SetPs2K( unsigned short value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TEXTURE_EFFECT_MEMBERS
 private:
diff --git a/include/obj/NiTextureProperty.h b/include/obj/NiTextureProperty.h
index 701058a50cbcf5d5e73e0d3419b69ad318f09410..6bbb16087c3a73c770bf1733f8c8b319846cd3b8 100644
--- a/include/obj/NiTextureProperty.h
+++ b/include/obj/NiTextureProperty.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the image object used by this texture property, if any.
 	 * \return The image used by this property, or NULL if there is none.
@@ -48,6 +50,8 @@ public:
 	 */
 	NIFLIB_API void SetImage( NiImage * n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TEXTURE_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiTexturingProperty.h b/include/obj/NiTexturingProperty.h
index 57104b7b10b5513471710f4df69eb01fb8ec619c..e4fdd6b4581e3e4d55373f335f75b324839c5bd7 100644
--- a/include/obj/NiTexturingProperty.h
+++ b/include/obj/NiTexturingProperty.h
@@ -33,6 +33,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! 
 	 * Retrieves the number of texture slots defined by this texturing propery.  Texture slots may or may not actually contain textures, but each slot has a different meaning so the way a texture is used is dependant upon which slot it is in.
 	 * \return The number of texture slots defined by this texturing property.
@@ -160,6 +162,8 @@ public:
 	 */
 	NIFLIB_API void SetBumpMapMatrix( Matrix22 & new_val );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TEXTURING_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiTimeController.h b/include/obj/NiTimeController.h
index 1a00e974ac91220fcf598a1486acf11bc8794ca5..94956115989a87064be6f73b949c62f6f9b50023 100644
--- a/include/obj/NiTimeController.h
+++ b/include/obj/NiTimeController.h
@@ -35,6 +35,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*! 
 	 * Returns a reference to the next controller in a linked list.
 	 * This function should only be called by NiObjectNET.
@@ -120,6 +122,9 @@ public:
 	 * \param[in] n The new end time for the controller animation.
 	 */
 	NIFLIB_API void SetStopTime( float n );
+
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TIME_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiTransformInterpolator.h b/include/obj/NiTransformInterpolator.h
index b313d670ee92142a861f7c3ac05712886ea21062..260822f1f16ca2003ff0db06e4ee5b76e43c0fe9 100644
--- a/include/obj/NiTransformInterpolator.h
+++ b/include/obj/NiTransformInterpolator.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the translation value stored in this object.  Perhaps this is the current interpolated value, the value when posed, or at time index 0.
 	 * \return The translation value stored in this object.
@@ -84,6 +86,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiTransformData * value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TRANSFORM_INTERPOLATOR_MEMBERS
 private:
diff --git a/include/obj/NiTriBasedGeom.h b/include/obj/NiTriBasedGeom.h
index bac0158fbacb8149832f02ec8f31a9c6e1c61096..c2f1db54ce32c4e84f8dfbd8824dfd704551018c 100644
--- a/include/obj/NiTriBasedGeom.h
+++ b/include/obj/NiTriBasedGeom.h
@@ -35,6 +35,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * This generates skin data for hardware acceleration.  Specifically, it creates a NiSkinPartition object based on the current skin weights.  This splits up the mesh into smaller parts that are affected by fewer bones so that they can be processed by 3D accelerator hardware.
 	 * \param[in] max_bones_per_partition The maximum number of bones that can affect a skin partition, i.e. a sub-mesh generated by chopping up the original mesh.  Proper value is game dependent.
@@ -53,6 +55,8 @@ public:
 	 */
 	NIFLIB_API void UpdateTangentSpace();
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TRI_BASED_GEOM_MEMBERS
 private:
diff --git a/include/obj/NiTriBasedGeomData.h b/include/obj/NiTriBasedGeomData.h
index fc7a476ccd3d5e8f250a709954c9400fb84fc3d5..9a49d40f70c83c950696a339c8dc1332497f6520 100644
--- a/include/obj/NiTriBasedGeomData.h
+++ b/include/obj/NiTriBasedGeomData.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Returns the triangle faces that make up this mesh.
 	 * \return A vector containing the triangle faces that make up this mesh.
@@ -50,6 +52,8 @@ public:
 	 */
 	NIFLIB_API virtual void SetTriangles( const vector<Triangle> & in );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TRI_BASED_GEOM_DATA_MEMBERS
 private:
diff --git a/include/obj/NiTriShapeData.h b/include/obj/NiTriShapeData.h
index 181b4101bbe7ca69cf01a662aebedfc83894b18e..de1171dfb9633c5bdc5218a954990b7cd036572d 100644
--- a/include/obj/NiTriShapeData.h
+++ b/include/obj/NiTriShapeData.h
@@ -31,7 +31,8 @@ public:
 	NIFLIB_API virtual string asString( bool verbose = false ) const;
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
-public:
+
+	//--BEGIN MISC CUSTOM CODE--//
 
 	/*!
 	 * A constructor which can be used to create a NiTriShapeData and initialize it with vertices.
@@ -80,6 +81,8 @@ public:
 	 */
 	NIFLIB_API virtual void SetTriangles( const vector<Triangle> & in );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TRI_SHAPE_DATA_MEMBERS
 private:
diff --git a/include/obj/NiTriStripsData.h b/include/obj/NiTriStripsData.h
index 2c5ade369034604a7eacd25e51bd720e2208ff5c..67255b69f83bc57f17d2b208b4e8fa8bc451845a 100644
--- a/include/obj/NiTriStripsData.h
+++ b/include/obj/NiTriStripsData.h
@@ -30,6 +30,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * A constructor which can be used to create a NiTriStripsData and initialize it with triangles.
 	 * \param[in] tris The triangles to use to initialize the NiTriShapeData with.
@@ -92,6 +94,8 @@ private:
 	void SetTSTriangles( const vector<Triangle> & in );
 	unsigned short CalcTriangleCount() const;
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_TRI_STRIPS_DATA_MEMBERS
 private:
diff --git a/include/obj/NiUVController.h b/include/obj/NiUVController.h
index 69b7b52782aa3ea2aa4fb03dc85dbc71dbaf1198..877e1c21c8f7b515811f346a668099d2e815a708 100644
--- a/include/obj/NiUVController.h
+++ b/include/obj/NiUVController.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	//TODO:  This class has an unknown member
 
 	/*!
@@ -50,6 +52,8 @@ public:
 	 */
 	NIFLIB_API void SetData( NiUVData * n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_U_V_CONTROLLER_MEMBERS
 private:
diff --git a/include/obj/NiVectorExtraData.h b/include/obj/NiVectorExtraData.h
index c43fc07499b7880c856d55810adb638aa993dbe3..334532c68a509d7519992c1fc5ccbac051de9a9a 100644
--- a/include/obj/NiVectorExtraData.h
+++ b/include/obj/NiVectorExtraData.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the vector value stored in this object.
 	 * \return The vector value stored in this object.
@@ -44,6 +46,9 @@ public:
 	NIFLIB_API void SetData( const Vector3 & n );
 
 	//TODO:  There is an unknown member in this class
+
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_VECTOR_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiVertWeightsExtraData.h b/include/obj/NiVertWeightsExtraData.h
index 9c4a376b847f0bee75d11d9a0087a1ad7466efb4..b955ed1aff425ce6cba20b9c707b52625e54727a 100644
--- a/include/obj/NiVertWeightsExtraData.h
+++ b/include/obj/NiVertWeightsExtraData.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the floating point values stored in this object.
 	 * \return The floating point values stored in this object.
@@ -44,6 +46,8 @@ public:
 	 */
 	NIFLIB_API void SetData( const vector<float> & n );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_VERT_WEIGHTS_EXTRA_DATA_MEMBERS
 private:
diff --git a/include/obj/NiVertexColorProperty.h b/include/obj/NiVertexColorProperty.h
index 40356d60d13b4238027160762a30e836b6f45bc3..c31112e982caa3df023936937b07e93964484f6d 100644
--- a/include/obj/NiVertexColorProperty.h
+++ b/include/obj/NiVertexColorProperty.h
@@ -34,6 +34,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -70,6 +72,8 @@ public:
 	 */
 	NIFLIB_API void SetLightingMode(LightMode value);
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_VERTEX_COLOR_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/NiWireframeProperty.h b/include/obj/NiWireframeProperty.h
index 4e21f0480ed210f9bed3aab1aabe28fdb3f1d2f0..73c75024f4302dc1d617179b4f6954d637e6d0af 100644
--- a/include/obj/NiWireframeProperty.h
+++ b/include/obj/NiWireframeProperty.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -43,6 +45,7 @@ public:
 	 */
 	NIFLIB_API void SetFlags( unsigned short n );
 
+	//--END CUSTOM CODE--//
 
 protected:
 	NI_WIREFRAME_PROPERTY_MEMBERS
diff --git a/include/obj/NiZBufferProperty.h b/include/obj/NiZBufferProperty.h
index cc8e816dc4a7597f3a63fa57cbddf31916b52add..fbeaba1781c5fc615f9e878482657dca6fcdcbca 100644
--- a/include/obj/NiZBufferProperty.h
+++ b/include/obj/NiZBufferProperty.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Can be used to get the data stored in the flags field for this object.  It is usually better to call more specific flag-toggle functions if they are availiable.
 	 * \return The flag data.
@@ -56,6 +58,8 @@ public:
 	 */
 	NIFLIB_API void SetDepthFunction(CompareMode value);
 
+	//--END CUSTOM CODE--//
+
 protected:
 	NI_Z_BUFFER_PROPERTY_MEMBERS
 private:
diff --git a/include/obj/bhkBoxShape.h b/include/obj/bhkBoxShape.h
index 3d521a073b7fbe07a854da2dbd09ec1b06af37a6..fbcbf8af6357bc397a354acb6058b0af54afd523 100644
--- a/include/obj/bhkBoxShape.h
+++ b/include/obj/bhkBoxShape.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the dimentions of the box.
 	 * \return The dimentions of the bounding box.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetDimensions( const Vector3 & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_BOX_SHAPE_MEMBERS
 private:
diff --git a/include/obj/bhkCapsuleShape.h b/include/obj/bhkCapsuleShape.h
index def96268b593dc0cec47b567741abc4724f5eb30..6f9532c849f91f6d440c292412c27165fb683d79 100644
--- a/include/obj/bhkCapsuleShape.h
+++ b/include/obj/bhkCapsuleShape.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the capsule's radius.
 	 * \return The radius of the capsule.
@@ -91,6 +93,8 @@ public:
 	 */
 	NIFLIB_API void SetRadius2( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_CAPSULE_SHAPE_MEMBERS
 private:
diff --git a/include/obj/bhkEntity.h b/include/obj/bhkEntity.h
index 17583356b1174e82a4bd058cb7b62dd4bbdb3610..27d6fedca8da989717ce9827a94297d5a06f9fae 100644
--- a/include/obj/bhkEntity.h
+++ b/include/obj/bhkEntity.h
@@ -36,6 +36,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the shape object that this body is using.
 	 * \param[in] value The shape object being used by this body.
@@ -60,6 +62,8 @@ public:
 	 */
 	NIFLIB_API void SetLayer( OblivionLayer value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_ENTITY_MEMBERS
 private:
diff --git a/include/obj/bhkMultiSphereShape.h b/include/obj/bhkMultiSphereShape.h
index 11e194f0e4dac3d92bf53c109128f9512dd489fa..27646194d88a40052ec3e265289f367a912318f7 100644
--- a/include/obj/bhkMultiSphereShape.h
+++ b/include/obj/bhkMultiSphereShape.h
@@ -33,6 +33,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the spheres which make up the multi sphere shape.
 	 * \return The spheres which make up the multi sphere shape.
@@ -46,6 +48,8 @@ public:
 
 	NIFLIB_API void SetSpheres( const vector<Sphere> & value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_MULTI_SPHERE_SHAPE_MEMBERS
 private:
diff --git a/include/obj/bhkNiTriStripsShape.h b/include/obj/bhkNiTriStripsShape.h
index d1f75bd31f558b9b9c95fe54649ed9ba7373ad2c..dfcd43e35b4b331fec6ceab27c4cb4ebd7a14991 100644
--- a/include/obj/bhkNiTriStripsShape.h
+++ b/include/obj/bhkNiTriStripsShape.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Gets the scale. Usually (1.0, 1.0, 1.0).
 	 * \return The scale.
@@ -62,6 +64,8 @@ public:
 	 */
 	NIFLIB_API void	SetStripsData( int index, NiTriStripsData * strips );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_NI_TRI_STRIPS_SHAPE_MEMBERS
 private:
diff --git a/include/obj/bhkRigidBody.h b/include/obj/bhkRigidBody.h
index 223e67fb555962349671b90e765a6dea950022e1..bd35cfa0b15f59c86ef7dd023481b1417d3efcb2 100644
--- a/include/obj/bhkRigidBody.h
+++ b/include/obj/bhkRigidBody.h
@@ -37,6 +37,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves what appears to be a copy of the layer value.
 	 * \return The duplicate layer value.
@@ -241,6 +243,8 @@ public:
 	 */
 	NIFLIB_API void SetQualityType( MotionQuality value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_RIGID_BODY_MEMBERS
 private:
diff --git a/include/obj/bhkSphereRepShape.h b/include/obj/bhkSphereRepShape.h
index 384e4c4d711e5c00b21c76ec687a9600ac4aa960..5748c514f2c418b438102cf53d0f064f69023210 100644
--- a/include/obj/bhkSphereRepShape.h
+++ b/include/obj/bhkSphereRepShape.h
@@ -32,6 +32,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Get the shape's material.  This determines the type of noises the object makes as it collides in Oblivion.
 	 * \return The Oblivion material used by this collision shape.
@@ -44,6 +46,8 @@ public:
 	 */
 	NIFLIB_API void SetMaterial( HavokMaterial value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_SPHERE_REP_SHAPE_MEMBERS
 private:
diff --git a/include/obj/bhkSphereShape.h b/include/obj/bhkSphereShape.h
index aff35eb17c88949abec06b03a4c00788e3005592..041e58b1ecce907626cdf9a1798ac77ebbb3b85a 100644
--- a/include/obj/bhkSphereShape.h
+++ b/include/obj/bhkSphereShape.h
@@ -31,6 +31,8 @@ public:
 	NIFLIB_HIDDEN virtual void FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info );
 	NIFLIB_HIDDEN virtual list<NiObjectRef> GetRefs() const;
 
+	//--BEGIN MISC CUSTOM CODE--//
+
 	/*!
 	 * Retrieves the radius of the sphere.
 	 * \return The radius of the sphere.
@@ -43,6 +45,8 @@ public:
 	 */
 	NIFLIB_API void SetRadius( float value );
 
+	//--END CUSTOM CODE--//
+
 protected:
 	BHK_SPHERE_SHAPE_MEMBERS
 private:
diff --git a/src/obj/BSBound.cpp b/src/obj/BSBound.cpp
index 87dc60aa382e8c50885c9ac3b8e40c791be5c6df..ec7db8a48b8d2cb9f5178853ed0df543e647c4c4 100644
--- a/src/obj/BSBound.cpp
+++ b/src/obj/BSBound.cpp
@@ -35,6 +35,8 @@ const Type & BSBound::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 BSBound::GetCenter() const {
 	return center;
 }
@@ -51,6 +53,8 @@ void BSBound::SetDimensions( const Vector3 & value ) {
 	dimensions = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/BSFurnitureMarker.cpp b/src/obj/BSFurnitureMarker.cpp
index 2cecfc880b4a6e28b362398e99ed9f833ed4339a..cf6004a271099b4b0f5caf43e53f0979ac2f8ff0 100644
--- a/src/obj/BSFurnitureMarker.cpp
+++ b/src/obj/BSFurnitureMarker.cpp
@@ -36,6 +36,8 @@ const Type & BSFurnitureMarker::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<FurniturePosition> BSFurnitureMarker::GetFurniturePositions() const {
 	return positions;
 }
@@ -45,6 +47,8 @@ void BSFurnitureMarker::SetFurniturePositions( const vector<FurniturePosition> &
 	positions = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiAVObject.cpp b/src/obj/NiAVObject.cpp
index 588289930d2fe3a5f58d2680944d5bdeb4f9c7ff..85ab96af665ee88ff2228e477540a1f160666ff1 100644
--- a/src/obj/NiAVObject.cpp
+++ b/src/obj/NiAVObject.cpp
@@ -11,9 +11,17 @@ using namespace Niflib;
 //Definition of TYPE constant
 const Type NiAVObject::TYPE("NiAVObject", &NI_A_V_OBJECT_PARENT::TYPE );
 
-NiAVObject::NiAVObject() NI_A_V_OBJECT_CONSTRUCT, parent(NULL) {}
+NiAVObject::NiAVObject() NI_A_V_OBJECT_CONSTRUCT {
+	//--BEGIN CONSTRUCTOR CUSTOM CODE--//
+
+	parent = NULL;
+
+	//--END CUSTOM CODE--//
+}
 
 NiAVObject::~NiAVObject() {
+	//--BEGIN DESTRUCTOR CUSTOM CODE--//
+
 	//Clear Properties
 	ClearProperties();
 
@@ -21,6 +29,8 @@ NiAVObject::~NiAVObject() {
 	if ( collisionObject != NULL ) {
 		collisionObject->SetTarget(NULL);
 	}
+
+	//--END CUSTOM CODE--//
 }
 
 void NiAVObject::Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ) {
@@ -43,19 +53,12 @@ list<NiObjectRef> NiAVObject::GetRefs() const {
 	return InternalGetRefs();
 }
 
-/*! 
- * This is a conveniance function that allows you to retrieve the full 4x4 matrix transform of a node.  It accesses the "Rotation," "Translation," and "Scale" attributes and builds a complete 4x4 transformation matrix from them.
- * \return A 4x4 transformation matrix built from the node's transform attributes.
- * \sa INode::GetWorldTransform
- */
+//--BEGIN MISC CUSTOM CODE--//
+
 Matrix44 NiAVObject::GetLocalTransform() const {
 	return Matrix44( translation, rotation, scale );
 }
-/*! 
- * This function will return a transform matrix that represents the location of this node in world space.  In other words, it concatenates all parent transforms up to the root of the scene to give the ultimate combined transform from the origin for this node.
- * \return The 4x4 world transform matrix of this node.
- * \sa INode::GetLocalTransform
- */
+
 Matrix44 NiAVObject::GetWorldTransform() const {
 	//Get Parent Transform if there is one
 	NiNodeRef par = GetParent();
@@ -227,6 +230,8 @@ void NiAVObject::SetBoundingBox( const BoundingBox & n ) {
 	hasBoundingBox = true;
 }
 
+//--END CUSTOM CODE--//
+
 const Type & NiAVObject::GetType() const {
 	return TYPE;
 };
diff --git a/src/obj/NiAlphaProperty.cpp b/src/obj/NiAlphaProperty.cpp
index f5957c313791ab484cae3f72dff523e5b093b79d..bc75122ab32ab1b11f496dffc12f0bb541e07ff6 100644
--- a/src/obj/NiAlphaProperty.cpp
+++ b/src/obj/NiAlphaProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiAlphaProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiAlphaProperty::GetFlags() const {
 	return flags;
 }
@@ -104,6 +106,8 @@ void NiAlphaProperty::SetTriangleSortMode(bool value) {
    flags = NIFLIB_MASK_FLAG(flags, value?0:1, 13, 0x1);
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBSplineBasisData.cpp b/src/obj/NiBSplineBasisData.cpp
index d77eac05e9c924691e78620802f3a9d46c32823d..e8f35b37a8e56e7d0b692d1d4e808af7b49139f4 100644
--- a/src/obj/NiBSplineBasisData.cpp
+++ b/src/obj/NiBSplineBasisData.cpp
@@ -35,6 +35,8 @@ const Type & NiBSplineBasisData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned int NiBSplineBasisData::GetNumControlPt() const {
 	return numControlPt;
 }
@@ -43,6 +45,8 @@ void NiBSplineBasisData::SetNumControlPt( unsigned int value ) {
 	numControlPt = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBSplineCompTransformInterpolator.cpp b/src/obj/NiBSplineCompTransformInterpolator.cpp
index 8b66b2df736b1f89bdc19589ed14927d6e29e0bd..2bb5ef0f11aca7656c24db0e9e66f45d41fefc5e 100644
--- a/src/obj/NiBSplineCompTransformInterpolator.cpp
+++ b/src/obj/NiBSplineCompTransformInterpolator.cpp
@@ -6,10 +6,14 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../../include/obj/NiBSplineData.h"
 using namespace Niflib;
 
+//--BEGIN FILE HEAD CUSTOM CODE--//
+
 static const int SizeofQuat = 4;
 static const int SizeofTrans = 3;
 static const int SizeofScale = 1;
 
+//--END CUSTOM CODE--//
+
 //Definition of TYPE constant
 const Type NiBSplineCompTransformInterpolator::TYPE("NiBSplineCompTransformInterpolator", &NI_B_SPLINE_COMP_TRANSFORM_INTERPOLATOR_PARENT::TYPE );
 
@@ -41,6 +45,8 @@ const Type & NiBSplineCompTransformInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiBSplineCompTransformInterpolator::GetTranslation() const {
 	return translation;
 }
@@ -283,6 +289,8 @@ int NiBSplineCompTransformInterpolator::GetNumControlPt() const
    return 0;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBSplineData.cpp b/src/obj/NiBSplineData.cpp
index 5e0337c2abf7c793c718cfb2f5f376c99b1d451e..0929c267476ed2321669295ffc787bd072a9b55f 100644
--- a/src/obj/NiBSplineData.cpp
+++ b/src/obj/NiBSplineData.cpp
@@ -35,6 +35,8 @@ const Type & NiBSplineData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<short > NiBSplineData::GetControlPoints() const 
 {
 	return controlPoints;
@@ -51,6 +53,8 @@ vector<short > NiBSplineData::GetControlPointRange(int offset, int count) const
    return vector<short>(srcbeg, srcend);
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBSplineInterpolator.cpp b/src/obj/NiBSplineInterpolator.cpp
index 0344441a561e65678a08262fe30197962f132bbb..d2c2a4e27e2c5e99d5e87ef52c9f42bb9d786b0b 100644
--- a/src/obj/NiBSplineInterpolator.cpp
+++ b/src/obj/NiBSplineInterpolator.cpp
@@ -37,6 +37,8 @@ const Type & NiBSplineInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiBSplineInterpolator::GetStartTime() const {
 	return startTime;
 }
@@ -168,6 +170,8 @@ void NiBSplineInterpolator::bspline(int n, int t, int l, float *control, float *
    delete [] calc;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBillboardNode.cpp b/src/obj/NiBillboardNode.cpp
index 34deb4feeb9ec7cd4b0a4a5643324f5818220019..ca79e9576a11483c0effa02f368986cf72643637 100644
--- a/src/obj/NiBillboardNode.cpp
+++ b/src/obj/NiBillboardNode.cpp
@@ -35,6 +35,8 @@ const Type & NiBillboardNode::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 BillboardMode NiBillboardNode::GetBillboardMode() const {
 	return billboardMode;
 }
@@ -43,6 +45,8 @@ void NiBillboardNode::SetBillboardMode( BillboardMode value ) {
 	billboardMode = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBinaryExtraData.cpp b/src/obj/NiBinaryExtraData.cpp
index ada66f20c07dad6da2007193cf511e65a171c96a..f5470709df0fe34663ac892abe9faf20d5633dc9 100644
--- a/src/obj/NiBinaryExtraData.cpp
+++ b/src/obj/NiBinaryExtraData.cpp
@@ -36,6 +36,7 @@ const Type & NiBinaryExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
 
 vector<byte> NiBinaryExtraData::GetData() const {
 	return binaryData.data;
@@ -46,6 +47,8 @@ void NiBinaryExtraData::SetData( const vector<byte> & n ) {
 	binaryData.data = n;
 };
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBlendBoolInterpolator.cpp b/src/obj/NiBlendBoolInterpolator.cpp
index 92f219d5ced4f5ff04d4b14faa3e348e41c49a81..5555a803883971d7a14cbb303764e1dc2473cdc5 100644
--- a/src/obj/NiBlendBoolInterpolator.cpp
+++ b/src/obj/NiBlendBoolInterpolator.cpp
@@ -35,6 +35,8 @@ const Type & NiBlendBoolInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 byte NiBlendBoolInterpolator::GetBoolValue() const {
 	return boolValue;
 }
@@ -43,6 +45,8 @@ void NiBlendBoolInterpolator::SetBoolValue( byte value ) {
 	boolValue = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBlendFloatInterpolator.cpp b/src/obj/NiBlendFloatInterpolator.cpp
index 696a0c9922a76d1fa751fc71e7b9b58c2d1158ff..f083a87d8a01e8b64112a69d20acea8f52e3afba 100644
--- a/src/obj/NiBlendFloatInterpolator.cpp
+++ b/src/obj/NiBlendFloatInterpolator.cpp
@@ -35,6 +35,8 @@ const Type & NiBlendFloatInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiBlendFloatInterpolator::GetFloatValue() const {
 	return floatValue;
 }
@@ -43,6 +45,8 @@ void NiBlendFloatInterpolator::SetFloatValue( float value ) {
 	floatValue = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBlendPoint3Interpolator.cpp b/src/obj/NiBlendPoint3Interpolator.cpp
index 753de05f30c9408e9b14815250fcace37855cbc4..9fee33fb19aa68c5c164bff84e3036b502bded16 100644
--- a/src/obj/NiBlendPoint3Interpolator.cpp
+++ b/src/obj/NiBlendPoint3Interpolator.cpp
@@ -35,6 +35,8 @@ const Type & NiBlendPoint3Interpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiBlendPoint3Interpolator::GetPointValue() const {
 	return pointValue;
 }
@@ -43,6 +45,8 @@ void NiBlendPoint3Interpolator::SetPointValue( Vector3 value ) {
 	pointValue = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBoolData.cpp b/src/obj/NiBoolData.cpp
index ac9b7cb03a9e5bb1f13428dced2454eedaaeecad..c1b1dfcb4fbf70735c6dd15afbb92a50017c17cd 100644
--- a/src/obj/NiBoolData.cpp
+++ b/src/obj/NiBoolData.cpp
@@ -36,6 +36,8 @@ const Type & NiBoolData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 KeyType NiBoolData::GetKeyType() const {
 	return data.interpolation;
 }
@@ -52,6 +54,8 @@ void NiBoolData::SetKeys( vector< Key<unsigned char> > const & keys ) {
 	data.keys = keys;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBoolInterpolator.cpp b/src/obj/NiBoolInterpolator.cpp
index eb3aa75dfd3b480c7ac8bbb9f81c2fa823bb6109..0df64d40d4865f01fc4cfee574412a90dfa702e9 100644
--- a/src/obj/NiBoolInterpolator.cpp
+++ b/src/obj/NiBoolInterpolator.cpp
@@ -36,6 +36,8 @@ const Type & NiBoolInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 bool NiBoolInterpolator::GetBoolValue() const {
 	return boolValue;
 }
@@ -52,6 +54,8 @@ void NiBoolInterpolator::SetData( NiBoolData * value ) {
 	data = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBoolTimelineInterpolator.cpp b/src/obj/NiBoolTimelineInterpolator.cpp
index f50e2417c071968fd33c97b5fe2eafb4bf3124b8..f3dd2de633e2aefaa7cee93260158d8a39f31cd5 100644
--- a/src/obj/NiBoolTimelineInterpolator.cpp
+++ b/src/obj/NiBoolTimelineInterpolator.cpp
@@ -36,6 +36,8 @@ const Type & NiBoolTimelineInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 bool NiBoolTimelineInterpolator::GetBoolValue() const {
 	return (boolValue != 0);
 }
@@ -52,6 +54,8 @@ void NiBoolTimelineInterpolator::SetData( NiBoolData * value ) {
 	data = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiBooleanExtraData.cpp b/src/obj/NiBooleanExtraData.cpp
index ed2794a169ce76c4e4ae6c77efabfe5dc262e5fd..d8c091b06aea572edfe8477d4d4895396b41b03c 100644
--- a/src/obj/NiBooleanExtraData.cpp
+++ b/src/obj/NiBooleanExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiBooleanExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 bool NiBooleanExtraData::GetData() const {
 	return (booleanData != 0);
 }
@@ -43,6 +45,8 @@ void NiBooleanExtraData::SetData( bool n ) {
 	booleanData = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiCamera.cpp b/src/obj/NiCamera.cpp
index 203104f19107721d9699752e8301a0b2ad9c40b7..5b4df464fad5e26a99a428d737e2c6d89b8b6725 100644
--- a/src/obj/NiCamera.cpp
+++ b/src/obj/NiCamera.cpp
@@ -36,6 +36,8 @@ const Type & NiCamera::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiCamera::GetFrustumLeft() const {
 	return frustumLeft;
 }
@@ -132,6 +134,8 @@ void NiCamera::SetLodAdjust( float value ) {
 	lodAdjust = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiCollisionObject.cpp b/src/obj/NiCollisionObject.cpp
index 0fc5672e863ddb49180d824309b0bd47cc2b7cb9..fc75b5a3116403e518c9a9c775844834ac0a74f4 100644
--- a/src/obj/NiCollisionObject.cpp
+++ b/src/obj/NiCollisionObject.cpp
@@ -38,6 +38,8 @@ const Type & NiCollisionObject::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiAVObject> NiCollisionObject::GetTarget() const {
 	return target;
 }
@@ -54,6 +56,8 @@ void NiCollisionObject::SetBody( NiObject * value ) {
 	body = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiColorData.cpp b/src/obj/NiColorData.cpp
index 9cecdbd656aa316439b006250a949287322f153d..fac6a18f65d19d6ec51624aac01317956b5124f6 100644
--- a/src/obj/NiColorData.cpp
+++ b/src/obj/NiColorData.cpp
@@ -36,6 +36,8 @@ const Type & NiColorData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 KeyType NiColorData::GetKeyType() const {
 	return data.interpolation;
 }
@@ -52,6 +54,8 @@ void NiColorData::SetKeys( vector< Key<Color4> > const & keys ) {
 	data.keys = keys;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiColorExtraData.cpp b/src/obj/NiColorExtraData.cpp
index d6ba72bfe165ffeb47ffac56cd09a78bc7aeda82..d2422d05d9f82eeb72cb3cb2188bd1069bfc12cc 100644
--- a/src/obj/NiColorExtraData.cpp
+++ b/src/obj/NiColorExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiColorExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Color4 NiColorExtraData::GetData() const {
 	return data;
 }
@@ -43,6 +45,8 @@ void NiColorExtraData::SetData( const Color4 & n ) {
 	data = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiControllerManager.cpp b/src/obj/NiControllerManager.cpp
index cb14cb34c30fd73e7871b00ff1205c81008caa9b..bc9cdd53d7db242e8e169201fcd72adf943a4bcc 100644
--- a/src/obj/NiControllerManager.cpp
+++ b/src/obj/NiControllerManager.cpp
@@ -38,6 +38,8 @@ const Type & NiControllerManager::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 bool NiControllerManager::GetCumulative() const {
 	return cumulative;
 }
@@ -94,6 +96,8 @@ void NiControllerManager::SetObjectPalette( NiDefaultAVObjectPalette * value ) {
 	objectPalette = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiControllerSequence.cpp b/src/obj/NiControllerSequence.cpp
index 6ffb7d5eff2088e140e505d54b52696d64978fc4..a922472d1c278aeb58a00e12459081a8e7eea25e 100644
--- a/src/obj/NiControllerSequence.cpp
+++ b/src/obj/NiControllerSequence.cpp
@@ -47,6 +47,8 @@ const Type & NiControllerSequence::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 NiControllerManager * NiControllerSequence::GetParent() const { 
    return manager; 
 }
@@ -55,7 +57,6 @@ void NiControllerSequence::SetParent(NiControllerManager * parent) {
    manager = parent; 
 }
 
-
 void NiControllerSequence::SetTextKey( NiTextKeyExtraData * txt_key ) {
 	//Set new name
 	textKeysName = txt_key->GetName();
@@ -224,6 +225,8 @@ void NiControllerSequence::SetWeight( const float value ) {
 	weight = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiDefaultAVObjectPalette.cpp b/src/obj/NiDefaultAVObjectPalette.cpp
index 8a4a07ae981acfc60904ad6709739c929a4069e4..8718c4258168d3e474d60409f7822a3d25fe7c9e 100644
--- a/src/obj/NiDefaultAVObjectPalette.cpp
+++ b/src/obj/NiDefaultAVObjectPalette.cpp
@@ -37,6 +37,8 @@ const Type & NiDefaultAVObjectPalette::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<Ref<NiAVObject> > NiDefaultAVObjectPalette::GetObjs() const {
    vector<NiAVObjectRef> objRefs;
    for (vector<AVObject>::const_iterator itr = objs.begin(); itr != objs.end(); ++itr) {
@@ -55,6 +57,8 @@ void NiDefaultAVObjectPalette::SetObjs( const vector<Ref<NiAVObject> >& value )
    }
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiDitherProperty.cpp b/src/obj/NiDitherProperty.cpp
index 8c17976cbc0f7cac19c8b6a91d2d098acb134c76..5283b3b24dce4c7d19bd965fc8a0173a00716f13 100644
--- a/src/obj/NiDitherProperty.cpp
+++ b/src/obj/NiDitherProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiDitherProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiDitherProperty::GetFlags() const {
    return flags;
 }
@@ -43,6 +45,8 @@ void NiDitherProperty::SetFlags( unsigned short n ) {
    flags = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiDynamicEffect.cpp b/src/obj/NiDynamicEffect.cpp
index e76f131305f20b9fd1076c7ecdf4cbc5ce4611d5..b1ad8d9269c180b0d8dd63e097620e76e5e2e49d 100644
--- a/src/obj/NiDynamicEffect.cpp
+++ b/src/obj/NiDynamicEffect.cpp
@@ -36,6 +36,8 @@ const Type & NiDynamicEffect::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 bool NiDynamicEffect::GetSwitchState() const {
 	return switchState;
 }
@@ -52,6 +54,8 @@ void NiDynamicEffect::SetAffectedNodes( const vector<Ref<NiAVObject > >& value )
 	affectedNodes = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiExtraData.cpp b/src/obj/NiExtraData.cpp
index fc13aec49ec122714a7380878e6bad3783cffd5d..be28eec4632c777089912092f81f770561852c23 100644
--- a/src/obj/NiExtraData.cpp
+++ b/src/obj/NiExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 string NiExtraData::GetName() {
 	return name;
 }
@@ -58,6 +60,8 @@ void NiExtraData::SetNextExtraData( NiExtraData * obj ) {
 	nextExtraData = obj;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiFloatData.cpp b/src/obj/NiFloatData.cpp
index deb6b3bd9eae24c774c574567eca852af4d994f0..e5a1e633c986bc34e27c59eba74ac0df3fdecc40 100644
--- a/src/obj/NiFloatData.cpp
+++ b/src/obj/NiFloatData.cpp
@@ -36,6 +36,8 @@ const Type & NiFloatData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 KeyType NiFloatData::GetKeyType() const {
 	return data.interpolation;
 }
@@ -52,6 +54,8 @@ void NiFloatData::SetKeys( vector< Key<float> > const & keys ) {
 	data.keys = keys;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiFloatExtraData.cpp b/src/obj/NiFloatExtraData.cpp
index 21c18640ae56b5c8f4b89242e247e53111bd20e6..9822f1e00101564a01e215390550d38f25e10354 100644
--- a/src/obj/NiFloatExtraData.cpp
+++ b/src/obj/NiFloatExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiFloatExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiFloatExtraData::GetData() const {
 	return floatData;
 }
@@ -43,6 +45,8 @@ void NiFloatExtraData::SetData( float n ) {
 	floatData = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiFloatInterpolator.cpp b/src/obj/NiFloatInterpolator.cpp
index fb2d00c3ca43bc125b0718da4bdeb01fd526ee27..56c81c73316f3eb26b337728e844038390fd70fd 100644
--- a/src/obj/NiFloatInterpolator.cpp
+++ b/src/obj/NiFloatInterpolator.cpp
@@ -36,6 +36,8 @@ const Type & NiFloatInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiFloatInterpolator::GetFloatValue() const {
 	return floatValue;
 }
@@ -52,6 +54,8 @@ void NiFloatInterpolator::SetData( NiFloatData * value ) {
 	data = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiFloatsExtraData.cpp b/src/obj/NiFloatsExtraData.cpp
index e3e1c64c0a3042260a2c79729fb3fc327c35cab5..3638b76e93a06edc24e1be9291933f67673f74d2 100644
--- a/src/obj/NiFloatsExtraData.cpp
+++ b/src/obj/NiFloatsExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiFloatsExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<float> NiFloatsExtraData::GetData() const {
 	return data;
 }
@@ -44,6 +46,8 @@ void NiFloatsExtraData::SetData( const vector<float> & n ) {
 	data = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiFogProperty.cpp b/src/obj/NiFogProperty.cpp
index 4f7c8e390e016cad59d6558c158733e8c5b30bd6..bb56d8202a12c5f83205dc0e0ab077bc956ed3a3 100644
--- a/src/obj/NiFogProperty.cpp
+++ b/src/obj/NiFogProperty.cpp
@@ -35,6 +35,7 @@ const Type & NiFogProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
 
 unsigned short NiFogProperty::GetFlags() const {
    return flags;
@@ -60,6 +61,8 @@ void NiFogProperty::SetFogColor(Color3 value) {
    fogColor = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiGeomMorpherController.cpp b/src/obj/NiGeomMorpherController.cpp
index d3ae275771a5a34ae7c95a488d579c7c43c92607..476214a785253bc1117a9a8dc1e145cf0e88a46c 100644
--- a/src/obj/NiGeomMorpherController.cpp
+++ b/src/obj/NiGeomMorpherController.cpp
@@ -37,6 +37,8 @@ const Type & NiGeomMorpherController::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector< Ref<NiInterpolator> > NiGeomMorpherController::GetInterpolators() const {
 	return interpolators;
 }
@@ -54,6 +56,8 @@ void NiGeomMorpherController::SetData( NiMorphData * n ) {
 	data = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiGeometry.cpp b/src/obj/NiGeometry.cpp
index 51d56a1686bc2b015937aa8e4a52a4cb51f57a5b..c0427cd59a69db2f9dde7a0475b7100f3480d357 100644
--- a/src/obj/NiGeometry.cpp
+++ b/src/obj/NiGeometry.cpp
@@ -41,6 +41,8 @@ const Type & NiGeometry::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiGeometryData> NiGeometry::GetData() const {
 	return data;
 }
@@ -363,6 +365,8 @@ void NiGeometry::SetBoneWeights( unsigned int bone_index, const vector<SkinWeigh
 	skinData->SetBoneWeights( bone_index, n, center, radius );
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiGeometryData.cpp b/src/obj/NiGeometryData.cpp
index b2bf4c24a288317eb12d9176eb81e6d674e4d49f..fa5c9a6f100f344f8b4a7fa397177196c8a1b11d 100644
--- a/src/obj/NiGeometryData.cpp
+++ b/src/obj/NiGeometryData.cpp
@@ -12,30 +12,6 @@ NiGeometryData::NiGeometryData() NI_GEOMETRY_DATA_CONSTRUCT {}
 
 NiGeometryData::~NiGeometryData() {}
 
-int NiGeometryData::GetVertexCount() const {
-	return int(vertices.size());
-}
-
-short NiGeometryData::GetUVSetCount() const {
-	return short(uvSets.size());
-}
-
-vector<Vector3> NiGeometryData::GetVertices() const {
-	return vertices;
-}
-
-vector<Vector3> NiGeometryData::GetNormals() const {
-	return normals;
-}
-
-vector<Color4> NiGeometryData::GetColors() const {
-	return vertexColors;
-}
-
-vector<TexCoord> NiGeometryData::GetUVSet( int index ) const {
-	return uvSets[index];
-}
-
 void NiGeometryData::Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ) {
 	InternalRead( in, link_stack, info );
 }
@@ -60,6 +36,32 @@ const Type & NiGeometryData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
+int NiGeometryData::GetVertexCount() const {
+	return int(vertices.size());
+}
+
+short NiGeometryData::GetUVSetCount() const {
+	return short(uvSets.size());
+}
+
+vector<Vector3> NiGeometryData::GetVertices() const {
+	return vertices;
+}
+
+vector<Vector3> NiGeometryData::GetNormals() const {
+	return normals;
+}
+
+vector<Color4> NiGeometryData::GetColors() const {
+	return vertexColors;
+}
+
+vector<TexCoord> NiGeometryData::GetUVSet( int index ) const {
+	return uvSets[index];
+}
+
 void NiGeometryData::SetUVSetCount(int n) {
 	uvSets.resize(n);
 	hasUv = ( uvSets.size() != 0 );
@@ -163,6 +165,8 @@ void NiGeometryData::Transform( const Matrix44 & transform ) {
 	}
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiImage.cpp b/src/obj/NiImage.cpp
index 9554007531dbb7d843a673e342e9ba09a17fc3b1..b252b7e6201585c01f60913204e87a1bd0399870 100644
--- a/src/obj/NiImage.cpp
+++ b/src/obj/NiImage.cpp
@@ -60,10 +60,14 @@ NiObject * NiImage::Create() {
 	return new NiImage;
 }
 
+//--BEGIN MISC CUSTOM CODE--//
+
 void NiImage::SetTextureFileName( string file_name ) {
 	fileName = file_name;
 }
 
 string NiImage::GetTextureFileName() const {
 	return fileName;
-}
\ No newline at end of file
+}
+
+//--END CUSTOM CODE--//
\ No newline at end of file
diff --git a/src/obj/NiIntegerExtraData.cpp b/src/obj/NiIntegerExtraData.cpp
index a5ed168f7009b5c9ac81f4f0ee8d5a6e72d8e2b9..5139b5a3777978ebb1b9d3521f69c3ad955f71ac 100644
--- a/src/obj/NiIntegerExtraData.cpp
+++ b/src/obj/NiIntegerExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiIntegerExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned int NiIntegerExtraData::GetData() const {
 	return integerData;
 }
@@ -43,6 +45,8 @@ void NiIntegerExtraData::SetData( unsigned int n ) {
 	integerData = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiIntegersExtraData.cpp b/src/obj/NiIntegersExtraData.cpp
index 1245312b23b8cfaeb4ba672a2f6de16e94247c3c..ec84fdaf6ca62ea7b1f160505a1aa80b488e8e9d 100644
--- a/src/obj/NiIntegersExtraData.cpp
+++ b/src/obj/NiIntegersExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiIntegersExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<unsigned int> NiIntegersExtraData::GetData() const {
 	return data;
 };
@@ -44,6 +46,8 @@ void NiIntegersExtraData::SetData( const vector<unsigned int> & n ) {
 	data = n;
 };
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiKeyframeController.cpp b/src/obj/NiKeyframeController.cpp
index 803e8b61d95141c425ba7f6e66341ceaa0bc0bb0..0b21eed90ed66699cbb1976b09214d9bdad6563d 100644
--- a/src/obj/NiKeyframeController.cpp
+++ b/src/obj/NiKeyframeController.cpp
@@ -36,6 +36,8 @@ const Type & NiKeyframeController::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiKeyframeData> NiKeyframeController::GetData() const {
 	return data;
 }
@@ -44,6 +46,8 @@ void NiKeyframeController::SetData( NiKeyframeData * n ) {
 	data = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiKeyframeData.cpp b/src/obj/NiKeyframeData.cpp
index 7d88b42652fc5e2887fab8641984daf05b0aba67..3db4b96e3edd5fc72f346189f8642ec0a4425b3e 100644
--- a/src/obj/NiKeyframeData.cpp
+++ b/src/obj/NiKeyframeData.cpp
@@ -36,6 +36,8 @@ const Type & NiKeyframeData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 KeyType NiKeyframeData::GetRotateType() const {
 	return rotationType;
 }
@@ -142,6 +144,8 @@ void NiKeyframeData::SetScaleKeys( vector< Key<float> > const & keys ) {
 	scales.keys = keys;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiLODNode.cpp b/src/obj/NiLODNode.cpp
index be489cef0d4f16bb47185fd148b7f287ddbd648b..261f42dff8d6fe37ec889c535dcb2e6837226c00 100644
--- a/src/obj/NiLODNode.cpp
+++ b/src/obj/NiLODNode.cpp
@@ -37,6 +37,8 @@ const Type & NiLODNode::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiLODNode::GetLODCenter() const {
 	return lodCenter;
 }
@@ -61,6 +63,8 @@ void NiLODNode::SetLODLevelData( Ref<NiLODData > value ) {
 	lodLevelData = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiLight.cpp b/src/obj/NiLight.cpp
index acc08335566ab81e8f2c51689cfa7d88a1792795..b34e8c89eff233b9f4d4adb7c6d78c27be06c103 100644
--- a/src/obj/NiLight.cpp
+++ b/src/obj/NiLight.cpp
@@ -35,6 +35,8 @@ const Type & NiLight::GetType() const {
 	return TYPE;
 };
 
+//--END CUSTOM CODE--//
+
 float NiLight::GetDimmer() const {
 	return dimmer;
 }
@@ -67,6 +69,8 @@ void NiLight::SetSpecularColor( Color3 value ) {
 	specularColor = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiLookAtInterpolator.cpp b/src/obj/NiLookAtInterpolator.cpp
index 3f437ae716336672dfdcb4eea09807f96f96c277..87252e856f90e14d1862ba49a35a66ef6d523632 100644
--- a/src/obj/NiLookAtInterpolator.cpp
+++ b/src/obj/NiLookAtInterpolator.cpp
@@ -38,7 +38,9 @@ const Type & NiLookAtInterpolator::GetType() const {
 	return TYPE;
 };
 
-Ref<NiNode > NiLookAtInterpolator::GetLookAt() const {
+//--BEGIN MISC CUSTOM CODE--//
+
+Ref<NiNode> NiLookAtInterpolator::GetLookAt() const {
 	return lookAt;
 }
 
@@ -70,6 +72,8 @@ void NiLookAtInterpolator::SetScale( float value ) {
 	scale = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiMaterialProperty.cpp b/src/obj/NiMaterialProperty.cpp
index 19270fc17a49057bb85702eebdc1ad9dbf42d0e4..ca884363ae58f7b5471fffb06fd2fa6deb934079 100644
--- a/src/obj/NiMaterialProperty.cpp
+++ b/src/obj/NiMaterialProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiMaterialProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiMaterialProperty::GetFlags() const {
 	return flags;
 }
@@ -91,6 +93,8 @@ void NiMaterialProperty::SetSpecularColor( const Color3 & n ) {
 	specularColor = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiMorphData.cpp b/src/obj/NiMorphData.cpp
index e19a4ec0ec503b5701dc8f739a7b29acc56c8e30..2f34bbaddf4c0981fd3b4a069e3194ab6600aad9 100644
--- a/src/obj/NiMorphData.cpp
+++ b/src/obj/NiMorphData.cpp
@@ -36,6 +36,8 @@ const Type & NiMorphData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 int NiMorphData::GetVertexCount() const {
 	
 	return numVertices;
@@ -91,6 +93,8 @@ void NiMorphData::SetMorphVerts( int n, const vector<Vector3> & in ) {
 	morphs[n].vectors = in;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiMultiTargetTransformController.cpp b/src/obj/NiMultiTargetTransformController.cpp
index 41f7e4cefd3deefca2755ca708c3d59943a27599..6ed3affabee048fc9d6371c553a1316abcdfa7b0 100644
--- a/src/obj/NiMultiTargetTransformController.cpp
+++ b/src/obj/NiMultiTargetTransformController.cpp
@@ -37,6 +37,8 @@ const Type & NiMultiTargetTransformController::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<NiNodeRef> NiMultiTargetTransformController::GetExtraTargets() const {
    vector<NiNodeRef> retval;
    size_t n = extraTargets.size();
@@ -46,7 +48,7 @@ vector<NiNodeRef> NiMultiTargetTransformController::GetExtraTargets() const {
 	return retval;
 }
 
-void NiMultiTargetTransformController::SetExtraTargets( const vector<NiNodeRef>& value ) {
+void NiMultiTargetTransformController::SetExtraTargets( const vector< Ref<NiNode> > & value ) {
    extraTargets.clear();
    size_t n = value.size();
    extraTargets.reserve(n);
@@ -55,6 +57,8 @@ void NiMultiTargetTransformController::SetExtraTargets( const vector<NiNodeRef>&
    extraTargets.erase(std::remove(extraTargets.begin(), extraTargets.end(), (NiNode*)NULL), extraTargets.end());
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiNode.cpp b/src/obj/NiNode.cpp
index 9333927724d0a628320a9f72cf74face0dfa1c48..da2767b2fbe77e7747d418fb01eba72f1ad742cf 100644
--- a/src/obj/NiNode.cpp
+++ b/src/obj/NiNode.cpp
@@ -13,11 +13,17 @@ using namespace Niflib;
 const Type NiNode::TYPE("NiNode", &NI_NODE_PARENT::TYPE );
 
 NiNode::NiNode() NI_NODE_CONSTRUCT {
+	//--BEGIN CONSTRUCTOR CUSTOM CODE--//
+
 	//Set flag to default of 8: not a skin influence
 	flags = 8;
+
+	//--END CUSTOM CODE--//
 }
 
 NiNode::~NiNode() {
+	//--BEGIN DESTRUCTOR CUSTOM CODE--//
+
 	//Unbind any attached skins - must happen before children are cleared
 	for ( list<NiSkinInstance*>::iterator it = skins.begin(); it != skins.end(); ++it ) {
 		(*it)->SkeletonLost();
@@ -25,6 +31,8 @@ NiNode::~NiNode() {
 
 	//Clear Children
 	ClearChildren();
+
+	//--END CUSTOM CODE--//
 }
 
 void NiNode::Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ) {
@@ -41,6 +49,9 @@ string NiNode::asString( bool verbose ) const {
 
 void NiNode::FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info ) {
 	InternalFixLinks( objects, link_stack, info );
+
+	//--BEGIN POST-FIXLINKS CUSTOM CODE--//
+
 	//Connect children to their parents and remove any NULL ones
 	for ( vector< NiAVObjectRef >::iterator it = children.begin(); it != children.end(); ) {
 		if ( *it == NULL) {
@@ -50,6 +61,8 @@ void NiNode::FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsig
 			++it;
 		}
 	}
+
+	//--END CUSTOM CODE--//
 }
 
 list<NiObjectRef> NiNode::GetRefs() const {
@@ -60,6 +73,8 @@ const Type & NiNode::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 void NiNode::AddChild( Ref<NiAVObject> obj ) {
 	if ( obj->GetParent() != NULL ) {
 		throw runtime_error( "You have attempted to add a child to a NiNode which already is the child of another NiNode." );
@@ -275,6 +290,8 @@ bool NiNode::IsSplitMeshProxy() const {
 	return true;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiObjectNET.cpp b/src/obj/NiObjectNET.cpp
index 41b8866dc4815d6c3d5deab61d6d5d9d46e4d367..7cd546ade23a9b98345dcd537749762d8f930023 100644
--- a/src/obj/NiObjectNET.cpp
+++ b/src/obj/NiObjectNET.cpp
@@ -12,9 +12,13 @@ const Type NiObjectNET::TYPE("NiObjectNET", &NI_OBJECT_N_E_T_PARENT::TYPE );
 NiObjectNET::NiObjectNET() NI_OBJECT_N_E_T_CONSTRUCT {}
 
 NiObjectNET::~NiObjectNET() {
+	//--BEGIN DESTRUCTOR CUSTOM CODE--//
+
 	//Clear Lists
 	ClearExtraData();
 	ClearControllers();
+
+	//--END CUSTOM CODE--//
 }
 
 void NiObjectNET::Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ) {
@@ -37,6 +41,8 @@ list<NiObjectRef> NiObjectNET::GetRefs() const {
 	return InternalGetRefs();
 }
 
+//--BEGIN MISC CUSTOM CODE--//
+
 string NiObjectNET::GetName() {
 	return name;
 }
@@ -184,6 +190,8 @@ list< Ref<NiTimeController> > NiObjectNET::GetControllers() const {
 	return conts;
 }
 
+//--END CUSTOM CODE--//
+
 const Type & NiObjectNET::GetType() const {
 	return TYPE;
 };
diff --git a/src/obj/NiPSysEmitterCtlr.cpp b/src/obj/NiPSysEmitterCtlr.cpp
index 14febb2f7b35bcf4a05ccdd604c679d3f2155f64..bdeb561acd3bf1546ae4c9b9e32cd2c169c7adef 100644
--- a/src/obj/NiPSysEmitterCtlr.cpp
+++ b/src/obj/NiPSysEmitterCtlr.cpp
@@ -37,6 +37,8 @@ const Type & NiPSysEmitterCtlr::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiPSysEmitterCtlrData > NiPSysEmitterCtlr::GetData() const {
 	return data;
 }
@@ -53,6 +55,8 @@ void NiPSysEmitterCtlr::SetVisibilityInterpolator( NiInterpolator * value ) {
 	visibilityInterpolator = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPalette.cpp b/src/obj/NiPalette.cpp
index 3f9cce62975e7514e2e278b095c94978e8782a0a..94c7605e62831887b7cb7f9685dca229425f64b9 100644
--- a/src/obj/NiPalette.cpp
+++ b/src/obj/NiPalette.cpp
@@ -35,6 +35,8 @@ const Type & NiPalette::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<Color4> NiPalette::GetPalette() const {
 	vector<Color4> color_pal(256);
 
@@ -62,6 +64,8 @@ void NiPalette::SetPalette( const vector<Color4> & new_pal ) {
 	}
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPathController.cpp b/src/obj/NiPathController.cpp
index 32849e8ad6bb1c5bb86903d54836e724cd020f89..cf2f450f72cc38e0e4752dfde3c07ae1166dc2c4 100644
--- a/src/obj/NiPathController.cpp
+++ b/src/obj/NiPathController.cpp
@@ -37,6 +37,8 @@ const Type & NiPathController::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiFloatData> NiPathController::GetFloatData() const {
 	return floatData;
 }
@@ -53,6 +55,8 @@ void NiPathController::SetPosData( NiPosData * n ) {
 	posData = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPathInterpolator.cpp b/src/obj/NiPathInterpolator.cpp
index a69861052f4a0819d9ce8d81ec31c753f4dae880..f6dc7010cd4786abe8ab97892be36023656ea200 100644
--- a/src/obj/NiPathInterpolator.cpp
+++ b/src/obj/NiPathInterpolator.cpp
@@ -37,6 +37,8 @@ const Type & NiPathInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiPosData > NiPathInterpolator::GetPosData() const {
 	return posData;
 }
@@ -53,6 +55,8 @@ void NiPathInterpolator::SetFloatData( NiFloatData * value ) {
 	floatData = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPixelData.cpp b/src/obj/NiPixelData.cpp
index 1ad44751cfd2793464ad2db9e7db7e1bfe33df02..694f782bcec3fb26e2f29c1830741b9d678c1f66 100644
--- a/src/obj/NiPixelData.cpp
+++ b/src/obj/NiPixelData.cpp
@@ -38,6 +38,8 @@ const Type & NiPixelData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 int NiPixelData::GetHeight() const {
 	if ( mipmaps.size() == 0 ) {
 		return 0;
@@ -346,6 +348,8 @@ void NiPixelData::SetColors( const vector<Color4> & new_pixels, bool generate_mi
 	}
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPoint3InterpController.cpp b/src/obj/NiPoint3InterpController.cpp
index 7f579c0c510b91ee8bdae5626ef83563e692a69d..30f99af497ae15b71e797f2ce8272c12085d90c8 100644
--- a/src/obj/NiPoint3InterpController.cpp
+++ b/src/obj/NiPoint3InterpController.cpp
@@ -60,10 +60,14 @@ NiObject * NiPoint3InterpController::Create() {
 	return new NiPoint3InterpController;
 }
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiPosData > NiPoint3InterpController::GetData() const {
 	return data;
 }
 
 void NiPoint3InterpController::SetData( NiPosData * value ) {
 	data = value;
-}
\ No newline at end of file
+}
+
+//--END CUSTOM CODE--//
\ No newline at end of file
diff --git a/src/obj/NiPoint3Interpolator.cpp b/src/obj/NiPoint3Interpolator.cpp
index 1dc0d9212c53e32a80758a83d33e8a1ee7499d9a..7725f4c210a73e78209df379db0f8b3469f1b5b9 100644
--- a/src/obj/NiPoint3Interpolator.cpp
+++ b/src/obj/NiPoint3Interpolator.cpp
@@ -36,6 +36,8 @@ const Type & NiPoint3Interpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiPoint3Interpolator::GetPoint3Value() const {
 	return point3Value;
 }
@@ -52,6 +54,8 @@ void NiPoint3Interpolator::SetData( NiPosData * value ) {
 	data = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPointLight.cpp b/src/obj/NiPointLight.cpp
index 8822b63aea9cbac6b5da8c7d5f0f8c419f243b56..c3dfcca98b576f36df5c695488b0b0e000aee879 100644
--- a/src/obj/NiPointLight.cpp
+++ b/src/obj/NiPointLight.cpp
@@ -35,6 +35,8 @@ const Type & NiPointLight::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiPointLight::GetConstantAttenuation() const {
 	return constantAttenuation;
 }
@@ -59,6 +61,8 @@ void NiPointLight::SetQuadraticAttenuation( float value ) {
 	quadraticAttenuation = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiPosData.cpp b/src/obj/NiPosData.cpp
index 361a9e23acf65b5d9654896a14ddfc130340df9b..c313211108f0db2b18a672f3741f90f073525f0e 100644
--- a/src/obj/NiPosData.cpp
+++ b/src/obj/NiPosData.cpp
@@ -36,6 +36,8 @@ const Type & NiPosData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 KeyType NiPosData::GetKeyType() const {
 	return data.interpolation;
 }
@@ -52,6 +54,8 @@ void NiPosData::SetKeys( vector< Key<Vector3> > const & keys ) {
 	data.keys = keys;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiRangeLODData.cpp b/src/obj/NiRangeLODData.cpp
index 3e50f3606c37d70b4c442c072273c8ee2668e47d..f297f6b5e38742bc4d9857f1e5e72a19e71a3905 100644
--- a/src/obj/NiRangeLODData.cpp
+++ b/src/obj/NiRangeLODData.cpp
@@ -36,6 +36,8 @@ const Type & NiRangeLODData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiRangeLODData::GetLODCenter() const {
 	return lodCenter;
 }
@@ -52,6 +54,8 @@ void NiRangeLODData::SetLODLevels( const vector<LODRange >& value ) {
 	lodLevels = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiScreenLODData.cpp b/src/obj/NiScreenLODData.cpp
index 3afbc6916d384b5a632d0fc24fd85df37b6e5c10..4edd909febc8f41447a1ae0975cc79f548771e79 100644
--- a/src/obj/NiScreenLODData.cpp
+++ b/src/obj/NiScreenLODData.cpp
@@ -35,6 +35,8 @@ const Type & NiScreenLODData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiScreenLODData::GetBoundCenter() const {
 	return boundCenter;
 }
@@ -75,6 +77,8 @@ void NiScreenLODData::SetProportionLevels( const vector<float >& value ) {
 	proportionLevels = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiShadeProperty.cpp b/src/obj/NiShadeProperty.cpp
index 021ebe094cae9ffcfc81b38f6c2a4196f48933ba..cb5327edd6905a26bb7533f9dc080fbfc2e3853a 100644
--- a/src/obj/NiShadeProperty.cpp
+++ b/src/obj/NiShadeProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiShadeProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiShadeProperty::GetFlags() const {
    return flags;
 }
@@ -43,6 +45,8 @@ void NiShadeProperty::SetFlags( unsigned short n ) {
    flags = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiSingleInterpController.cpp b/src/obj/NiSingleInterpController.cpp
index a4d7e5b1ace2c75abd149f25579db922e4931dcc..8ce2c2f501d7ddbd6d47070804c26f2253792df8 100644
--- a/src/obj/NiSingleInterpController.cpp
+++ b/src/obj/NiSingleInterpController.cpp
@@ -60,10 +60,14 @@ NiObject * NiSingleInterpController::Create() {
 	return new NiSingleInterpController;
 }
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiInterpolator > NiSingleInterpController::GetInterpolator() const {
 	return interpolator;
 }
 
 void NiSingleInterpController::SetInterpolator( NiInterpolator * value ) {
 	interpolator = value;
-}
\ No newline at end of file
+}
+
+//--END CUSTOM CODE--//
\ No newline at end of file
diff --git a/src/obj/NiSkinData.cpp b/src/obj/NiSkinData.cpp
index abf6875e811096ac0dbced085b4e436052a641e8..b171edf88e82eb9b214aadd4419a354aae063ab2 100644
--- a/src/obj/NiSkinData.cpp
+++ b/src/obj/NiSkinData.cpp
@@ -41,6 +41,8 @@ const Type & NiSkinData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned int NiSkinData::GetBoneCount() const {
 	return (unsigned int)( boneList.size() );
 }
@@ -171,6 +173,8 @@ void NiSkinData::SetSkinPartition( NiSkinPartition * value ) {
    skinPartition = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiSkinInstance.cpp b/src/obj/NiSkinInstance.cpp
index 5525694b2284ada9bcb40f9810a32266071fbef7..48c5b7e03927c329cd134307a17768b17fc0c6d7 100644
--- a/src/obj/NiSkinInstance.cpp
+++ b/src/obj/NiSkinInstance.cpp
@@ -14,6 +14,8 @@ const Type NiSkinInstance::TYPE("NiSkinInstance", &NI_SKIN_INSTANCE_PARENT::TYPE
 NiSkinInstance::NiSkinInstance() NI_SKIN_INSTANCE_CONSTRUCT {}
 
 NiSkinInstance::NiSkinInstance( NiNode * skeleton_root, vector< Ref<NiNode> > bone_nodes ) NI_SKIN_INSTANCE_CONSTRUCT {
+	//--BEGIN CONSTRUCTOR CUSTOM CODE--//
+
 	//Ensure that all bones are below the skeleton root node on the scene graph
 	for ( unsigned int i = 0; i < bone_nodes.size(); ++i ) {
 		bool is_decended = false;
@@ -44,9 +46,13 @@ NiSkinInstance::NiSkinInstance( NiNode * skeleton_root, vector< Ref<NiNode> > bo
 	//Store skeleton root and inform it of this attachment
 	skeletonRoot = skeleton_root;
 	skeletonRoot->AddSkin( this );
+
+	//--END CUSTOM CODE--//
 }
 
 NiSkinInstance::~NiSkinInstance() {
+	//--BEGIN DESTRUCTOR CUSTOM CODE--//
+
 	//Unflag any bones that were part of this skin instance
 	for ( unsigned int i = 0; i < bones.size(); ++i ) {
 		bones[i]->SetSkinFlag(false);
@@ -57,6 +63,8 @@ NiSkinInstance::~NiSkinInstance() {
 		skeletonRoot->RemoveSkin( this );
 		skeletonRoot = NULL;
 	}
+
+	//--END CUSTOM CODE--//
 }
 
 void NiSkinInstance::Read( istream& in, list<unsigned int> & link_stack, const NifInfo & info ) {
@@ -74,6 +82,8 @@ string NiSkinInstance::asString( bool verbose ) const {
 void NiSkinInstance::FixLinks( const map<unsigned int,NiObjectRef> & objects, list<unsigned int> & link_stack, const NifInfo & info ) {
 	InternalFixLinks( objects, link_stack, info );
 
+	//--BEGIN POST-FIXLINKS CUSTOM CODE--//
+
 	//Inform newly fixed skeleton root of attachment
 	if ( skeletonRoot != NULL ) {
 		skeletonRoot->AddSkin( this );
@@ -83,6 +93,8 @@ void NiSkinInstance::FixLinks( const map<unsigned int,NiObjectRef> & objects, li
 	for ( unsigned int i = 0; i < bones.size(); ++i ) {
 		bones[i]->SetSkinFlag(true);
 	}
+
+	//--END CUSTOM CODE--//
 }
 
 list<NiObjectRef> NiSkinInstance::GetRefs() const {
@@ -93,6 +105,8 @@ const Type & NiSkinInstance::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector< Ref<NiNode> > NiSkinInstance::GetBones() const {
 	vector<NiNodeRef> ref_bones( bones.size() );
 	for (unsigned int i = 0; i < bones.size(); ++i ) {
@@ -136,6 +150,8 @@ Ref<NiNode> NiSkinInstance::GetSkeletonRoot() const {
 	return skeletonRoot;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiSkinPartition.cpp b/src/obj/NiSkinPartition.cpp
index fd4cf95283db6595a250e8585c5c28ee51eb9068..17466357b6045d9ddf668fe3d3293c04cca1b244 100644
--- a/src/obj/NiSkinPartition.cpp
+++ b/src/obj/NiSkinPartition.cpp
@@ -56,6 +56,8 @@ const Type & NiSkinPartition::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 int NiSkinPartition::GetNumPartitions() const {
    return (int)skinPartitionBlocks.size();
 }
@@ -716,6 +718,8 @@ NiSkinPartition::NiSkinPartition(Ref<NiTriBasedGeom> shape, int maxBonesPerParti
    }
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiSourceTexture.cpp b/src/obj/NiSourceTexture.cpp
index 9b8ef12e5e3c0d2970b2c272c1e6a0d805274a81..22bf49d4a2b01b2794ef3ebc82823f26dc3279f7 100644
--- a/src/obj/NiSourceTexture.cpp
+++ b/src/obj/NiSourceTexture.cpp
@@ -37,6 +37,8 @@ const Type & NiSourceTexture::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 bool NiSourceTexture::IsTextureExternal() const {
 	return ( useExternal != 0 );
 }
@@ -96,6 +98,8 @@ void NiSourceTexture::SetAlphaFormat( AlphaFormat n ) {
 	alphaFormat = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiSpecularProperty.cpp b/src/obj/NiSpecularProperty.cpp
index 1fb96045dbc073623f6f73d5556349bc4c245254..05f402147f844ddd9c202061e6bf7a7de9b2776a 100644
--- a/src/obj/NiSpecularProperty.cpp
+++ b/src/obj/NiSpecularProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiSpecularProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiSpecularProperty::GetFlags() const {
    return flags;
 }
@@ -43,6 +45,8 @@ void NiSpecularProperty::SetFlags( unsigned short n ) {
    flags = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiSpotLight.cpp b/src/obj/NiSpotLight.cpp
index 13b515cbf4abef8bdc3ce379f80b4595213758d3..9f709a469e522c7b42ad694a3ba9083005a29d42 100644
--- a/src/obj/NiSpotLight.cpp
+++ b/src/obj/NiSpotLight.cpp
@@ -35,6 +35,8 @@ const Type & NiSpotLight::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float NiSpotLight::GetCutoffAngle() const {
 	return cutoffAngle;
 }
@@ -51,6 +53,8 @@ void NiSpotLight::SetExponent( float value ) {
 	exponent = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiStencilProperty.cpp b/src/obj/NiStencilProperty.cpp
index 371bbde693057e84802911509ce77e4af8e11227..319cca410ceafd35ff339f053099c480ca61a22d 100644
--- a/src/obj/NiStencilProperty.cpp
+++ b/src/obj/NiStencilProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiStencilProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiStencilProperty::GetFlags() const {
    return flags;
 }
@@ -107,6 +109,8 @@ void NiStencilProperty::SetFaceDrawMode(FaceDrawMode value) {
    drawMode = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiStringExtraData.cpp b/src/obj/NiStringExtraData.cpp
index 3d2a1288eea1291118d3f980c125da8b09658379..ef8cd4f8ae216ef415f31a77a48938c069e81eeb 100644
--- a/src/obj/NiStringExtraData.cpp
+++ b/src/obj/NiStringExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiStringExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 string NiStringExtraData::GetData() const {
 	return stringData;
 }
@@ -44,6 +46,8 @@ void NiStringExtraData::SetData( const string & n ) {
 	bytesRemaining = (unsigned int)(stringData.size()) + 4;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiStringPalette.cpp b/src/obj/NiStringPalette.cpp
index 62f4f496ae8bfe862c2e5bb5854c04cd03eaefef..150bbe04edaac9cc411d81a9c3c7baebeb8f9221 100644
--- a/src/obj/NiStringPalette.cpp
+++ b/src/obj/NiStringPalette.cpp
@@ -36,6 +36,8 @@ const Type & NiStringPalette::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 string NiStringPalette::GetPaletteString() const {
 	return palette.palette;
 }
@@ -77,6 +79,8 @@ unsigned int NiStringPalette::AddSubStr( const string & n ) {
 	return offset;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiStringsExtraData.cpp b/src/obj/NiStringsExtraData.cpp
index 2c2efc7855b3dd8fb1b21d8656b49541228cf35f..6019988ec59eb7e16b64304cc86f00f3fc692133 100644
--- a/src/obj/NiStringsExtraData.cpp
+++ b/src/obj/NiStringsExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiStringsExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<string> NiStringsExtraData::GetData() const {
 	return data;
 };
@@ -44,6 +46,8 @@ void NiStringsExtraData::SetData( const vector<string> & n ) {
 	data = n;
 };
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTextKeyExtraData.cpp b/src/obj/NiTextKeyExtraData.cpp
index d309abd1f21953a97e49f16755d6875739e82f99..12ad5aabefbc8907bf504c7e51ee207be8eca446 100644
--- a/src/obj/NiTextKeyExtraData.cpp
+++ b/src/obj/NiTextKeyExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiTextKeyExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector< Key<string> > NiTextKeyExtraData::GetKeys() const {
 	return textKeys;
 }
@@ -43,6 +45,8 @@ void NiTextKeyExtraData::SetKeys( vector< Key<string> > const & keys ) {
 	textKeys = keys;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTextureEffect.cpp b/src/obj/NiTextureEffect.cpp
index d8808a3ba26e4d093f726a421ddf19cef06ceb89..b48a289bf524b48337eac5333fe00b872ed3c539 100644
--- a/src/obj/NiTextureEffect.cpp
+++ b/src/obj/NiTextureEffect.cpp
@@ -36,6 +36,8 @@ const Type & NiTextureEffect::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Matrix33 NiTextureEffect::GetModelProjectionMatrix() const {
 	return modelProjectionMatrix;
 }
@@ -116,6 +118,8 @@ void NiTextureEffect::SetPs2K( unsigned short value ) {
 	ps2K = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTextureProperty.cpp b/src/obj/NiTextureProperty.cpp
index 1f959820c2e7f50bedf9f51c18f581d9826a2323..5cf9fc77c56687b7f2643d7b3e79352a7b8db5b5 100644
--- a/src/obj/NiTextureProperty.cpp
+++ b/src/obj/NiTextureProperty.cpp
@@ -60,10 +60,14 @@ NiObject * NiTextureProperty::Create() {
 	return new NiTextureProperty;
 }
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiImage> NiTextureProperty::GetImage() const {
 	return image;
 }
 
 void NiTextureProperty::SetImage( NiImage * n ) {
 	image = n;
-}
\ No newline at end of file
+}
+
+//--END CUSTOM CODE--//
diff --git a/src/obj/NiTexturingProperty.cpp b/src/obj/NiTexturingProperty.cpp
index 992f71d18e4793ef00d96ab0148921f3f5e03ed8..8cae60fd65788cc6188351e7932f570b3098d40d 100644
--- a/src/obj/NiTexturingProperty.cpp
+++ b/src/obj/NiTexturingProperty.cpp
@@ -37,6 +37,8 @@ const Type & NiTexturingProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 ApplyMode NiTexturingProperty::GetApplyMode() const {
 	return applyMode;
 }
@@ -246,6 +248,8 @@ void NiTexturingProperty::ClearTexture( int n ) {
 	};
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTimeController.cpp b/src/obj/NiTimeController.cpp
index 3d04dc1be4808c130a0c8ecd95b1bd2ea0b98b8d..a856df856a1ea5ad5cd16ac41398c1648b428457 100644
--- a/src/obj/NiTimeController.cpp
+++ b/src/obj/NiTimeController.cpp
@@ -36,6 +36,8 @@ const Type & NiTimeController::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 NiTimeControllerRef NiTimeController::GetNextController() const {
 	return nextController;
 }
@@ -92,6 +94,8 @@ void NiTimeController::SetStopTime( float n ) {
 	stopTime = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTransformInterpolator.cpp b/src/obj/NiTransformInterpolator.cpp
index a6d08a0641086682d0ba7e45f727a8d19327dba9..ccb12bf2ecae957d1a413b8f81cb8b6239b45539 100644
--- a/src/obj/NiTransformInterpolator.cpp
+++ b/src/obj/NiTransformInterpolator.cpp
@@ -36,6 +36,8 @@ const Type & NiTransformInterpolator::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiTransformInterpolator::GetTranslation() const {
 	return translation;
 }
@@ -68,6 +70,8 @@ void NiTransformInterpolator::SetData( NiTransformData * value ) {
 	data = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTriBasedGeom.cpp b/src/obj/NiTriBasedGeom.cpp
index 76e20efc73f2cf107af9d3761a3daba3036c71fa..33fd1b27a67cfc44726fde90092b0cefe193c112 100644
--- a/src/obj/NiTriBasedGeom.cpp
+++ b/src/obj/NiTriBasedGeom.cpp
@@ -42,6 +42,8 @@ const Type & NiTriBasedGeom::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 void NiTriBasedGeom::ClearHardareSkinInfo() {
    // Clear the partition info in both places.
    NiSkinInstanceRef skinInst = GetSkinInstance();
@@ -231,6 +233,8 @@ void NiTriBasedGeom::UpdateTangentSpace() {
 	TSpaceRef->SetData(binData);
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTriBasedGeomData.cpp b/src/obj/NiTriBasedGeomData.cpp
index c092625ceae67424988e86520890aa4dd3ece8b0..994234f64ec498e69039e659952b6a245c0168e0 100644
--- a/src/obj/NiTriBasedGeomData.cpp
+++ b/src/obj/NiTriBasedGeomData.cpp
@@ -36,13 +36,17 @@ const Type & NiTriBasedGeomData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 void NiTriBasedGeomData::SetTriangles( const vector<Triangle> & in ) {
    throw runtime_error("SetTriangles is not implemented for this object.");
 }
 
 vector<Triangle> NiTriBasedGeomData::GetTriangles() const {
 	return vector<Triangle>();
-}  
+}
+
+//--END CUSTOM CODE--//
 
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
diff --git a/src/obj/NiTriShapeData.cpp b/src/obj/NiTriShapeData.cpp
index 8b8d6081fa4578c21472283e7db2b26259167cf2..e1b4e9d50e90fa9736662b5382bb1c4e6fd51be1 100644
--- a/src/obj/NiTriShapeData.cpp
+++ b/src/obj/NiTriShapeData.cpp
@@ -36,6 +36,8 @@ const Type & NiTriShapeData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 NiTriShapeData::NiTriShapeData(const vector<Triangle> &tris) {
    SetTriangles(tris);
 }
@@ -93,6 +95,8 @@ void NiTriShapeData::SetTriangles( const vector<Triangle> & in ) {
 	numTrianglePoints = numTriangles * 3;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiTriStripsData.cpp b/src/obj/NiTriStripsData.cpp
index 3b3f3f8fbd8fbc505363cf15a54d144fa1dd40b8..f6e1742cb7c4469fead6d681e6b1d4a55cd5eb75 100644
--- a/src/obj/NiTriStripsData.cpp
+++ b/src/obj/NiTriStripsData.cpp
@@ -1,11 +1,11 @@
 /* Copyright (c) 2006, NIF File Format Library and Tools
 All rights reserved.  Please see niflib.h for license. */
 
-#include "../../include/obj/NiTriStripsData.h"
+//--BEGIN FILE HEAD CUSTOM CODE--//
+
 #include "../../NvTriStrip/NvTriStrip.h"
 #include "../../TriStripper/tri_stripper.h"
 
-using namespace Niflib;
 using namespace triangle_stripper;
 using namespace NvTriStrip;
 
@@ -13,6 +13,11 @@ using namespace NvTriStrip;
 typedef vector<unsigned short> TriStrip;
 typedef	list<TriStrip> TriStrips;
 
+//--END CUSTOM CODE--//
+
+#include "../../include/obj/NiTriStripsData.h"
+
+using namespace Niflib;
 
 //Definition of TYPE constant
 const Type NiTriStripsData::TYPE("NiTriStripsData", &NI_TRI_STRIPS_DATA_PARENT::TYPE );
@@ -45,6 +50,8 @@ const Type & NiTriStripsData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 NiTriStripsData::NiTriStripsData(const vector<Triangle> &tris, bool nvtristrips) {
    if (nvtristrips)
       SetNvTriangles(tris);
@@ -268,6 +275,8 @@ void NiTriStripsData::SetTSTriangles( const vector<Triangle> & in ) {
    numTriangles = CalcTriangleCount();
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiUVController.cpp b/src/obj/NiUVController.cpp
index eeb6a745bf42d532b582d18d80d2e6dd6d9ee2f0..89cf8dca677f65c2d2b39fb963dc2160ed15febf 100644
--- a/src/obj/NiUVController.cpp
+++ b/src/obj/NiUVController.cpp
@@ -36,6 +36,8 @@ const Type & NiUVController::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<NiUVData> NiUVController::GetData() const {
 	return data;
 }
@@ -44,6 +46,8 @@ void NiUVController::SetData( NiUVData * n ) {
 	data = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiVectorExtraData.cpp b/src/obj/NiVectorExtraData.cpp
index d2566dff475159b86e2f677851f96a4ed3db149f..feb6e0809fded9bdb680cdd03afcf7be95e491dd 100644
--- a/src/obj/NiVectorExtraData.cpp
+++ b/src/obj/NiVectorExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiVectorExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 NiVectorExtraData::GetData() const {
 	return vectorData;
 };
@@ -43,6 +45,8 @@ void NiVectorExtraData::SetData( const Vector3 & n ) {
 	vectorData = n;
 };
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiVertWeightsExtraData.cpp b/src/obj/NiVertWeightsExtraData.cpp
index 1fd547121078478ec9b5f3a51d7e3babca3894b5..0418a2d1a92eabe52222e729a8cc8f5b9797125e 100644
--- a/src/obj/NiVertWeightsExtraData.cpp
+++ b/src/obj/NiVertWeightsExtraData.cpp
@@ -35,6 +35,8 @@ const Type & NiVertWeightsExtraData::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<float> NiVertWeightsExtraData::GetData() const {
 	return weight;
 }
@@ -45,6 +47,8 @@ void NiVertWeightsExtraData::SetData( const vector<float> & n ) {
 	weight = n;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiVertexColorProperty.cpp b/src/obj/NiVertexColorProperty.cpp
index d54ab21374c5eb76349eda4b7966ddc8ae203e08..19523f09abcdeb9438916332569b208654a8ab8e 100644
--- a/src/obj/NiVertexColorProperty.cpp
+++ b/src/obj/NiVertexColorProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiVertexColorProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiVertexColorProperty::GetFlags() const {
    return flags;
 }
@@ -59,6 +61,8 @@ void NiVertexColorProperty::SetLightingMode(LightMode value) {
    lightingMode = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiWireframeProperty.cpp b/src/obj/NiWireframeProperty.cpp
index 89c86e9f7da19e43fa2bb0af12041305cc782419..c0105ada38fe8f0261f47027bc6ad058692b6e30 100644
--- a/src/obj/NiWireframeProperty.cpp
+++ b/src/obj/NiWireframeProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiWireframeProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiWireframeProperty::GetFlags() const {
    return flags;
 }
@@ -43,6 +45,8 @@ void NiWireframeProperty::SetFlags(unsigned short value) {
    flags = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/NiZBufferProperty.cpp b/src/obj/NiZBufferProperty.cpp
index 88ba63e931bccfb2db59883c31b092e387eea98b..7b7791f68962983b5f0b8e17ffe375cee7fea2c8 100644
--- a/src/obj/NiZBufferProperty.cpp
+++ b/src/obj/NiZBufferProperty.cpp
@@ -35,6 +35,8 @@ const Type & NiZBufferProperty::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 unsigned short NiZBufferProperty::GetFlags() const {
    return flags;
 }
@@ -51,6 +53,8 @@ void NiZBufferProperty::SetDepthFunction(CompareMode value) {
    function = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkBoxShape.cpp b/src/obj/bhkBoxShape.cpp
index bae0c4ceb70cd056877d798082e26e8343d03674..a638bcabd8b55617e8c97847b770eaba403d4daf 100644
--- a/src/obj/bhkBoxShape.cpp
+++ b/src/obj/bhkBoxShape.cpp
@@ -35,6 +35,8 @@ const Type & bhkBoxShape::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Vector3 bhkBoxShape::GetDimensions() const {
 	return dimensions;
 }
@@ -43,6 +45,8 @@ void bhkBoxShape::SetDimensions(const Vector3 &value) {
 	dimensions = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkCapsuleShape.cpp b/src/obj/bhkCapsuleShape.cpp
index 09290729f63729509c6a2d4f80a07e5a9b9c7daf..88cb98d36e379983d6c5287a2c0525893eea51bd 100644
--- a/src/obj/bhkCapsuleShape.cpp
+++ b/src/obj/bhkCapsuleShape.cpp
@@ -35,6 +35,8 @@ const Type & bhkCapsuleShape::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float bhkCapsuleShape::GetRadius() const {
 	return radius;
 }
@@ -75,6 +77,8 @@ void bhkCapsuleShape::SetRadius2( float value ) {
 	radius2 = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkEntity.cpp b/src/obj/bhkEntity.cpp
index c024d20bf6ec7d40ec7568c8246bcce9bc596e07..17bc3b50c3238a2fd5ce7b22f2bf03dddc03cd34 100644
--- a/src/obj/bhkEntity.cpp
+++ b/src/obj/bhkEntity.cpp
@@ -36,6 +36,8 @@ const Type & bhkEntity::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 Ref<bhkShape > bhkEntity::GetShape() const {
 	return shape;
 }
@@ -52,6 +54,8 @@ void bhkEntity::SetLayer( OblivionLayer value ) {
 	layer = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkMultiSphereShape.cpp b/src/obj/bhkMultiSphereShape.cpp
index 795695eec9c2cffc35a56f838d02bee3ed702ad0..6ad7bd1e16b4fdad8fd900770a88051229cee1ec 100644
--- a/src/obj/bhkMultiSphereShape.cpp
+++ b/src/obj/bhkMultiSphereShape.cpp
@@ -36,6 +36,8 @@ const Type & bhkMultiSphereShape::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 vector<Sphere > bhkMultiSphereShape::GetSpheres() const {
 	return spheres;
 }
@@ -44,6 +46,8 @@ void bhkMultiSphereShape::SetSpheres( const vector<Sphere >& value ) {
 	spheres = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkNiTriStripsShape.cpp b/src/obj/bhkNiTriStripsShape.cpp
index a6b60bfee0570a79a45f690be7b080aba93ca264..6079a5ac4c509772cba52b4a0863bc37350ce7d4 100644
--- a/src/obj/bhkNiTriStripsShape.cpp
+++ b/src/obj/bhkNiTriStripsShape.cpp
@@ -36,6 +36,8 @@ const Type & bhkNiTriStripsShape::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 void bhkNiTriStripsShape::SetNumStripsData(int n)
 {
 	numStripsData = n;
@@ -62,6 +64,8 @@ void bhkNiTriStripsShape::SetScale( const Vector3 & n ) {
 	scale = n;	
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkRigidBody.cpp b/src/obj/bhkRigidBody.cpp
index db7ed3a26e7695916488f3d5148f5db3ba3f8c22..8994d8ee4c7d7abee6151e6d6376ebed4b3bbd69 100644
--- a/src/obj/bhkRigidBody.cpp
+++ b/src/obj/bhkRigidBody.cpp
@@ -37,6 +37,8 @@ const Type & bhkRigidBody::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 OblivionLayer bhkRigidBody::GetLayerCopy() const {
 	return layerCopy;
 }
@@ -173,6 +175,8 @@ void bhkRigidBody::SetQualityType( MotionQuality value ) {
 	qualityType = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkSphereRepShape.cpp b/src/obj/bhkSphereRepShape.cpp
index 04c4368317ae473f28e832232b00afd54f771510..9f0d8dacadf4fca70d76a9af3125d2b0221684dd 100644
--- a/src/obj/bhkSphereRepShape.cpp
+++ b/src/obj/bhkSphereRepShape.cpp
@@ -35,6 +35,8 @@ const Type & bhkSphereRepShape::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 HavokMaterial bhkSphereRepShape::GetMaterial() const {
 	return material;
 }
@@ -43,6 +45,8 @@ void bhkSphereRepShape::SetMaterial( HavokMaterial value ) {
 	material = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;
diff --git a/src/obj/bhkSphereShape.cpp b/src/obj/bhkSphereShape.cpp
index f8bcf32026af3a848fb2497758b7de2ce1e5afc9..132ebff137a973de0edbd98f4788d730ed3a960b 100644
--- a/src/obj/bhkSphereShape.cpp
+++ b/src/obj/bhkSphereShape.cpp
@@ -35,6 +35,8 @@ const Type & bhkSphereShape::GetType() const {
 	return TYPE;
 };
 
+//--BEGIN MISC CUSTOM CODE--//
+
 float bhkSphereShape::GetRadius() const {
 	return radius;
 }
@@ -43,6 +45,8 @@ void bhkSphereShape::SetRadius( float value ) {
 	radius = value;
 }
 
+//--END CUSTOM CODE--//
+
 namespace Niflib { 
 	typedef NiObject*(*obj_factory_func)();
 	extern map<string, obj_factory_func> global_object_map;