diff --git a/include/ComplexShape.h b/include/ComplexShape.h
index abdaed0c81a0c5af74d50266c49a8f972eba5522..6e0a5b60b6b4652f59afac1934f363f4f0f9ae3b 100644
--- a/include/ComplexShape.h
+++ b/include/ComplexShape.h
@@ -7,6 +7,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "Ref.h"
 #include "nif_math.h"
 #include "nif_basic_types.h"
+#include "../include/obj/BSDismemberSkinInstance.h"
 #include <vector>
 
 namespace Niflib {
@@ -18,6 +19,7 @@ class NiProperty;
 class NiNode;
 class NiAVObject;
 class NiTriBasedGeom;
+class NiSkinPartition;
 
 /*! Marks empty data indices */
 const unsigned int CS_NO_INDEX = 0xFFFFFFFF;
@@ -170,14 +172,18 @@ public:
 	 * \param stripify Whether or not to generate efficient triangle strips.
 	 * \param tangent_space Whether or not to generate Oblivion tangent space
 	 * information.
-	 * \return A referene to the root NiAVObject that was created.
+	 * \param min_vertex_weight Remove vertex weights bellow a given value
+	 * \param use_dismember_partitions Uses BSDismemberSkinInstance with custom partitions for dismember
+	 * \return A reference to the root NiAVObject that was created.
 	 */
 	NIFLIB_API Ref<NiAVObject> Split( 
 		NiNode * parent,
 		Matrix44 & transform,
 		int max_bones_per_partition = 4,
 		bool stripify = false,
-		bool tangent_space = false
+		bool tangent_space = false,
+		float min_vertex_weight = 0.001f,
+		byte tspace_flags = 0
 	) const;
 
 	/* 
@@ -291,7 +297,33 @@ public:
 	 */
 	NIFLIB_API vector< Ref<NiNode> > GetSkinInfluences() const;
 
+	/*
+	 * Gets the association between the faces in the complex shape and the corresponding body parts
+	 * \return A vector depicting the association
+	 */
+	NIFLIB_API vector<int> GetDismemberPartitionsFaces() const;
+
+	/*
+	 * Sets the association between the body parts and the faces in the complex shape
+	 * \param[in] The new association meaning that the face at the position of the index corresponds to the body part group given by the value at the position of the index of the face
+	 */
+	NIFLIB_API void SetDismemberPartitionsFaces( const vector<int>& value );
+
+	/*
+	 * Gets a list of the dismember groups
+	 * \return The list of the dismember groups
+	 */
+	NIFLIB_API vector<BodyPartList> GetDismemberPartitionsBodyParts() const;
+
+	/*
+	 * Gets the association between the faces in the complex shape and the corresponding body parts
+	 * \param[in] A list of the dismember groups;
+	 */
+	NIFLIB_API void SetDismemberPartitionsBodyParts( const vector<BodyPartList>& value);
+
 private:
+	vector<BodyPartList> dismemberPartitionsBodyParts;
+	vector<int> dismemberPartitionsFaces;
 	vector<WeightedVertex> vertices;
 	vector<Color4> colors;
 	vector<Vector3> normals;
diff --git a/include/MatTexCollection.h b/include/MatTexCollection.h
index 5acc47e786e57da9612d2957ef348942a59b4864..d6efd2ff29fec49861d5ef50f478d9dc70d88853 100644
--- a/include/MatTexCollection.h
+++ b/include/MatTexCollection.h
@@ -30,6 +30,7 @@ class NiMaterialProperty;
 class NiTexturingProperty;
 class NiTextureProperty;
 class NiMultiTextureProperty;
+class NiStencilProperty;
 class NiSourceTexture;
 class NiImage;
 
@@ -148,7 +149,7 @@ public:
 	 * \return The index of the material that matches the specified properties,
 	 * or NO_MATERIAL if no match is found.
 	 */
-	NIFLIB_API unsigned int GetMaterialIndex( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha );
+	NIFLIB_API unsigned int GetMaterialIndex( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha, NiStencilProperty * stencil );
 
 	/*
 	 * Retrieves the material index of the material that matches the given list
@@ -158,7 +159,7 @@ public:
 	 * or NO_MATERIAL if no match is found.
 	 */
 	NIFLIB_API unsigned int GetMaterialIndex( const vector< Ref<NiProperty> > & properties );
-
+	
 	/*
 	 * Creates a new material and adds it to the end of the array of materials
 	 * contained in this collection.  The type of material data that will
@@ -330,7 +331,7 @@ private:
 	friend class MatTexCollection;
 
 	/*! NIFLIB_HIDDEN function.  For internal use only. */
-	NIFLIB_HIDDEN MaterialWrapper( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha, MatTexCollection * creator );
+	NIFLIB_HIDDEN MaterialWrapper( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha, NiStencilProperty * stencil, MatTexCollection * creator );
 
 	/*! The NiMaterialProperty that this object wraps, if any. */
 	Ref<NiMaterialProperty> mat_prop;
@@ -344,6 +345,8 @@ private:
 	Ref<NiSpecularProperty> spec_prop;
 	/*! The NiAlphaProperty that this object wraps, if any. */
 	Ref<NiAlphaProperty> alpha_prop;
+	/*! The NiStencilProperty that this object wraps if any */
+	Ref<NiStencilProperty> stencil_prop;
 	/*! A pointer back to the MatTexCollection that created this wrapper */
 	MatTexCollection * _creator;
 };
diff --git a/include/NIF_IO.h b/include/NIF_IO.h
index ed1456cffa7dc1abeb678f2c2ea9f17d5cdfd288..fc1428a3c907c1d144c046cebd1db82061b59733 100644
--- a/include/NIF_IO.h
+++ b/include/NIF_IO.h
@@ -215,7 +215,7 @@ void NifStream( InertiaMatrix & val, istream& in, const NifInfo & info);
 void NifStream( InertiaMatrix const & val, ostream& out, const NifInfo & info);
 
 //ByteColor4
-class ByteColor4;
+struct ByteColor4;
 void NifStream( ByteColor4 & val, istream& in, const NifInfo & info);
 void NifStream( ByteColor4 const & val, ostream& out, const NifInfo & info);
 ostream & operator<<( ostream & out, ByteColor4 const & val );
diff --git a/include/RefObject.h b/include/RefObject.h
index 4dfa2dbb4a58d7a4919886098dac84d2d7581b06..43dbd57f532c5376c6c3012dadbda35fd1676fe3 100644
--- a/include/RefObject.h
+++ b/include/RefObject.h
@@ -29,6 +29,9 @@ public:
 	/*! Constructor */
 	NIFLIB_API RefObject();
 
+	/*! Copy Constructor */
+	NIFLIB_API RefObject(const RefObject& src);
+
 	/*! Destructor */
 	NIFLIB_API virtual ~RefObject();
 
diff --git a/include/Type.h b/include/Type.h
index 8c41a6f2092c40a46c51a860e258a82f4e3c24c9..6d14735e06cb5ff5b5092b0fc549ca5c593bf8ad 100644
--- a/include/Type.h
+++ b/include/Type.h
@@ -19,6 +19,7 @@ class NiObject;
 class Type {
 public:
 	NIFLIB_API Type (const string & type_name, const Type * par_type );
+	NIFLIB_API Type (const Type& src);
 	NIFLIB_API ~Type();
 
 	NIFLIB_API string GetTypeName() const;
diff --git a/include/gen/Header.h b/include/gen/Header.h
index c9dc9b95c88f5ee18f11ac7bc3d35ed106a37445..43ba8b7928abea335417b0333a5e9bf9bcc79bff 100644
--- a/include/gen/Header.h
+++ b/include/gen/Header.h
@@ -78,6 +78,42 @@ struct Header {
 	NIFLIB_HIDDEN void Write( ostream& out, const NifInfo & info = NifInfo() ) const;
 	NIFLIB_HIDDEN string asString( bool verbose = false ) const;
 	//--BEGIN MISC CUSTOM CODE--//
+
+	/*! HeaderString
+	 * \return The header string
+	 */
+	NIFLIB_API HeaderString getHeaderString();
+
+	/*! Nif Version
+	 * \return The current nif version
+	 */
+	NIFLIB_API unsigned int getVersion();
+
+	/*! Endian type
+	 * \return The endian type. Intel machines use small endian
+	 */
+	NIFLIB_API EndianType getEndianType();
+
+	/*! User version
+	 * \return The user version of this file which refers to the company/game that used the netimmerse/gamebryo engine
+	 */
+	NIFLIB_API unsigned int getUserVersion();
+
+	/*! User version2
+	 * \return The user version of this file which refers to the company/game that used the netimmerse/gamebryo engine
+	 */
+	NIFLIB_API unsigned int getUserVersion2();
+
+	/*! Block type
+	 * \return A vector containing all the names of the block types in the nif file. Useful for determing what does the nif contain
+	 */
+	NIFLIB_API vector<string> getBlockTypes();
+
+	/*! Block type
+	 * \return A vector containing all the indexes in the block types list that denote the type of each block in the nif
+	 */
+	NIFLIB_API vector<unsigned short> getBlockTypeIndex(); 
+
 	//--END CUSTOM CODE--//
 };
 
diff --git a/include/nif_math.h b/include/nif_math.h
index eec07e49717be334c165c01781a4ada8d3175e07..33dea8057609e36713f6cbd5cd6f61358ea3d62b 100644
--- a/include/nif_math.h
+++ b/include/nif_math.h
@@ -45,6 +45,9 @@ struct TexCoord {
 	/*! Default constructor	*/
 	NIFLIB_API TexCoord() : u(0.0f), v(0.0f) {}
 
+	/*! Copy constructor	*/
+	NIFLIB_API TexCoord(const TexCoord& src) : u(src.u), v(src.v) {}
+
 	NIFLIB_API TexCoord operator+(const TexCoord& rhs) const
 	{
 		TexCoord ret;
@@ -603,6 +606,9 @@ struct Matrix33 {
 	/*! Default constructor.   Initializes matrix to identity.  */
 	NIFLIB_API Matrix33();
 
+	/*! Copy constructor.   */
+	NIFLIB_API Matrix33(const Matrix33& src);
+
 	/*! This constructor can be used to set all values in this matrix during initialization
 	 * \param[in] m11 The value to set at row 1, column 1.
 	 * \param[in] m12 The value to set at row 1, column 2.
@@ -955,6 +961,13 @@ struct Color3 {
 	/*! Default constructor */
 	NIFLIB_API Color3() {}
 
+	/*! Copy constructor */
+	NIFLIB_API Color3(const Color3& src) {
+		this->r = src.r;
+		this->g = src.g;
+		this->b = src.b;
+	}
+
 	/*! This constructor can be used to set all values in this structure during initialization
 	 * \param[in] r The value to set the red component of this color to.  Should be between 0.0f and 1.0f.
 	 * \param[in] g The value to set the green component of this color to. Should be between 0.0f and 1.0f.
@@ -1010,6 +1023,9 @@ struct Color4 {
 	/*! Default constructor */
 	NIFLIB_API Color4() : r(0.0f), g(0.0f), b(0.0f), a(0.0f) {}
 
+	/*! Copy constructor */
+	NIFLIB_API Color4(const Color4& src) : r(src.r), g(src.g), b(src.b), a(src.a) {}
+
 	/*! This constructor can be used to set all values in this structure during initialization
 	 * \param[in] r The value to set the red component of this color to.  Should be between 0.0f and 1.0f.
 	 * \param[in] g The value to set the green component of this color to. Should be between 0.0f and 1.0f.
diff --git a/include/niflib.h b/include/niflib.h
index 7071538589777552a83bcf658e99c60ceec529a6..6e45c1842ca1bcd472b7af88d02f08a9d1d42234 100644
--- a/include/niflib.h
+++ b/include/niflib.h
@@ -61,6 +61,7 @@ class NiObject;
 class NiNode;
 class NiAVObject;
 class NiControllerSequence;
+struct Header;
 
 #ifndef NULL
 #define NULL 0  /*!< Definition used to detect null pointers. */ 
@@ -107,6 +108,21 @@ enum ExportOptions {
  */
 NIFLIB_API unsigned int GetNifVersion( string const & file_name );
 
+/*!
+ * Returns the nif info without reading the entire file which includes the nif version,
+ * the nif user version1 and the nif user version2
+ * \param The full path to the nif file which includes the file name and the location of the nif file
+ * \return The nif info structure which contains the nif header info
+ */
+NIFLIB_API NifInfo ReadHeaderInfo( string const & file_name );
+
+/*!
+ * Returns the nif header without reading the entire file 
+ * \param The full path to the nif file which includes the file name and the location of the nif file
+ * \return The nif info structure which contains the nif header
+ */
+NIFLIB_API Header ReadHeader( string const & file_name );
+
 /*!
  * Return the missing link stack with objects replaced from nif trees at specified root.
  */
diff --git a/include/obj/BSDismemberSkinInstance.h b/include/obj/BSDismemberSkinInstance.h
index 4e6f8b2c7b130c9c19e6ed439a990d124eb5c325..05bf2449b42485077d3a9358689a78b91e503628 100644
--- a/include/obj/BSDismemberSkinInstance.h
+++ b/include/obj/BSDismemberSkinInstance.h
@@ -58,13 +58,17 @@ public:
 
 	//--BEGIN MISC CUSTOM CODE--//
 
-   // Get list of dismemberment partitions
-   // \return The current value.
-   vector<BodyPartList > GetPartitions() const;
+	/*!
+     * Get list of dismemberment partitions
+     * \return The current value.
+	 */
+   NIFLIB_API vector<BodyPartList > GetPartitions() const;
 
-   // Assign the dismemberment partition list
-   // \param[in] value The new value.
-   void SetPartitions( const vector<BodyPartList >& value );
+   /*!
+    * Assign the dismemberment partition list
+    * \param[in] value The new value.
+	*/
+   NIFLIB_API void SetPartitions( const vector<BodyPartList >& value );
 
 	//--END CUSTOM CODE--//
 protected:
diff --git a/include/obj/BSLightingShaderProperty.h b/include/obj/BSLightingShaderProperty.h
index 8229303debb9d104d14708aa04ddc20a8b6563f9..cd791851d60694dbfdc9435ac138105a24eb5854 100644
--- a/include/obj/BSLightingShaderProperty.h
+++ b/include/obj/BSLightingShaderProperty.h
@@ -60,6 +60,282 @@ public:
 
 	//--BEGIN MISC CUSTOM CODE--//
 
+	/*!
+	 * Shader flags used by Skyrim
+	 * \return The value of the shader flags
+	 */
+	NIFLIB_API unsigned int getShaderFlags1();
+
+	/*!
+	 * Sets the value of the shader flags used by Skyrim
+	 * \param[in] The new value of the shader flags
+	 */
+	NIFLIB_API void setShaderFlags1(unsigned int value);
+
+	/*!
+	 * Gets the second set of shader flags used by Skyrim
+	 * \return The value of the second set of flags
+	 */
+	NIFLIB_API unsigned int getShaderFlags2();
+
+	/*!
+	 * Sets the value of the second set of skyrim shader flags
+	 * \param[in] the value of the second set of flags
+	 */
+	NIFLIB_API void setShaderFlags2(unsigned int value); 
+
+	/*!
+	 * Used to reposition the texture coordinates of the uv's
+	 * \return The texture translation the the uv's
+	 */
+	NIFLIB_API TexCoord getTextureTranslation1();
+
+	/*!
+	 * Sets the value of the texture offset of the uv's
+	 * \param[in] The new value of the uv offsets
+	 */
+	NIFLIB_API void setTextureTranslation1(TexCoord value);
+
+	/*!
+	 * Used to get the offset of the texture coordinates or uv's
+	 * \return The second texture offsets for the uv
+	 */
+	NIFLIB_API TexCoord getTextureRepeat();
+
+	/*!
+	 * Used to set the second texture offsets
+	 * \param[in] The second texture offsets
+	 */
+	NIFLIB_API void setTextureRepeat(TexCoord value);
+
+	/*!
+	 * Returns the current texture set used
+	 * \return A reference to the texture set
+	 */
+	NIFLIB_API Ref<BSShaderTextureSet > getTextureSet();
+
+	/*!
+	 * Sets the texture set used by this material
+	 * \param[in] A reference to the texture set
+	 */
+	NIFLIB_API void setTextureSet(BSShaderTextureSet * value);
+
+	/*!
+	 * Returns the emissive color of the material
+	 * \return The emissive color value
+	 */
+	NIFLIB_API Color3 getEmissiveColor();
+
+	/*!
+	 * Sets the emissive color of this material
+	 * \param[in] The new emissive color
+	 */
+	NIFLIB_API void setEmissiveColor(Color3 value);
+
+	/*!
+	 * Get the emissive saturation
+	 * \return The emissive saturation
+	 */
+	NIFLIB_API float getEmissiveSaturation();
+
+	/*!
+	 * Sets the emissive saturation of the material
+	 * \param[in] The new emissive saturation value
+	 */
+	NIFLIB_API void setEmissiveSaturation(float value);
+
+	/*!
+	 * Gets unknown unsigned int7
+	 * \return The current value
+	 */
+	NIFLIB_API unsigned int  getUnkownInt7();
+
+	/*!
+	 * Sets the unknown int7 of this material
+	 * \param[in] The new value
+	 */
+	NIFLIB_API void setUnknownInt7(unsigned int value);
+
+	/*!
+	 * Get the transparency or "alpha" of this material
+	 * \return The current alpha value of the material
+	 */
+	NIFLIB_API float getAlpha();
+
+	/*!
+	 * Sets the transparency or alpha of this material
+	 * \param[in] The new alpha value
+	 */
+	NIFLIB_API void setAlpha(float value);
+
+	/*!
+	 * Get the unknown float2 of the material
+	 * \return The unknown float2 value
+	 */
+	NIFLIB_API float getUnknownFloat2();
+
+	/*!
+	 * Sets the unknown float2 of the material
+	 * \param[in] The new unknown float2 value
+	 */
+	 NIFLIB_API void setUnknownFloat2(float value);
+
+	/*!
+	 * Gets the glossiness of the material
+	 * \return The glossiness 
+	 */
+	NIFLIB_API float getGlossiness();
+
+	/*!
+	 * Sets the glossiness of the material
+	 * \param[in] The new glossiness value
+	 */
+	NIFLIB_API void setGlossiness(float value);
+
+	/*!
+	 * Gets the specular color of the material
+	 * \return The specular color
+	 */
+	NIFLIB_API Color3 getSpecularColor();
+
+	/*!
+	 * Sets the specular color of the material
+	 * \param[in] The new specular color 
+	 */
+	NIFLIB_API void setSpecularColor(Color3 value);
+
+	/*!
+	 * Gets the specular strength of the material
+	 * \return The specular strength value
+	 */
+	NIFLIB_API float getSpecularStrength();
+
+	/*!
+	 * Sets the specular strength of the material
+	 * \param[in] The new specular strength value
+	 */
+	NIFLIB_API void setSpecularStrength(float value);
+
+	/*!
+	 * Gets the lightning effect1 of the material
+	 * \return The lightning effect2 value 
+	 */
+	NIFLIB_API float getLightningEffect1();
+
+	/*!
+	 * Sets the lightning effect1 of the material
+	 * \param[in] The new lighting effect1 value
+	 */
+	NIFLIB_API void setLightningEffect1(float value);
+
+	/*!
+	 * Gets the lightning effect2 of the material
+	 * \return The lightning effect2 value
+	 */
+	NIFLIB_API float getLightningEffect2();
+
+	/*!
+	 * Sets the lightning effect2 of the material
+	 * \param[in] The new lighting effect2 of the material
+	 */
+	NIFLIB_API void setLightningEffect2(float value);
+
+	/*!
+	 * Gets the environment map strength of the material
+	 * \return The environment map strength
+	 */
+	NIFLIB_API float getEnvironmentMapStrength();
+
+	/*!
+	 * Sets the environment map strength of the material
+	 * \param[in] The new environment map strength value
+	 */
+	NIFLIB_API void setEnvironmentMapStrength(float value);
+
+	/*!
+	 * Sets unknown float set3 of the material related to hair
+	 * \return The unknown float set3 value
+	 */
+	NIFLIB_API array<2, float> getUnknownFloatSet3();
+
+	/*!
+	 * Sets the unknown float set3 of the material
+	 * \param[in] The new unknown float set3 value 
+	 */
+	NIFLIB_API void setUnknownFloatSet3(array<2, float> value);
+
+	/*!
+	 * Gets the unknown float9 of the material
+	 * \return The unknown float9 value
+	 */
+	NIFLIB_API float getUnknownFloat9();
+
+	/*!
+	 * Sets the unknown float9 of the material
+	 * \param[in] The new unknown float9 value
+	 */
+	NIFLIB_API void setUnknownFloat9(float value);
+
+	/*!
+	 * Gets the unknown color2 of the material
+	 * \return The unknown color2 value
+	 */
+	NIFLIB_API Color4 getUnknownColor2();
+
+	/*!
+	 * Sets the unknown color2 of the material
+	 * \param[in] The new unknown color2 value
+	 */
+	NIFLIB_API void setUnknownColor2(Color4 value);
+
+	/*!
+	 * Gets the unknown float set5 of the material
+	 * \return The unknown float set5 value
+	 */
+	NIFLIB_API Vector4 getUnknownFloatSet5();
+
+	/*!
+	 * Sets the unknown float set5 of the material
+	 * \param[in] The new unknown float set5 value
+	 */
+	NIFLIB_API void setUnknownFloatSet5(Vector4 value);
+
+	/*!
+	 * Get the eye cubemap scale
+	 * \return The eye cubemap scale value
+	 */
+	NIFLIB_API float getEyeCubemapScale();
+
+	/*!
+	 * Sets the eye cubemap scale
+	 * \param[in] The new eye cubemap scale value
+	 */
+	NIFLIB_API void setEyeCubemapScale(float value);
+
+	/*!
+	 * Gets the left eye reflection center
+	 * \return The left eye reflection center value
+	 */
+	NIFLIB_API Vector3 getLeftEyeReflectionCenter();
+
+	/*!
+	 * Sets the left eye reflection center
+	 * \param[in] The new left eye reflection center value
+	 */
+	NIFLIB_API void setLeftEyeReflectionCenter(Vector3 value);
+
+	/*!
+	 * Get the right eye reflection center
+	 * \return The right eye reflection center value
+	 */
+	NIFLIB_API Vector3 getRightEyeReflectionCenter();
+
+	/*!
+	 * Sets the right eye reflection center
+	 * \param[in] The new right eye reflection center value
+	 */
+	NIFLIB_API void setRightEyeReflectionCenter(Vector3 value);
+
 	//--END CUSTOM CODE--//
 protected:
 	/*! Skyrim Shader Flags for setting render/shader options. */
diff --git a/include/obj/BSShaderTextureSet.h b/include/obj/BSShaderTextureSet.h
index 6b12d4991f1985854d1054a8f595cc21b139a9f3..3156127a8fc0d763bff8c80798e5434968e7742d 100644
--- a/include/obj/BSShaderTextureSet.h
+++ b/include/obj/BSShaderTextureSet.h
@@ -57,20 +57,20 @@ public:
 
 	// Textures
 	// \return The current value.
-	vector<string > GetTextures() const;
+	NIFLIB_API vector<string > getTextures() const;
 
 	// Textures
 	// \param[in] value The new value.
-	void SetTextures( const vector<string >& value );
+	NIFLIB_API void setTextures( const vector<string >& value );
 
 	// Textures
 	// \return The current value.
-	string GetTexture( size_t i ) const;
+	NIFLIB_API string getTexture( size_t i ) const;
 
 	// Textures
 	// \param[in] i Index of texture to set
 	// \param[in] value The new value.
-	void SetTexture( size_t i, const string& value);
+	NIFLIB_API void setTexture( size_t i, const string& value);
 
 	//--END CUSTOM CODE--//
 protected:
diff --git a/include/obj/NiBSplineData.h b/include/obj/NiBSplineData.h
index 906f2e2a5a8362febaddfb52fb439346cd8ceba3..e83e15a8d7788c1a9498f94016f0efb6ba28dcf4 100644
--- a/include/obj/NiBSplineData.h
+++ b/include/obj/NiBSplineData.h
@@ -60,6 +60,24 @@ public:
 	 */
 	NIFLIB_API vector<float> GetFloatControlPoints() const;
 
+	/*!
+	* Sets the float control points representing the spline data
+	* \param[in] The new float control points to replace the current ones
+	*/
+	NIFLIB_API void SetFloatControlPoints(vector<float> value);
+
+	/*!
+	* Adds float control points at the end of the float control points collection 
+	* \param[in] The float points to add at the end of the collection
+	*/
+	NIFLIB_API void AppendFloatControlPoints(vector<float> value);
+
+	/*!
+	* Get the number of float control points stored in the data
+	* \return The number of float control points
+	*/
+	NIFLIB_API int GetNumFloatControlPoints();
+
 	/*!
 	 * Get Range of signed shorts representing the data scaled by SHRT_MAX.
 	 * \param[in] offset The start of the range.
@@ -74,6 +92,24 @@ public:
 	 */
 	NIFLIB_API vector<short> GetShortControlPoints() const;
 
+	/*!
+	* Sets the short control points representing the spline data
+	* \param[in] The new short control points to replace the current ones
+	*/
+	NIFLIB_API void SetShortControlPoints(vector<short> value);
+
+	/*!
+	* Adds short control points at the end of the short control points collection 
+	* \param[in] The short points to add at the end of the collection
+	*/
+	NIFLIB_API void AppendShortControlPoints(vector<short> value);
+
+	/*!
+	* Get the number of short control points stored in the data
+	* \return The number of short control points
+	*/
+	NIFLIB_API int GetNumShortControlPoints();
+
 	/*!
 	 * Get Range of signed shorts representing the data scaled by SHRT_MAX.
 	 * \param[in] offset The start of the range.
diff --git a/include/obj/NiBSplineTransformInterpolator.h b/include/obj/NiBSplineTransformInterpolator.h
index 4c1a3f13d00f8b3d37edf62ddc0c5ee9b6f7c263..b255e9d53957c34ca8ea13a02d0402adfa0b3789 100644
--- a/include/obj/NiBSplineTransformInterpolator.h
+++ b/include/obj/NiBSplineTransformInterpolator.h
@@ -66,6 +66,18 @@ public:
 	*/
 	NIFLIB_API void SetTranslation( Vector3 value );
 
+	/*!
+	* Gets the translation offset for the control points in the NiSplineData
+	* \return The translation offset
+	*/
+	NIFLIB_API int GetTranslationOffset();
+
+	/*!
+	* Sets the translation offset for the control points in the NiSplineData
+	* \param[in] The new translation offset
+	*/
+	NIFLIB_API void SetTranslationOffset( int value );
+
 	/*!
 	* Gets the base rotation when a translate curve is not defined.
 	* \return The base rotation.
@@ -78,6 +90,18 @@ public:
 	*/
 	NIFLIB_API void SetRotation( Quaternion value );
 
+	/*!
+	* Gets the rotation offset for the control points in the NiSplineData
+	* \return The rotation offset
+	*/
+	NIFLIB_API int GetRotationOffset();
+
+	/*!
+	* Sets the rotation offset for the control points in the NiSplineData
+	* \param[in] The new rotation offset
+	*/
+	NIFLIB_API void SetRotationOffset( int value );
+
 	/*!
 	* Gets the base scale when a translate curve is not defined.
 	* \return The base scale.
@@ -90,6 +114,18 @@ public:
 	*/
 	NIFLIB_API void SetScale( float value );
 
+	/*!
+	* Gets the scale offset for the control points in the NiSplineData
+	* \return The scale offset
+	*/
+	NIFLIB_API int GetScaleOffset();
+
+	/*!
+	* Sets the scale offset for the control points in the NiSplineData
+	* \param[in] The new scale offset
+	*/
+	NIFLIB_API void SetScaleOffset( int value );
+
 
 	/*!
 	* Retrieves the control quaternion rotation data.
diff --git a/include/obj/NiControllerSequence.h b/include/obj/NiControllerSequence.h
index 107ea1e282a4185c65693047204b5023e4bcda6d..310126b00999af19ac83bdfc78826b5c81c2ea78 100644
--- a/include/obj/NiControllerSequence.h
+++ b/include/obj/NiControllerSequence.h
@@ -107,13 +107,33 @@ public:
 	NIFLIB_API void AddController( string const & targetName, NiTimeController * obj );
 
 	/*!
-	 * Attatches an interpolator to this KF file for a KF file of version greater than 10.2.0.0.  Versions below this use controllers.
+	 * Attaches an interpolator to this KF file for a KF file of version greater than 10.2.0.0.  Versions below this use controllers.
 	 * \param[in] obj A reference to the new controller which has an interpolator to attach.
 	 * \param[in] priority Used only in Oblivion to set the priority of one controller over another when the two are merged.
 	 * \sa NiControllerSequence::ClearChildren, NiControllerSequence::AddController
 	 */
 	NIFLIB_API void AddInterpolator( NiSingleInterpController * obj, byte priority = 0 );
 
+	/*!
+	 * Attaches an interpolator to this KF file for a KF file of version greater than 10.2.0.0.  Versions below this use controllers.
+	 * \param[in] obj A reference to the new controller which has an interpolator to attach.
+	 * \param[in] priority Used only in Oblivion to set the priority of one controller over another when the two are merged.
+	 * \param[in] include_string_pallete Indicates if the resulting ControllerLinks will hold reference to the NiStringPallete in the NiControllerSequence
+	 * \sa NiControllerSequence::ClearChildren, NiControllerSequence::AddController
+	 */
+	NIFLIB_API void AddInterpolator( NiSingleInterpController * obj, byte priority , bool include_string_pallete );
+
+	/*!
+	 * Attaches a generic interpolator to this KF file for a KF file of version greater than 10.2.0.0.  Versions below this use controllers.
+	 * \param[in] interpolator A reference to the new interpolator to insert into the controllersequence
+	 * \param[in] target The target object that the controller which held the interpolator would act on
+	 * \param[in] controller_type_name The name of the type of the controller that held the interpolator
+	 * \param[in] priority Used only in Oblivion to set the priority of one controller over another when the two are merged.
+	 * \param[in] include_string_pallete Indicates if the resulting ControllerLinks will hold reference to the NiStringPallete in the NiControllerSequence
+	 * \sa NiControllerSequence::ClearChildren, NiControllerSequence::AddController
+	 */
+	NIFLIB_API void AddGenericInterpolator( NiInterpolator * interpolator, NiObjectNET* target, string controller_type_name, byte priority = 0, bool include_string_pallete  = true);
+
 	/*! 
 	 * Removes all controllers and interpolators from this Kf file root object.
 	 * \sa NiControllerSequence::AddController, NiControllerSequence::AddInterpolator
diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h
index 8a2f23c6fe94d11e9240fe3f4fa3d6a3f96b1130..5632e62508ed92f8dac06558b8b54256365ba603 100644
--- a/include/obj/NiGeometry.h
+++ b/include/obj/NiGeometry.h
@@ -166,6 +166,28 @@ public:
    // \return The current value.
    NIFLIB_API bool HasShader() const;
 
+   // BSProperty
+   // \param[in] index Index of property to be retrieved.
+   // \return The propterty.
+   NIFLIB_API Ref<NiProperty> getBSProperty(short index);
+
+   // BSProperty
+   // \param[in] index Index of property to be set.
+   // \param[in] index Property to be set.
+   NIFLIB_API void setBSProperty(short index, Ref<NiProperty> value);
+
+   /*
+	 * Returns the array of the only 2 properties that are specific to Bethesda
+	 * \return Returns the array of the 2 properties
+	 */
+   NIFLIB_API array<2,Ref<NiProperty > > getBsProperties();
+
+   /*
+	 * Sets the array of the only 2 properties that are specific to Bethesda
+	 * \param[in] The new array of properties
+	 */
+   NIFLIB_API void setBsProperties( array<2, Ref<NiProperty>> value);
+
 	//--END CUSTOM CODE--//
 protected:
 	/*! Data index (NiTriShapeData/NiTriStripData). */
diff --git a/include/obj/NiObjectNET.h b/include/obj/NiObjectNET.h
index 5df5280dcd89c8874bcccb39292d9a8b55be18d5..586f027916b72a8fd0c85a742467ef3ac6ff7a18 100644
--- a/include/obj/NiObjectNET.h
+++ b/include/obj/NiObjectNET.h
@@ -130,6 +130,18 @@ public:
 	 */
 	NIFLIB_API list< Ref<NiTimeController> > GetControllers() const;
 
+	/*!
+	* Gets the skyrim shader type
+	* \return The skyrim shader flag value
+	*/
+	NIFLIB_API unsigned int GetSkyrimShaderType();
+
+	/*!
+	* Set the skyrim shader type
+	* \param[in] The new skyrim shader value
+	*/
+	NIFLIB_API void SetSkyrimShaderType(unsigned int value);
+
 	//--END CUSTOM CODE--//
 protected:
 	/*! Configures the main shader path */
diff --git a/include/obj/NiTriBasedGeom.h b/include/obj/NiTriBasedGeom.h
index cf5ce165a05cf7cde7cba1627551e8eba30749a8..90f4806bbda26f104bd3cd0657d3057e001bc08c 100644
--- a/include/obj/NiTriBasedGeom.h
+++ b/include/obj/NiTriBasedGeom.h
@@ -11,6 +11,7 @@ All rights reserved.  Please see niflib.h for license. */
 #define _NITRIBASEDGEOM_H_
 
 //--BEGIN FILE HEAD CUSTOM CODE--//
+#include "../gen/BodyPartList.h"
 //--END CUSTOM CODE--//
 
 #include "NiGeometry.h"
diff --git a/include/obj/bhkCompressedMeshShape.h b/include/obj/bhkCompressedMeshShape.h
index 9bc5f1cc039a5b1d1d370fdaa8fc293ea2ec9620..d474b4bc839fbe50abbaa257979150e578aa735e 100644
--- a/include/obj/bhkCompressedMeshShape.h
+++ b/include/obj/bhkCompressedMeshShape.h
@@ -60,6 +60,29 @@ public:
 	NIFLIB_API virtual const Type & GetType() const;
 
 	//--BEGIN MISC CUSTOM CODE--//
+	/*!
+	 * Retrieve target
+	 * \return target
+     */
+	NIFLIB_API  NiAVObject* GetTarget() const;
+	
+	/*!
+	 * Set target 
+	 * \param[in] value target
+     */
+	NIFLIB_API void SetTarget(NiAVObject* value);
+
+	/*!
+	 * Retrieve data
+	 * \return data
+     */
+	NIFLIB_API  Ref<bhkCompressedMeshShapeData > GetData() const;
+
+	/*!
+	 * Set data
+	 * \param[in] value data
+     */
+	NIFLIB_API void SetData(Ref<bhkCompressedMeshShapeData > value);
 
 	//--END CUSTOM CODE--//
 protected:
diff --git a/include/obj/bhkCompressedMeshShapeData.h b/include/obj/bhkCompressedMeshShapeData.h
index b64106749ee6c35c1e6f5af26fa9db6464d2090c..5b1eba85442d789be9992a0baf00624cc675b175 100644
--- a/include/obj/bhkCompressedMeshShapeData.h
+++ b/include/obj/bhkCompressedMeshShapeData.h
@@ -60,6 +60,209 @@ public:
 	NIFLIB_API virtual const Type & GetType() const;
 
 	//--BEGIN MISC CUSTOM CODE--//
+	/*!
+	 * Retrieve bitsPerIndex
+	 * \return bitsPerIndex
+     */
+	NIFLIB_API virtual const unsigned int GetBitsPerIndex() const;
+	
+	/*!
+	 * Set bitsPerIndex 
+	 * \param[in] value bitsPerIndex
+     */
+	NIFLIB_API virtual void SetBitsPerIndex(unsigned int value);
+
+	/*!
+	 * Retrieve bitsPerWIndex
+	 * \return bitsPerWIndex
+     */
+	NIFLIB_API virtual const unsigned int GetBitsPerWIndex() const;
+	
+	/*!
+	 * Set bitsPerWIndex 
+	 * \param[in] value bitsPerWIndex
+     */
+	NIFLIB_API virtual void SetBitsPerWIndex(unsigned int value);
+
+	/*!
+	 * Retrieve maskWIndex
+	 * \return maskWIndex
+     */
+	NIFLIB_API virtual const unsigned int GetMaskWIndex() const;
+	
+	/*!
+	 * Set maskWIndex 
+	 * \param[in] value maskWIndex
+     */
+	NIFLIB_API virtual void SetMaskWIndex(unsigned int value);
+
+	/*!
+	 * Retrieve maskIndex
+	 * \return maskIndex
+     */
+	NIFLIB_API virtual const unsigned int GetMaskIndex() const;
+	
+	/*!
+	 * Set maskIndex
+	 * \param[in] value maskIndex
+     */
+	NIFLIB_API virtual void SetMaskIndex(unsigned int value);
+
+	/*!
+	 * Retrieve error
+	 * \return error
+     */
+	NIFLIB_API virtual const float GetError() const;
+	
+	/*!
+	 * Set error
+	 * \param[in] value error
+     */
+	NIFLIB_API virtual void SetError(float value);
+
+	/*!
+	 * Retrieve boundsMin
+	 * \return boundsMin
+     */
+	NIFLIB_API virtual const Vector4 GetBoundsMin() const;
+	
+	/*!
+	 * Set boundsMin
+	 * \param[in] value boundsMin
+     */
+	NIFLIB_API virtual void SetBoundsMin(Vector4 value);
+
+	/*!
+	 * Retrieve boundsMax
+	 * \return boundsMax
+     */
+	NIFLIB_API virtual const Vector4 GetBoundsMax() const;
+	
+	/*!
+	 * Set boundsMax
+	 * \param[in] value boundsMax
+     */
+	NIFLIB_API virtual void SetBoundsMax(Vector4 value);
+
+	/*!
+	 * Retrieve numMaterials
+	 * \return numMaterials
+     */
+	NIFLIB_API virtual unsigned int GetNumMaterials() const;
+	
+	/*!
+	 * Set numMaterials
+	 * \param[in] value numMaterials
+     */
+	NIFLIB_API virtual void SetNumMaterials(unsigned int value);
+
+	/*!
+	 * Retrieve list of chunkMaterials
+	 * \return List of the chunkMaterials
+     */
+	NIFLIB_API virtual const vector<bhkCMSD_Something> & GetChunkMaterials() const;
+	
+	/*!
+	 * Set list of chunkMaterials 
+	 * \param[in] List of the chunkMaterials
+     */
+	NIFLIB_API virtual unsigned int SetChunkMaterials(vector<bhkCMSD_Something>& theChunkMaterials);
+
+	/*!
+	 * Retrieve numTransforms
+	 * \return numTransforms
+     */
+	NIFLIB_API virtual unsigned int GetNumTransforms() const;
+	
+	/*!
+	 * Set numTransforms
+	 * \param[in] value numTransforms
+     */
+	NIFLIB_API virtual void SetNumTransforms(unsigned int value);
+
+	/*!
+	 * Retrieve list of chunkTransforms
+	 * \return List of the chunkTransforms
+     */
+	NIFLIB_API virtual const vector<bhkCMSDTransform> & GetChunkTransforms() const;
+	
+	/*!
+	 * Set list of chunkTransforms 
+	 * \param[in] List of the chunkTransforms
+     */
+	NIFLIB_API virtual unsigned int SetChunkTransforms(vector<bhkCMSDTransform>& theChunkTransforms);
+
+	/*!
+	 * Retrieve numBigVerts
+	 * \return numBigVerts
+     */
+	NIFLIB_API virtual unsigned int GetNumBigVerts() const;
+	
+	/*!
+	 * Set numBigVerts
+	 * \param[in] value numBigVerts
+     */
+	NIFLIB_API virtual void SetNumBigVerts(unsigned int value);
+
+	/*!
+	 * Retrieve list of bigVerts
+	 * \return List of the bigVerts
+     */
+	NIFLIB_API virtual const vector<Vector4> & GetBigVerts() const;
+	
+	/*!
+	 * Set list of bigVerts 
+	 * \param[in] List of the bigVerts
+     */
+	NIFLIB_API virtual unsigned int SetBigVerts(vector<Vector4>& theBigVerts);
+
+	/*!
+	 * Retrieve numBigTris
+	 * \return numBigTris
+     */
+	NIFLIB_API virtual unsigned int GetNumBigTris() const;
+	
+	/*!
+	 * Set numBigTris
+	 * \param[in] value numBigTris
+     */
+	NIFLIB_API virtual void SetNumBigTris(unsigned int value);
+
+	/*!
+	 * Retrieve list of bigTris
+	 * \return List of the bigTris
+     */
+	NIFLIB_API virtual const vector<bhkCMSDBigTris> & GetBigTris() const;
+	
+	/*!
+	 * Set list of bigTris 
+	 * \param[in] List of the bigTris
+     */
+	NIFLIB_API virtual unsigned int SetBigTris(vector<bhkCMSDBigTris>& theBigVerts);
+
+	/*!
+	 * Retrieve numChunks
+	 * \return numChunks
+     */
+	NIFLIB_API virtual unsigned int GetNumChunks() const;
+	
+	/*!
+	 * Set numChunks
+	 * \param[in] value numChunks
+     */
+	NIFLIB_API virtual void SetNumChunks(unsigned int value);
+
+	/*!
+	 * Retrieve list of chunks
+	 * \return List of the chunks
+     */
+	NIFLIB_API virtual const vector<bhkCMSDChunk> & GetChunks() const;
+	
+	/*!
+	 * Set list of chunks 
+	 * \param[in] List of the chunks
+     */
+	NIFLIB_API virtual unsigned int SetChunks(vector<bhkCMSDChunk>& theChunks);
 
 	//--END CUSTOM CODE--//
 protected:
diff --git a/include/obj/bhkNiCollisionObject.h b/include/obj/bhkNiCollisionObject.h
index 91360302fa7b6d30950ed6ce865ab68242598dff..c69bc2a792d8b194b80da08c92bf32d3ee6381f8 100644
--- a/include/obj/bhkNiCollisionObject.h
+++ b/include/obj/bhkNiCollisionObject.h
@@ -69,6 +69,19 @@ public:
    * \param[in] value The new rigid body for this collision object to use, or NULL to clear the current reference.
    */
    NIFLIB_API void SetBody( NiObject * value );
+
+   /*!
+   * Gets the flags field
+   * \return flags
+   */
+   NIFLIB_API unsigned short GetFlags() const;
+
+   /*!
+   * Sets the flags field
+   * \param[in] flags The new flags to be set
+   */
+   NIFLIB_API void SetFlags(unsigned short value);
+
 	//--END CUSTOM CODE--//
 protected:
 	/*!
diff --git a/niflib.sln b/niflib.sln
old mode 100644
new mode 100755
index 16cbe1778a1a9249199928d3d9de2cf206c7df4c..97958d1b5d56508c8b993734eb4ade7961178ef1
--- a/niflib.sln
+++ b/niflib.sln
@@ -1,6 +1,6 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Niflib", "niflib.vcproj", "{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}"
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "niflib", "niflib.vcxproj", "{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/niflib.vcproj b/niflib.vcproj
index 1f1b4a71f5191f89bb5f884d682f09f97222b3d6..6c7eab106ed202b277fc5656a099c7efb0425f57 100644
--- a/niflib.vcproj
+++ b/niflib.vcproj
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
 	ProjectType="Visual C++"
-	Version="8.00"
+	Version="8,00"
 	Name="Niflib"
 	ProjectGUID="{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}"
 	RootNamespace="NIFlib"
@@ -662,6 +662,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\src\pch.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\src\RefObject.cpp"
 				>
 			</File>
@@ -673,6 +677,10 @@
 				Name="obj"
 				>
 				<File
+					RelativePath=".\src\obj\AbstractAdditionalGeometryData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\ATextureRenderData.cpp"
 					>
 				</File>
@@ -685,6 +693,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\bhkBallAndSocketConstraint.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\bhkBallSocketConstraintChain.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\bhkBlendCollisionObject.cpp"
 					>
 				</File>
@@ -713,6 +729,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\bhkCompressedMeshShape.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\bhkCompressedMeshShapeData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\bhkConstraint.cpp"
 					>
 				</File>
@@ -757,6 +781,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\bhkMeshShape.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\bhkMoppBvTreeShape.cpp"
 					>
 				</File>
@@ -857,10 +885,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSBehaviorGraphExtraData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSBlastNode.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSBoneLODExtraData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSBound.cpp"
 					>
 				</File>
@@ -885,6 +921,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSEffectShaderProperty.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSEffectShaderPropertyColorController.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSEffectShaderPropertyFloatController.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSFadeNode.cpp"
 					>
 				</File>
@@ -897,10 +945,42 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSFurnitureMarkerNode.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSInvMarker.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSKeyframeController.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSLagBoneController.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSLeafAnimNode.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSLightingShaderProperty.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSLightingShaderPropertyColorController.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSLightingShaderPropertyFloatController.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSLODTriShape.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSMasterParticleSystem.cpp"
 					>
 				</File>
@@ -921,26 +1001,62 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSMultiBoundOBB.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSMultiBoundSphere.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSNiAlphaPropertyTestRefController.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSOrderedNode.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSPackedAdditionalGeometryData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSParentVelocityModifier.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSProceduralLightningController.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSPSysArrayEmitter.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSPSysHavokUpdateModifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSPSysInheritVelocityModifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSPSysLODModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSPSysMultiTargetEmitterCtlr.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSPSysRecycleBoundModifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\BSPSysScaleModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSPSysSimpleColorModifier.cpp"
 					>
 				</File>
@@ -949,6 +1065,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSPSysSubTexModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSRefractionFirePeriodController.cpp"
 					>
 				</File>
@@ -957,6 +1077,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSRotAccumTransfInterpolator.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSSegmentedTriShape.cpp"
 					>
 				</File>
@@ -981,6 +1105,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSSkyShaderProperty.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSStripParticleSystem.cpp"
 					>
 				</File>
@@ -993,6 +1121,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSTreeNode.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSValueNode.cpp"
 					>
 				</File>
@@ -1001,6 +1133,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\BSWaterShaderProperty.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\BSWindModifier.cpp"
 					>
 				</File>
@@ -1009,6 +1145,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\CStreamableAssetData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\DistantLODShaderProperty.cpp"
 					>
 				</File>
@@ -1213,6 +1353,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiBSplineCompTransformEvaluator.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiBSplineCompTransformInterpolator.cpp"
 					>
 				</File>
@@ -1277,6 +1421,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiDataStream.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiDefaultAVObjectPalette.cpp"
 					>
 				</File>
@@ -1341,6 +1489,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiFurSpringController.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiGeometry.cpp"
 					>
 				</File>
@@ -1361,6 +1513,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiInstancingMeshModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiIntegerExtraData.cpp"
 					>
 				</File>
@@ -1437,6 +1593,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiMesh.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiMeshHWInstance.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiMeshModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiMeshParticleSystem.cpp"
 					>
 				</File>
@@ -1457,6 +1625,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiMorphMeshModifier.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiMorphWeightsController.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiMultiTargetTransformController.cpp"
 					>
 				</File>
@@ -1613,14 +1789,170 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSBombForce.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSBoundUpdater.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSBoxEmitter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSCylinderEmitter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSDragForce.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitParticlesCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterDeclinationCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterDeclinationVarCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterLifeSpanCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterPlanarAngleCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterPlanarAngleVarCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterRadiusCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterRotAngleCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterRotAngleVarCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterRotSpeedCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterRotSpeedVarCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSEmitterSpeedCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSFacingQuadGenerator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSForceActiveCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSGravityForce.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSGravityStrengthCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSMeshEmitter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSMeshParticleSystem.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSParticleSystem.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSPlanarCollider.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSResetOnLoopCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulator.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulatorCollidersStep.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulatorFinalStep.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulatorForcesStep.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulatorGeneralStep.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulatorMeshAlignStep.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSimulatorStep.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSpawner.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSphereEmitter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSSphericalCollider.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysAgeDeathModifier.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysAirFieldAirFrictionCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSysAirFieldInheritVelocityCtlr.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysAirFieldModifier.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysAirFieldSpreadCtlr.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysBombModifier.cpp"
 					>
 				</File>
@@ -1689,14 +2021,30 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysEmitterPlanarAngleCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSysEmitterPlanarAngleVarCtlr.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysEmitterSpeedCtlr.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysFieldAttenuationCtlr.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysFieldMagnitudeCtlr.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysFieldMaxDistanceCtlr.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysFieldModifier.cpp"
 					>
 				</File>
@@ -1717,6 +2065,22 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysInitialRotAngleCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSysInitialRotAngleVarCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSysInitialRotSpeedCtlr.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiPSysInitialRotSpeedVarCtlr.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysMeshEmitter.cpp"
 					>
 				</File>
@@ -1753,6 +2117,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiPSysRadialFieldModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiPSysResetOnLoopCtlr.cpp"
 					>
 				</File>
@@ -1801,6 +2169,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiRenderObject.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiRollController.cpp"
 					>
 				</File>
@@ -1837,6 +2209,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiSequenceData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiSequenceStreamHelper.cpp"
 					>
 				</File>
@@ -1845,6 +2221,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiShadowGenerator.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiSingleInterpController.cpp"
 					>
 				</File>
@@ -1857,6 +2237,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiSkinningLODController.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\obj\NiSkinningMeshModifier.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiSkinPartition.cpp"
 					>
 				</File>
@@ -1945,6 +2333,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\obj\NiTransformEvaluator.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\obj\NiTransformInterpolator.cpp"
 					>
 				</File>
@@ -2061,6 +2453,34 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\bhkCMSD_Shape.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\bhkCMSD_Something.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\bhkCMSDBigTris.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\bhkCMSDChunk.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\bhkCMSDContainer.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\bhkCMSDData.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\bhkCMSDTransform.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\BodyPartList.cpp"
 					>
 				</File>
@@ -2077,6 +2497,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\BSPackedAdditionalDataBlock.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\BSSegmentedTriangle.cpp"
 					>
 				</File>
@@ -2085,6 +2509,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\BSTreadTransform.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\BSTreadTransformData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\BSTreadTransfSubInfo.cpp"
 					>
 				</File>
@@ -2125,6 +2557,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\ElementReference.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\enums.cpp"
 					>
 				</File>
@@ -2133,6 +2569,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\ExtraMeshDataEpicMickey.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\ExtraMeshDataEpicMickey2.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\Footer.cpp"
 					>
 				</File>
@@ -2169,6 +2613,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\MaterialData.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\gen\MeshData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\MipMap.cpp"
 					>
 				</File>
@@ -2181,6 +2633,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\MotorDescriptor.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\MultiTextureElement.cpp"
 					>
 				</File>
@@ -2225,10 +2681,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\Region.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\register.cpp"
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\SemanticData.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\ShaderTexDesc.cpp"
 					>
 				</File>
@@ -2249,6 +2713,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\src\gen\SkinTransform.cpp"
+					>
+				</File>
+				<File
 					RelativePath=".\src\gen\SkinWeight.cpp"
 					>
 				</File>
@@ -2276,6 +2744,10 @@
 					RelativePath=".\src\gen\UnionBV.cpp"
 					>
 				</File>
+				<File
+					RelativePath=".\src\gen\UnknownMatrix1.cpp"
+					>
+				</File>
 			</Filter>
 			<Filter
 				Name="NvTriStrip"
@@ -2376,6 +2848,10 @@
 				>
 			</File>
 			<File
+				RelativePath=".\include\pch.h"
+				>
+			</File>
+			<File
 				RelativePath=".\include\Ref.h"
 				>
 			</File>
@@ -2391,6 +2867,10 @@
 				Name="obj"
 				>
 				<File
+					RelativePath=".\include\obj\AbstractAdditionalGeometryData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\ATextureRenderData.h"
 					>
 				</File>
@@ -2403,6 +2883,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\bhkBallAndSocketConstraint.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\bhkBallSocketConstraintChain.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\bhkBlendCollisionObject.h"
 					>
 				</File>
@@ -2431,6 +2919,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\bhkCompressedMeshShape.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\bhkCompressedMeshShapeData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\bhkConstraint.h"
 					>
 				</File>
@@ -2475,6 +2971,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\bhkMeshShape.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\bhkMoppBvTreeShape.h"
 					>
 				</File>
@@ -2575,10 +3075,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSBehaviorGraphExtraData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSBlastNode.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSBoneLODExtraData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSBound.h"
 					>
 				</File>
@@ -2603,6 +3111,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSEffectShaderProperty.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSEffectShaderPropertyColorController.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSEffectShaderPropertyFloatController.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSFadeNode.h"
 					>
 				</File>
@@ -2615,10 +3135,42 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSFurnitureMarkerNode.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSInvMarker.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSKeyframeController.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSLagBoneController.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSLeafAnimNode.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSLightingShaderProperty.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSLightingShaderPropertyColorController.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSLightingShaderPropertyFloatController.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSLODTriShape.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSMasterParticleSystem.h"
 					>
 				</File>
@@ -2639,26 +3191,62 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSMultiBoundOBB.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSMultiBoundSphere.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSNiAlphaPropertyTestRefController.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSOrderedNode.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSPackedAdditionalGeometryData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSParentVelocityModifier.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSProceduralLightningController.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSPSysArrayEmitter.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSPSysHavokUpdateModifier.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSPSysInheritVelocityModifier.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSPSysLODModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSPSysMultiTargetEmitterCtlr.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSPSysRecycleBoundModifier.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\BSPSysScaleModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSPSysSimpleColorModifier.h"
 					>
 				</File>
@@ -2667,6 +3255,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSPSysSubTexModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSRefractionFirePeriodController.h"
 					>
 				</File>
@@ -2675,6 +3267,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSRotAccumTransfInterpolator.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSSegmentedTriShape.h"
 					>
 				</File>
@@ -2699,6 +3295,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSSkyShaderProperty.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSStripParticleSystem.h"
 					>
 				</File>
@@ -2711,6 +3311,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSTreeNode.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSValueNode.h"
 					>
 				</File>
@@ -2719,6 +3323,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\BSWaterShaderProperty.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\BSWindModifier.h"
 					>
 				</File>
@@ -2727,6 +3335,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\CStreamableAssetData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\DistantLODShaderProperty.h"
 					>
 				</File>
@@ -2931,6 +3543,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiBSplineCompTransformEvaluator.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiBSplineCompTransformInterpolator.h"
 					>
 				</File>
@@ -2995,6 +3611,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiDataStream.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiDefaultAVObjectPalette.h"
 					>
 				</File>
@@ -3059,6 +3679,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiFurSpringController.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiGeometry.h"
 					>
 				</File>
@@ -3079,6 +3703,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiInstancingMeshModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiIntegerExtraData.h"
 					>
 				</File>
@@ -3155,6 +3783,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiMesh.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiMeshHWInstance.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiMeshModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiMeshParticleSystem.h"
 					>
 				</File>
@@ -3175,6 +3815,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiMorphMeshModifier.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiMorphWeightsController.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiMultiTargetTransformController.h"
 					>
 				</File>
@@ -3331,14 +3979,170 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSBombForce.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSBoundUpdater.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSBoxEmitter.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSCylinderEmitter.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSDragForce.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitParticlesCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterDeclinationCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterDeclinationVarCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterLifeSpanCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterPlanarAngleCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterPlanarAngleVarCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterRadiusCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterRotAngleCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterRotAngleVarCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterRotSpeedCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterRotSpeedVarCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSEmitterSpeedCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSFacingQuadGenerator.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSForceActiveCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSGravityForce.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSGravityStrengthCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSMeshEmitter.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSMeshParticleSystem.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSParticleSystem.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSPlanarCollider.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSResetOnLoopCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulator.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulatorCollidersStep.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulatorFinalStep.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulatorForcesStep.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulatorGeneralStep.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulatorMeshAlignStep.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSimulatorStep.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSpawner.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSphereEmitter.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSSphericalCollider.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysAgeDeathModifier.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysAirFieldAirFrictionCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSysAirFieldInheritVelocityCtlr.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysAirFieldModifier.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysAirFieldSpreadCtlr.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysBombModifier.h"
 					>
 				</File>
@@ -3407,14 +4211,30 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysEmitterPlanarAngleCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSysEmitterPlanarAngleVarCtlr.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysEmitterSpeedCtlr.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysFieldAttenuationCtlr.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysFieldMagnitudeCtlr.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysFieldMaxDistanceCtlr.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysFieldModifier.h"
 					>
 				</File>
@@ -3435,6 +4255,22 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysInitialRotAngleCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSysInitialRotAngleVarCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSysInitialRotSpeedCtlr.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiPSysInitialRotSpeedVarCtlr.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysMeshEmitter.h"
 					>
 				</File>
@@ -3471,6 +4307,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiPSysRadialFieldModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiPSysResetOnLoopCtlr.h"
 					>
 				</File>
@@ -3519,6 +4359,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiRenderObject.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiRollController.h"
 					>
 				</File>
@@ -3555,6 +4399,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiSequenceData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiSequenceStreamHelper.h"
 					>
 				</File>
@@ -3563,6 +4411,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiShadowGenerator.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiSingleInterpController.h"
 					>
 				</File>
@@ -3575,6 +4427,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiSkinningLODController.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\obj\NiSkinningMeshModifier.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiSkinPartition.h"
 					>
 				</File>
@@ -3663,6 +4523,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\obj\NiTransformEvaluator.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\obj\NiTransformInterpolator.h"
 					>
 				</File>
@@ -3779,6 +4643,34 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\bhkCMSD_Shape.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\bhkCMSD_Something.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\bhkCMSDBigTris.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\bhkCMSDChunk.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\bhkCMSDContainer.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\bhkCMSDData.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\bhkCMSDTransform.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\BodyPartList.h"
 					>
 				</File>
@@ -3795,6 +4687,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\BSPackedAdditionalDataBlock.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\BSSegmentedTriangle.h"
 					>
 				</File>
@@ -3803,6 +4699,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\BSTreadTransform.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\BSTreadTransformData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\BSTreadTransfSubInfo.h"
 					>
 				</File>
@@ -3839,6 +4743,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\ElementReference.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\enums.h"
 					>
 				</File>
@@ -3851,6 +4759,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\ExtraMeshDataEpicMickey.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\ExtraMeshDataEpicMickey2.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\Footer.h"
 					>
 				</File>
@@ -3891,6 +4807,14 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\MaterialData.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\MeshData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\MipMap.h"
 					>
 				</File>
@@ -3903,6 +4827,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\MotorDescriptor.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\MultiTextureElement.h"
 					>
 				</File>
@@ -3947,10 +4875,18 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\Region.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\RotationKeyArray.h"
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\SemanticData.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\ShaderTexDesc.h"
 					>
 				</File>
@@ -3971,6 +4907,10 @@
 					>
 				</File>
 				<File
+					RelativePath=".\include\gen\SkinTransform.h"
+					>
+				</File>
+				<File
 					RelativePath=".\include\gen\SkinWeight.h"
 					>
 				</File>
@@ -3996,6 +4936,10 @@
 				</File>
 				<File
 					RelativePath=".\include\gen\UnionBV.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\gen\UnknownMatrix1.h"
 					>
 				</File>
 			</Filter>
diff --git a/niflib.vcxproj b/niflib.vcxproj
new file mode 100755
index 0000000000000000000000000000000000000000..7293d61f3514492fce0546bc8e59f85c1039927c
--- /dev/null
+++ b/niflib.vcxproj
@@ -0,0 +1,1401 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug - DLL|Win32">
+      <Configuration>Debug - DLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug - DLL|x64">
+      <Configuration>Debug - DLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug - Static|Win32">
+      <Configuration>Debug - Static</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug - Static|x64">
+      <Configuration>Debug - Static</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release - DLL|Win32">
+      <Configuration>Release - DLL</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release - DLL|x64">
+      <Configuration>Release - DLL</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release - Static|Win32">
+      <Configuration>Release - Static</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release - Static|x64">
+      <Configuration>Release - Static</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}</ProjectGuid>
+    <RootNamespace>NIFlib</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - DLL|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Static|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <CharacterSet>Unicode</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Static|Win32'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - DLL|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - Static|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Static|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - DLL|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Static|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Static|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - DLL|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - Static|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Static|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Static|Win32'">$(ProjectDir)obj\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Static|Win32'">$(ProjectDir)obj\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - Static|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - Static|x64'">$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Static|Win32'">$(ProjectDir)obj\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Static|Win32'">$(ProjectDir)obj\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release - Static|x64'">$(ProjectDir)obj\$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release - Static|x64'">$(ProjectDir)obj\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release - DLL|Win32'">$(ProjectDir)obj\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release - DLL|Win32'">$(ProjectDir)obj\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release - DLL|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release - DLL|x64'">$(Platform)\$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|Win32'">$(Configuration)\</IntDir>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|x64'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|x64'">$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Static|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NIFLIB_STATIC_LINK;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Lib>
+      <OutputFile>lib/niflib_static_debug.lib</OutputFile>
+    </Lib>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - Static|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NIFLIB_STATIC_LINK;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Lib>
+      <OutputFile>lib/niflib_static_debug_x64.lib</OutputFile>
+    </Lib>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Static|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NIFLIB_STATIC_LINK;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Lib>
+      <OutputFile>lib/niflib_static.lib</OutputFile>
+    </Lib>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Static|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>NIFLIB_STATIC_LINK;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Lib>
+      <OutputFile>lib/niflib_static_x64.lib</OutputFile>
+    </Lib>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - DLL|Win32'">
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BUILDING_NIFLIB_DLL;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>bin\niflib.dll</OutputFile>
+      <Version>0.7.3</Version>
+      <ImportLibrary>lib/niflib_dll.lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - DLL|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Full</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BUILDING_NIFLIB_DLL;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>bin\niflib_x64.dll</OutputFile>
+      <Version>0.7.3</Version>
+      <ImportLibrary>lib/niflib_dll.lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|Win32'">
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BUILDING_NIFLIB_DLL;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>bin\niflib_debug.dll</OutputFile>
+      <Version>0.7.3</Version>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ImportLibrary>lib/niflib_dll_debug.lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BUILDING_NIFLIB_DLL;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <PrecompiledHeaderFile>
+      </PrecompiledHeaderFile>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <OutputFile>bin\niflib_debug_x64.dll</OutputFile>
+      <Version>0.7.3</Version>
+      <ImportLibrary>lib/niflib_dll_debug.lib</ImportLibrary>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="src\obj\BSMultiBoundData.cpp" />
+    <ClCompile Include="src\Inertia.cpp" />
+    <ClCompile Include="src\kfm.cpp" />
+    <ClCompile Include="src\MatTexCollection.cpp" />
+    <ClCompile Include="src\NIF_IO.cpp" />
+    <ClCompile Include="src\nif_math.cpp" />
+    <ClCompile Include="src\niflib.cpp">
+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|Win32'">
+      </PrecompiledHeaderFile>
+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug - DLL|x64'">
+      </PrecompiledHeaderFile>
+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug - Static|Win32'">
+      </PrecompiledHeaderFile>
+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug - Static|x64'">
+      </PrecompiledHeaderFile>
+    </ClCompile>
+    <ClCompile Include="src\nifqhull.cpp" />
+    <ClCompile Include="src\ObjectRegistry.cpp" />
+    <ClCompile Include="src\pch.cpp" />
+    <ClCompile Include="src\RefObject.cpp" />
+    <ClCompile Include="src\Type.cpp" />
+    <ClCompile Include="src\obj\AbstractAdditionalGeometryData.cpp" />
+    <ClCompile Include="src\obj\ATextureRenderData.cpp" />
+    <ClCompile Include="src\obj\AvoidNode.cpp" />
+    <ClCompile Include="src\obj\bhkAabbPhantom.cpp" />
+    <ClCompile Include="src\obj\bhkBallAndSocketConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkBallSocketConstraintChain.cpp" />
+    <ClCompile Include="src\obj\bhkBlendCollisionObject.cpp" />
+    <ClCompile Include="src\obj\bhkBlendController.cpp" />
+    <ClCompile Include="src\obj\bhkBoxShape.cpp" />
+    <ClCompile Include="src\obj\bhkBreakableConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkBvTreeShape.cpp" />
+    <ClCompile Include="src\obj\bhkCapsuleShape.cpp" />
+    <ClCompile Include="src\obj\bhkCollisionObject.cpp" />
+    <ClCompile Include="src\obj\bhkCompressedMeshShape.cpp" />
+    <ClCompile Include="src\obj\bhkCompressedMeshShapeData.cpp" />
+    <ClCompile Include="src\obj\bhkConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkConvexListShape.cpp" />
+    <ClCompile Include="src\obj\bhkConvexShape.cpp" />
+    <ClCompile Include="src\obj\bhkConvexTransformShape.cpp" />
+    <ClCompile Include="src\obj\bhkConvexVerticesShape.cpp" />
+    <ClCompile Include="src\obj\bhkEntity.cpp" />
+    <ClCompile Include="src\obj\bhkHingeConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkLimitedHingeConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkLiquidAction.cpp" />
+    <ClCompile Include="src\obj\bhkListShape.cpp" />
+    <ClCompile Include="src\obj\bhkMalleableConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkMeshShape.cpp" />
+    <ClCompile Include="src\obj\bhkMoppBvTreeShape.cpp" />
+    <ClCompile Include="src\obj\bhkMultiSphereShape.cpp" />
+    <ClCompile Include="src\obj\bhkNiCollisionObject.cpp" />
+    <ClCompile Include="src\obj\bhkNiTriStripsShape.cpp" />
+    <ClCompile Include="src\obj\bhkOrientHingedBodyAction.cpp" />
+    <ClCompile Include="src\obj\bhkPackedNiTriStripsShape.cpp" />
+    <ClCompile Include="src\obj\bhkPCollisionObject.cpp" />
+    <ClCompile Include="src\obj\bhkPhantom.cpp" />
+    <ClCompile Include="src\obj\bhkPrismaticConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkRagdollConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkRefObject.cpp" />
+    <ClCompile Include="src\obj\bhkRigidBody.cpp" />
+    <ClCompile Include="src\obj\bhkRigidBodyT.cpp" />
+    <ClCompile Include="src\obj\bhkSerializable.cpp" />
+    <ClCompile Include="src\obj\bhkShape.cpp" />
+    <ClCompile Include="src\obj\bhkShapeCollection.cpp" />
+    <ClCompile Include="src\obj\bhkShapePhantom.cpp" />
+    <ClCompile Include="src\obj\bhkSimpleShapePhantom.cpp" />
+    <ClCompile Include="src\obj\bhkSPCollisionObject.cpp" />
+    <ClCompile Include="src\obj\bhkSphereRepShape.cpp" />
+    <ClCompile Include="src\obj\bhkSphereShape.cpp" />
+    <ClCompile Include="src\obj\bhkStiffSpringConstraint.cpp" />
+    <ClCompile Include="src\obj\bhkTransformShape.cpp" />
+    <ClCompile Include="src\obj\bhkWorldObject.cpp" />
+    <ClCompile Include="src\obj\BSAnimNotes.cpp" />
+    <ClCompile Include="src\obj\BSBehaviorGraphExtraData.cpp" />
+    <ClCompile Include="src\obj\BSBlastNode.cpp" />
+    <ClCompile Include="src\obj\BSBoneLODExtraData.cpp" />
+    <ClCompile Include="src\obj\BSBound.cpp" />
+    <ClCompile Include="src\obj\BSDamageStage.cpp" />
+    <ClCompile Include="src\obj\BSDebrisNode.cpp" />
+    <ClCompile Include="src\obj\BSDecalPlacementVectorExtraData.cpp" />
+    <ClCompile Include="src\obj\BSDismemberSkinInstance.cpp" />
+    <ClCompile Include="src\obj\BSDistantTreeShaderProperty.cpp" />
+    <ClCompile Include="src\obj\BSEffectShaderProperty.cpp" />
+    <ClCompile Include="src\obj\BSEffectShaderPropertyColorController.cpp" />
+    <ClCompile Include="src\obj\BSEffectShaderPropertyFloatController.cpp" />
+    <ClCompile Include="src\obj\BSFadeNode.cpp" />
+    <ClCompile Include="src\obj\BSFrustumFOVController.cpp" />
+    <ClCompile Include="src\obj\BSFurnitureMarker.cpp" />
+    <ClCompile Include="src\obj\BSFurnitureMarkerNode.cpp" />
+    <ClCompile Include="src\obj\BSInvMarker.cpp" />
+    <ClCompile Include="src\obj\BSKeyframeController.cpp" />
+    <ClCompile Include="src\obj\BSLagBoneController.cpp" />
+    <ClCompile Include="src\obj\BSLeafAnimNode.cpp" />
+    <ClCompile Include="src\obj\BSLightingShaderProperty.cpp" />
+    <ClCompile Include="src\obj\BSLightingShaderPropertyColorController.cpp" />
+    <ClCompile Include="src\obj\BSLightingShaderPropertyFloatController.cpp" />
+    <ClCompile Include="src\obj\BSLODTriShape.cpp" />
+    <ClCompile Include="src\obj\BSMasterParticleSystem.cpp" />
+    <ClCompile Include="src\obj\BSMaterialEmittanceMultController.cpp" />
+    <ClCompile Include="src\obj\BSMultiBound.cpp" />
+    <ClCompile Include="src\obj\BSMultiBoundAABB.cpp" />
+    <ClCompile Include="src\obj\BSMultiBoundNode.cpp" />
+    <ClCompile Include="src\obj\BSMultiBoundOBB.cpp" />
+    <ClCompile Include="src\obj\BSMultiBoundSphere.cpp" />
+    <ClCompile Include="src\obj\BSNiAlphaPropertyTestRefController.cpp" />
+    <ClCompile Include="src\obj\BSOrderedNode.cpp" />
+    <ClCompile Include="src\obj\BSPackedAdditionalGeometryData.cpp" />
+    <ClCompile Include="src\obj\BSParentVelocityModifier.cpp" />
+    <ClCompile Include="src\obj\BSProceduralLightningController.cpp" />
+    <ClCompile Include="src\obj\BSPSysArrayEmitter.cpp" />
+    <ClCompile Include="src\obj\BSPSysHavokUpdateModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysInheritVelocityModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysLODModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysMultiTargetEmitterCtlr.cpp" />
+    <ClCompile Include="src\obj\BSPSysRecycleBoundModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysScaleModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysSimpleColorModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysStripUpdateModifier.cpp" />
+    <ClCompile Include="src\obj\BSPSysSubTexModifier.cpp" />
+    <ClCompile Include="src\obj\BSRefractionFirePeriodController.cpp" />
+    <ClCompile Include="src\obj\BSRefractionStrengthController.cpp" />
+    <ClCompile Include="src\obj\BSRotAccumTransfInterpolator.cpp" />
+    <ClCompile Include="src\obj\BSSegmentedTriShape.cpp" />
+    <ClCompile Include="src\obj\BSShaderLightingProperty.cpp" />
+    <ClCompile Include="src\obj\BSShaderNoLightingProperty.cpp" />
+    <ClCompile Include="src\obj\BSShaderPPLightingProperty.cpp" />
+    <ClCompile Include="src\obj\BSShaderProperty.cpp" />
+    <ClCompile Include="src\obj\BSShaderTextureSet.cpp" />
+    <ClCompile Include="src\obj\BSSkyShaderProperty.cpp" />
+    <ClCompile Include="src\obj\BSStripParticleSystem.cpp" />
+    <ClCompile Include="src\obj\BSStripPSysData.cpp" />
+    <ClCompile Include="src\obj\BSTreadTransfInterpolator.cpp" />
+    <ClCompile Include="src\obj\BSTreeNode.cpp" />
+    <ClCompile Include="src\obj\BSValueNode.cpp" />
+    <ClCompile Include="src\obj\BSWArray.cpp" />
+    <ClCompile Include="src\obj\BSWaterShaderProperty.cpp" />
+    <ClCompile Include="src\obj\BSWindModifier.cpp" />
+    <ClCompile Include="src\obj\BSXFlags.cpp" />
+    <ClCompile Include="src\obj\CStreamableAssetData.cpp" />
+    <ClCompile Include="src\obj\DistantLODShaderProperty.cpp" />
+    <ClCompile Include="src\obj\FxButton.cpp" />
+    <ClCompile Include="src\obj\FxRadioButton.cpp" />
+    <ClCompile Include="src\obj\FxWidget.cpp" />
+    <ClCompile Include="src\obj\HairShaderProperty.cpp" />
+    <ClCompile Include="src\obj\hkPackedNiTriStripsData.cpp" />
+    <ClCompile Include="src\obj\Lighting30ShaderProperty.cpp" />
+    <ClCompile Include="src\obj\Ni3dsAlphaAnimator.cpp" />
+    <ClCompile Include="src\obj\Ni3dsAnimationNode.cpp" />
+    <ClCompile Include="src\obj\Ni3dsColorAnimator.cpp" />
+    <ClCompile Include="src\obj\Ni3dsMorphShape.cpp" />
+    <ClCompile Include="src\obj\Ni3dsParticleSystem.cpp" />
+    <ClCompile Include="src\obj\Ni3dsPathController.cpp" />
+    <ClCompile Include="src\obj\NiAdditionalGeometryData.cpp" />
+    <ClCompile Include="src\obj\NiAlphaController.cpp" />
+    <ClCompile Include="src\obj\NiAlphaProperty.cpp" />
+    <ClCompile Include="src\obj\NiAmbientLight.cpp" />
+    <ClCompile Include="src\obj\NiArkAnimationExtraData.cpp" />
+    <ClCompile Include="src\obj\NiArkImporterExtraData.cpp" />
+    <ClCompile Include="src\obj\NiArkShaderExtraData.cpp" />
+    <ClCompile Include="src\obj\NiArkTextureExtraData.cpp" />
+    <ClCompile Include="src\obj\NiArkViewportInfoExtraData.cpp" />
+    <ClCompile Include="src\obj\NiAutoNormalParticles.cpp" />
+    <ClCompile Include="src\obj\NiAutoNormalParticlesData.cpp" />
+    <ClCompile Include="src\obj\NiAVObject.cpp" />
+    <ClCompile Include="src\obj\NiAVObjectPalette.cpp" />
+    <ClCompile Include="src\obj\NiBezierMesh.cpp" />
+    <ClCompile Include="src\obj\NiBezierTriangle4.cpp" />
+    <ClCompile Include="src\obj\NiBillboardNode.cpp" />
+    <ClCompile Include="src\obj\NiBinaryExtraData.cpp" />
+    <ClCompile Include="src\obj\NiBinaryVoxelData.cpp" />
+    <ClCompile Include="src\obj\NiBinaryVoxelExtraData.cpp" />
+    <ClCompile Include="src\obj\NiBlendBoolInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBlendFloatInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBlendInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBlendPoint3Interpolator.cpp" />
+    <ClCompile Include="src\obj\NiBlendTransformInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBone.cpp" />
+    <ClCompile Include="src\obj\NiBoneLODController.cpp" />
+    <ClCompile Include="src\obj\NiBoolData.cpp" />
+    <ClCompile Include="src\obj\NiBooleanExtraData.cpp" />
+    <ClCompile Include="src\obj\NiBoolInterpController.cpp" />
+    <ClCompile Include="src\obj\NiBoolInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBoolTimelineInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSAnimationNode.cpp" />
+    <ClCompile Include="src\obj\NiBSBoneLODController.cpp" />
+    <ClCompile Include="src\obj\NiBSPArrayController.cpp" />
+    <ClCompile Include="src\obj\NiBSParticleNode.cpp" />
+    <ClCompile Include="src\obj\NiBSplineBasisData.cpp" />
+    <ClCompile Include="src\obj\NiBSplineCompFloatInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSplineCompPoint3Interpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSplineCompTransformEvaluator.cpp" />
+    <ClCompile Include="src\obj\NiBSplineCompTransformInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSplineData.cpp" />
+    <ClCompile Include="src\obj\NiBSplineFloatInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSplineInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSplinePoint3Interpolator.cpp" />
+    <ClCompile Include="src\obj\NiBSplineTransformInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiCamera.cpp" />
+    <ClCompile Include="src\obj\NiClod.cpp" />
+    <ClCompile Include="src\obj\NiClodData.cpp" />
+    <ClCompile Include="src\obj\NiClodSkinInstance.cpp" />
+    <ClCompile Include="src\obj\NiCollisionData.cpp" />
+    <ClCompile Include="src\obj\NiCollisionObject.cpp" />
+    <ClCompile Include="src\obj\NiColorData.cpp" />
+    <ClCompile Include="src\obj\NiColorExtraData.cpp" />
+    <ClCompile Include="src\obj\NiControllerManager.cpp" />
+    <ClCompile Include="src\obj\NiControllerSequence.cpp" />
+    <ClCompile Include="src\obj\NiDataStream.cpp" />
+    <ClCompile Include="src\obj\NiDefaultAVObjectPalette.cpp" />
+    <ClCompile Include="src\obj\NiDirectionalLight.cpp" />
+    <ClCompile Include="src\obj\NiDitherProperty.cpp" />
+    <ClCompile Include="src\obj\NiDynamicEffect.cpp" />
+    <ClCompile Include="src\obj\NiEnvMappedTriShape.cpp" />
+    <ClCompile Include="src\obj\NiEnvMappedTriShapeData.cpp" />
+    <ClCompile Include="src\obj\NiExtraData.cpp" />
+    <ClCompile Include="src\obj\NiExtraDataController.cpp" />
+    <ClCompile Include="src\obj\NiFlipController.cpp" />
+    <ClCompile Include="src\obj\NiFloatData.cpp" />
+    <ClCompile Include="src\obj\NiFloatExtraData.cpp" />
+    <ClCompile Include="src\obj\NiFloatExtraDataController.cpp" />
+    <ClCompile Include="src\obj\NiFloatInterpController.cpp" />
+    <ClCompile Include="src\obj\NiFloatInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiFloatsExtraData.cpp" />
+    <ClCompile Include="src\obj\NiFogProperty.cpp" />
+    <ClCompile Include="src\obj\NiFurSpringController.cpp" />
+    <ClCompile Include="src\obj\NiGeometry.cpp" />
+    <ClCompile Include="src\obj\NiGeometryData.cpp" />
+    <ClCompile Include="src\obj\NiGeomMorpherController.cpp" />
+    <ClCompile Include="src\obj\NiGravity.cpp" />
+    <ClCompile Include="src\obj\NiImage.cpp" />
+    <ClCompile Include="src\obj\NiInstancingMeshModifier.cpp" />
+    <ClCompile Include="src\obj\NiIntegerExtraData.cpp" />
+    <ClCompile Include="src\obj\NiIntegersExtraData.cpp" />
+    <ClCompile Include="src\obj\NiInterpController.cpp" />
+    <ClCompile Include="src\obj\NiInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiKeyBasedInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiKeyframeController.cpp" />
+    <ClCompile Include="src\obj\NiKeyframeData.cpp" />
+    <ClCompile Include="src\obj\NiLight.cpp" />
+    <ClCompile Include="src\obj\NiLightColorController.cpp" />
+    <ClCompile Include="src\obj\NiLightDimmerController.cpp" />
+    <ClCompile Include="src\obj\NiLightIntensityController.cpp" />
+    <ClCompile Include="src\obj\NiLines.cpp" />
+    <ClCompile Include="src\obj\NiLinesData.cpp" />
+    <ClCompile Include="src\obj\NiLODData.cpp" />
+    <ClCompile Include="src\obj\NiLODNode.cpp" />
+    <ClCompile Include="src\obj\NiLookAtController.cpp" />
+    <ClCompile Include="src\obj\NiLookAtInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiMaterialColorController.cpp" />
+    <ClCompile Include="src\obj\NiMaterialProperty.cpp" />
+    <ClCompile Include="src\obj\NiMesh.cpp" />
+    <ClCompile Include="src\obj\NiMeshHWInstance.cpp" />
+    <ClCompile Include="src\obj\NiMeshModifier.cpp" />
+    <ClCompile Include="src\obj\NiMeshParticleSystem.cpp" />
+    <ClCompile Include="src\obj\NiMeshPSysData.cpp" />
+    <ClCompile Include="src\obj\NiMorphController.cpp" />
+    <ClCompile Include="src\obj\NiMorphData.cpp" />
+    <ClCompile Include="src\obj\NiMorpherController.cpp" />
+    <ClCompile Include="src\obj\NiMorphMeshModifier.cpp" />
+    <ClCompile Include="src\obj\NiMorphWeightsController.cpp" />
+    <ClCompile Include="src\obj\NiMultiTargetTransformController.cpp" />
+    <ClCompile Include="src\obj\NiMultiTextureProperty.cpp" />
+    <ClCompile Include="src\obj\NiNode.cpp" />
+    <ClCompile Include="src\obj\NiObject.cpp" />
+    <ClCompile Include="src\obj\NiObjectNET.cpp" />
+    <ClCompile Include="src\obj\NiPalette.cpp" />
+    <ClCompile Include="src\obj\NiParticleBomb.cpp" />
+    <ClCompile Include="src\obj\NiParticleColorModifier.cpp" />
+    <ClCompile Include="src\obj\NiParticleGrowFade.cpp" />
+    <ClCompile Include="src\obj\NiParticleMeshes.cpp" />
+    <ClCompile Include="src\obj\NiParticleMeshesData.cpp" />
+    <ClCompile Include="src\obj\NiParticleMeshModifier.cpp" />
+    <ClCompile Include="src\obj\NiParticleModifier.cpp" />
+    <ClCompile Include="src\obj\NiParticleRotation.cpp" />
+    <ClCompile Include="src\obj\NiParticles.cpp" />
+    <ClCompile Include="src\obj\NiParticlesData.cpp" />
+    <ClCompile Include="src\obj\NiParticleSystem.cpp" />
+    <ClCompile Include="src\obj\NiParticleSystemController.cpp" />
+    <ClCompile Include="src\obj\NiPathController.cpp" />
+    <ClCompile Include="src\obj\NiPathInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiPersistentSrcTextureRendererData.cpp" />
+    <ClCompile Include="src\obj\NiPhysXActorDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXBodyDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXD6JointDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXKinematicSrc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXMaterialDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXMeshDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXProp.cpp" />
+    <ClCompile Include="src\obj\NiPhysXPropDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXShapeDesc.cpp" />
+    <ClCompile Include="src\obj\NiPhysXTransformDest.cpp" />
+    <ClCompile Include="src\obj\NiPixelData.cpp" />
+    <ClCompile Include="src\obj\NiPlanarCollider.cpp" />
+    <ClCompile Include="src\obj\NiPoint3InterpController.cpp" />
+    <ClCompile Include="src\obj\NiPoint3Interpolator.cpp" />
+    <ClCompile Include="src\obj\NiPointLight.cpp" />
+    <ClCompile Include="src\obj\NiPortal.cpp" />
+    <ClCompile Include="src\obj\NiPosData.cpp" />
+    <ClCompile Include="src\obj\NiProperty.cpp" />
+    <ClCompile Include="src\obj\NiPSBombForce.cpp" />
+    <ClCompile Include="src\obj\NiPSBoundUpdater.cpp" />
+    <ClCompile Include="src\obj\NiPSBoxEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSCylinderEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSDragForce.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitParticlesCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterDeclinationCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterDeclinationVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterLifeSpanCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterPlanarAngleCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterPlanarAngleVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterRadiusCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterRotAngleCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterRotAngleVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterRotSpeedCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterRotSpeedVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSEmitterSpeedCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSFacingQuadGenerator.cpp" />
+    <ClCompile Include="src\obj\NiPSForceActiveCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSGravityForce.cpp" />
+    <ClCompile Include="src\obj\NiPSGravityStrengthCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSMeshEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSMeshParticleSystem.cpp" />
+    <ClCompile Include="src\obj\NiPSParticleSystem.cpp" />
+    <ClCompile Include="src\obj\NiPSPlanarCollider.cpp" />
+    <ClCompile Include="src\obj\NiPSResetOnLoopCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulator.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulatorCollidersStep.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulatorFinalStep.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulatorForcesStep.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulatorGeneralStep.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulatorMeshAlignStep.cpp" />
+    <ClCompile Include="src\obj\NiPSSimulatorStep.cpp" />
+    <ClCompile Include="src\obj\NiPSSpawner.cpp" />
+    <ClCompile Include="src\obj\NiPSSphereEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSSphericalCollider.cpp" />
+    <ClCompile Include="src\obj\NiPSysAgeDeathModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysAirFieldAirFrictionCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysAirFieldInheritVelocityCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysAirFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysAirFieldSpreadCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysBombModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysBoundUpdateModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysBoxEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysCollider.cpp" />
+    <ClCompile Include="src\obj\NiPSysColliderManager.cpp" />
+    <ClCompile Include="src\obj\NiPSysColorModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysCylinderEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysData.cpp" />
+    <ClCompile Include="src\obj\NiPSysDragFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysDragModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterCtlrData.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterDeclinationCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterDeclinationVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterInitialRadiusCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterLifeSpanCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterPlanarAngleCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterPlanarAngleVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysEmitterSpeedCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysFieldAttenuationCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysFieldMagnitudeCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysFieldMaxDistanceCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysGravityFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysGravityModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysGravityStrengthCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysGrowFadeModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysInitialRotAngleCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysInitialRotAngleVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysInitialRotSpeedCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysInitialRotSpeedVarCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysMeshEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysMeshUpdateModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysModifierActiveCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysModifierBoolCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysModifierCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysModifierFloatCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysPlanarCollider.cpp" />
+    <ClCompile Include="src\obj\NiPSysPositionModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysRadialFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysResetOnLoopCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysRotationModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysSpawnModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysSphereEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysSphericalCollider.cpp" />
+    <ClCompile Include="src\obj\NiPSysTrailEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysTurbulenceFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiPSysUpdateCtlr.cpp" />
+    <ClCompile Include="src\obj\NiPSysVolumeEmitter.cpp" />
+    <ClCompile Include="src\obj\NiPSysVortexFieldModifier.cpp" />
+    <ClCompile Include="src\obj\NiRangeLODData.cpp" />
+    <ClCompile Include="src\obj\NiRawImageData.cpp" />
+    <ClCompile Include="src\obj\NiRenderObject.cpp" />
+    <ClCompile Include="src\obj\NiRollController.cpp" />
+    <ClCompile Include="src\obj\NiRoom.cpp" />
+    <ClCompile Include="src\obj\NiRoomGroup.cpp" />
+    <ClCompile Include="src\obj\NiRotatingParticles.cpp" />
+    <ClCompile Include="src\obj\NiRotatingParticlesData.cpp" />
+    <ClCompile Include="src\obj\NiScreenElements.cpp" />
+    <ClCompile Include="src\obj\NiScreenElementsData.cpp" />
+    <ClCompile Include="src\obj\NiScreenLODData.cpp" />
+    <ClCompile Include="src\obj\NiSequence.cpp" />
+    <ClCompile Include="src\obj\NiSequenceData.cpp" />
+    <ClCompile Include="src\obj\NiSequenceStreamHelper.cpp" />
+    <ClCompile Include="src\obj\NiShadeProperty.cpp" />
+    <ClCompile Include="src\obj\NiShadowGenerator.cpp" />
+    <ClCompile Include="src\obj\NiSingleInterpController.cpp" />
+    <ClCompile Include="src\obj\NiSkinData.cpp" />
+    <ClCompile Include="src\obj\NiSkinInstance.cpp" />
+    <ClCompile Include="src\obj\NiSkinningLODController.cpp" />
+    <ClCompile Include="src\obj\NiSkinningMeshModifier.cpp" />
+    <ClCompile Include="src\obj\NiSkinPartition.cpp" />
+    <ClCompile Include="src\obj\NiSortAdjustNode.cpp" />
+    <ClCompile Include="src\obj\NiSourceCubeMap.cpp" />
+    <ClCompile Include="src\obj\NiSourceTexture.cpp" />
+    <ClCompile Include="src\obj\NiSpecularProperty.cpp" />
+    <ClCompile Include="src\obj\NiSphericalCollider.cpp" />
+    <ClCompile Include="src\obj\NiSpotLight.cpp" />
+    <ClCompile Include="src\obj\NiStencilProperty.cpp" />
+    <ClCompile Include="src\obj\NiStringExtraData.cpp" />
+    <ClCompile Include="src\obj\NiStringPalette.cpp" />
+    <ClCompile Include="src\obj\NiStringsExtraData.cpp" />
+    <ClCompile Include="src\obj\NiSwitchNode.cpp" />
+    <ClCompile Include="src\obj\NiTextKeyExtraData.cpp" />
+    <ClCompile Include="src\obj\NiTexture.cpp" />
+    <ClCompile Include="src\obj\NiTextureEffect.cpp" />
+    <ClCompile Include="src\obj\NiTextureModeProperty.cpp" />
+    <ClCompile Include="src\obj\NiTextureProperty.cpp" />
+    <ClCompile Include="src\obj\NiTextureTransformController.cpp" />
+    <ClCompile Include="src\obj\NiTexturingProperty.cpp" />
+    <ClCompile Include="src\obj\NiTimeController.cpp" />
+    <ClCompile Include="src\obj\NiTransformController.cpp" />
+    <ClCompile Include="src\obj\NiTransformData.cpp" />
+    <ClCompile Include="src\obj\NiTransformEvaluator.cpp" />
+    <ClCompile Include="src\obj\NiTransformInterpolator.cpp" />
+    <ClCompile Include="src\obj\NiTransparentProperty.cpp" />
+    <ClCompile Include="src\obj\NiTriBasedGeom.cpp" />
+    <ClCompile Include="src\obj\NiTriBasedGeomData.cpp" />
+    <ClCompile Include="src\obj\NiTriShape.cpp" />
+    <ClCompile Include="src\obj\NiTriShapeData.cpp" />
+    <ClCompile Include="src\obj\NiTriShapeSkinController.cpp" />
+    <ClCompile Include="src\obj\NiTriStrips.cpp" />
+    <ClCompile Include="src\obj\NiTriStripsData.cpp" />
+    <ClCompile Include="src\obj\NiUVController.cpp" />
+    <ClCompile Include="src\obj\NiUVData.cpp" />
+    <ClCompile Include="src\obj\NiVectorExtraData.cpp" />
+    <ClCompile Include="src\obj\NiVertexColorProperty.cpp" />
+    <ClCompile Include="src\obj\NiVertWeightsExtraData.cpp" />
+    <ClCompile Include="src\obj\NiVisController.cpp" />
+    <ClCompile Include="src\obj\NiVisData.cpp" />
+    <ClCompile Include="src\obj\NiWireframeProperty.cpp" />
+    <ClCompile Include="src\obj\NiZBufferProperty.cpp" />
+    <ClCompile Include="src\obj\RootCollisionNode.cpp" />
+    <ClCompile Include="src\obj\SkyShaderProperty.cpp" />
+    <ClCompile Include="src\obj\TallGrassShaderProperty.cpp" />
+    <ClCompile Include="src\obj\TileShaderProperty.cpp" />
+    <ClCompile Include="src\obj\VolumetricFogShaderProperty.cpp" />
+    <ClCompile Include="src\obj\WaterShaderProperty.cpp" />
+    <ClCompile Include="src\gen\AdditionalDataBlock.cpp" />
+    <ClCompile Include="src\gen\AdditionalDataInfo.cpp" />
+    <ClCompile Include="src\gen\ArkTexture.cpp" />
+    <ClCompile Include="src\gen\AVObject.cpp" />
+    <ClCompile Include="src\gen\bhkCMSD_Shape.cpp" />
+    <ClCompile Include="src\gen\bhkCMSD_Something.cpp" />
+    <ClCompile Include="src\gen\bhkCMSDBigTris.cpp" />
+    <ClCompile Include="src\gen\bhkCMSDChunk.cpp" />
+    <ClCompile Include="src\gen\bhkCMSDContainer.cpp" />
+    <ClCompile Include="src\gen\bhkCMSDData.cpp" />
+    <ClCompile Include="src\gen\bhkCMSDTransform.cpp" />
+    <ClCompile Include="src\gen\BodyPartList.cpp" />
+    <ClCompile Include="src\gen\BoundingBox.cpp" />
+    <ClCompile Include="src\gen\BoundingVolume.cpp" />
+    <ClCompile Include="src\gen\BoxBV.cpp" />
+    <ClCompile Include="src\gen\BSPackedAdditionalDataBlock.cpp" />
+    <ClCompile Include="src\gen\BSSegmentedTriangle.cpp" />
+    <ClCompile Include="src\gen\BSTreadTransfInfo.cpp" />
+    <ClCompile Include="src\gen\BSTreadTransform.cpp" />
+    <ClCompile Include="src\gen\BSTreadTransformData.cpp" />
+    <ClCompile Include="src\gen\BSTreadTransfSubInfo.cpp" />
+    <ClCompile Include="src\gen\ByteArray.cpp" />
+    <ClCompile Include="src\gen\ByteColor3.cpp" />
+    <ClCompile Include="src\gen\ByteColor4.cpp" />
+    <ClCompile Include="src\gen\ByteMatrix.cpp" />
+    <ClCompile Include="src\gen\CapsuleBV.cpp" />
+    <ClCompile Include="src\gen\ChannelData.cpp" />
+    <ClCompile Include="src\ComplexShape.cpp" />
+    <ClCompile Include="src\gen\ControllerLink.cpp" />
+    <ClCompile Include="src\gen\DecalVectorArray.cpp" />
+    <ClCompile Include="src\gen\ElementReference.cpp" />
+    <ClCompile Include="src\gen\enums.cpp" />
+    <ClCompile Include="src\gen\ExportInfo.cpp" />
+    <ClCompile Include="src\gen\ExtraMeshDataEpicMickey.cpp" />
+    <ClCompile Include="src\gen\ExtraMeshDataEpicMickey2.cpp" />
+    <ClCompile Include="src\gen\Footer.cpp" />
+    <ClCompile Include="src\gen\FurniturePosition.cpp" />
+    <ClCompile Include="src\gen\HalfSpaceBV.cpp" />
+    <ClCompile Include="src\gen\Header.cpp" />
+    <ClCompile Include="src\gen\HingeDescriptor.cpp" />
+    <ClCompile Include="src\gen\hkTriangle.cpp" />
+    <ClCompile Include="src\gen\LimitedHingeDescriptor.cpp" />
+    <ClCompile Include="src\gen\LODRange.cpp" />
+    <ClCompile Include="src\gen\MatchGroup.cpp" />
+    <ClCompile Include="src\gen\MaterialData.cpp" />
+    <ClCompile Include="src\gen\MeshData.cpp" />
+    <ClCompile Include="src\gen\MipMap.cpp" />
+    <ClCompile Include="src\gen\Morph.cpp" />
+    <ClCompile Include="src\gen\MorphWeight.cpp" />
+    <ClCompile Include="src\gen\MotorDescriptor.cpp" />
+    <ClCompile Include="src\gen\MultiTextureElement.cpp" />
+    <ClCompile Include="src\gen\NodeGroup.cpp" />
+    <ClCompile Include="src\gen\OblivionColFilter.cpp" />
+    <ClCompile Include="src\gen\OblivionSubShape.cpp" />
+    <ClCompile Include="src\gen\OldSkinData.cpp" />
+    <ClCompile Include="src\gen\Particle.cpp" />
+    <ClCompile Include="src\gen\ParticleDesc.cpp" />
+    <ClCompile Include="src\gen\physXMaterialRef.cpp" />
+    <ClCompile Include="src\gen\Polygon.cpp" />
+    <ClCompile Include="src\gen\QuaternionXYZW.cpp" />
+    <ClCompile Include="src\gen\RagDollDescriptor.cpp" />
+    <ClCompile Include="src\gen\Region.cpp" />
+    <ClCompile Include="src\gen\register.cpp" />
+    <ClCompile Include="src\gen\SemanticData.cpp" />
+    <ClCompile Include="src\gen\ShaderTexDesc.cpp" />
+    <ClCompile Include="src\gen\SkinData.cpp" />
+    <ClCompile Include="src\gen\SkinPartition.cpp" />
+    <ClCompile Include="src\gen\SkinShape.cpp" />
+    <ClCompile Include="src\gen\SkinShapeGroup.cpp" />
+    <ClCompile Include="src\gen\SkinTransform.cpp" />
+    <ClCompile Include="src\gen\SkinWeight.cpp" />
+    <ClCompile Include="src\gen\SphereBV.cpp" />
+    <ClCompile Include="src\gen\StringPalette.cpp" />
+    <ClCompile Include="src\gen\TBC.cpp" />
+    <ClCompile Include="src\gen\TexDesc.cpp" />
+    <ClCompile Include="src\gen\TexSource.cpp" />
+    <ClCompile Include="src\gen\UnionBV.cpp" />
+    <ClCompile Include="src\gen\UnknownMatrix1.cpp" />
+    <ClCompile Include="NvTriStrip\NvTriStrip.cpp" />
+    <ClCompile Include="NvTriStrip\NvTriStripObjects.cpp" />
+    <ClCompile Include="NvTriStrip\VertexCache.cpp" />
+    <ClCompile Include="TriStripper\connectivity_graph.cpp" />
+    <ClCompile Include="TriStripper\policy.cpp" />
+    <ClCompile Include="TriStripper\tri_stripper.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="include\obj\BSMultiBoundData.h" />
+    <ClInclude Include="include\ComplexShape.h" />
+    <ClInclude Include="include\dll_export.h" />
+    <ClInclude Include="include\FixLink.h" />
+    <ClInclude Include="include\Inertia.h" />
+    <ClInclude Include="include\Key.h" />
+    <ClInclude Include="include\kfm.h" />
+    <ClInclude Include="include\MatTexCollection.h" />
+    <ClInclude Include="include\nif_basic_types.h" />
+    <ClInclude Include="include\NIF_IO.h" />
+    <ClInclude Include="include\nif_math.h" />
+    <ClInclude Include="include\nif_versions.h" />
+    <ClInclude Include="include\niflib.h" />
+    <ClInclude Include="include\nifqhull.h" />
+    <ClInclude Include="include\ObjectRegistry.h" />
+    <ClInclude Include="include\pch.h" />
+    <ClInclude Include="include\Ref.h" />
+    <ClInclude Include="include\RefObject.h" />
+    <ClInclude Include="include\Type.h" />
+    <ClInclude Include="include\obj\AbstractAdditionalGeometryData.h" />
+    <ClInclude Include="include\obj\ATextureRenderData.h" />
+    <ClInclude Include="include\obj\AvoidNode.h" />
+    <ClInclude Include="include\obj\bhkAabbPhantom.h" />
+    <ClInclude Include="include\obj\bhkBallAndSocketConstraint.h" />
+    <ClInclude Include="include\obj\bhkBallSocketConstraintChain.h" />
+    <ClInclude Include="include\obj\bhkBlendCollisionObject.h" />
+    <ClInclude Include="include\obj\bhkBlendController.h" />
+    <ClInclude Include="include\obj\bhkBoxShape.h" />
+    <ClInclude Include="include\obj\bhkBreakableConstraint.h" />
+    <ClInclude Include="include\obj\bhkBvTreeShape.h" />
+    <ClInclude Include="include\obj\bhkCapsuleShape.h" />
+    <ClInclude Include="include\obj\bhkCollisionObject.h" />
+    <ClInclude Include="include\obj\bhkCompressedMeshShape.h" />
+    <ClInclude Include="include\obj\bhkCompressedMeshShapeData.h" />
+    <ClInclude Include="include\obj\bhkConstraint.h" />
+    <ClInclude Include="include\obj\bhkConvexListShape.h" />
+    <ClInclude Include="include\obj\bhkConvexShape.h" />
+    <ClInclude Include="include\obj\bhkConvexTransformShape.h" />
+    <ClInclude Include="include\obj\bhkConvexVerticesShape.h" />
+    <ClInclude Include="include\obj\bhkEntity.h" />
+    <ClInclude Include="include\obj\bhkHingeConstraint.h" />
+    <ClInclude Include="include\obj\bhkLimitedHingeConstraint.h" />
+    <ClInclude Include="include\obj\bhkLiquidAction.h" />
+    <ClInclude Include="include\obj\bhkListShape.h" />
+    <ClInclude Include="include\obj\bhkMalleableConstraint.h" />
+    <ClInclude Include="include\obj\bhkMeshShape.h" />
+    <ClInclude Include="include\obj\bhkMoppBvTreeShape.h" />
+    <ClInclude Include="include\obj\bhkMultiSphereShape.h" />
+    <ClInclude Include="include\obj\bhkNiCollisionObject.h" />
+    <ClInclude Include="include\obj\bhkNiTriStripsShape.h" />
+    <ClInclude Include="include\obj\bhkOrientHingedBodyAction.h" />
+    <ClInclude Include="include\obj\bhkPackedNiTriStripsShape.h" />
+    <ClInclude Include="include\obj\bhkPCollisionObject.h" />
+    <ClInclude Include="include\obj\bhkPhantom.h" />
+    <ClInclude Include="include\obj\bhkPrismaticConstraint.h" />
+    <ClInclude Include="include\obj\bhkRagdollConstraint.h" />
+    <ClInclude Include="include\obj\bhkRefObject.h" />
+    <ClInclude Include="include\obj\bhkRigidBody.h" />
+    <ClInclude Include="include\obj\bhkRigidBodyT.h" />
+    <ClInclude Include="include\obj\bhkSerializable.h" />
+    <ClInclude Include="include\obj\bhkShape.h" />
+    <ClInclude Include="include\obj\bhkShapeCollection.h" />
+    <ClInclude Include="include\obj\bhkShapePhantom.h" />
+    <ClInclude Include="include\obj\bhkSimpleShapePhantom.h" />
+    <ClInclude Include="include\obj\bhkSPCollisionObject.h" />
+    <ClInclude Include="include\obj\bhkSphereRepShape.h" />
+    <ClInclude Include="include\obj\bhkSphereShape.h" />
+    <ClInclude Include="include\obj\bhkStiffSpringConstraint.h" />
+    <ClInclude Include="include\obj\bhkTransformShape.h" />
+    <ClInclude Include="include\obj\bhkWorldObject.h" />
+    <ClInclude Include="include\obj\BSAnimNotes.h" />
+    <ClInclude Include="include\obj\BSBehaviorGraphExtraData.h" />
+    <ClInclude Include="include\obj\BSBlastNode.h" />
+    <ClInclude Include="include\obj\BSBoneLODExtraData.h" />
+    <ClInclude Include="include\obj\BSBound.h" />
+    <ClInclude Include="include\obj\BSDamageStage.h" />
+    <ClInclude Include="include\obj\BSDebrisNode.h" />
+    <ClInclude Include="include\obj\BSDecalPlacementVectorExtraData.h" />
+    <ClInclude Include="include\obj\BSDismemberSkinInstance.h" />
+    <ClInclude Include="include\obj\BSDistantTreeShaderProperty.h" />
+    <ClInclude Include="include\obj\BSEffectShaderProperty.h" />
+    <ClInclude Include="include\obj\BSEffectShaderPropertyColorController.h" />
+    <ClInclude Include="include\obj\BSEffectShaderPropertyFloatController.h" />
+    <ClInclude Include="include\obj\BSFadeNode.h" />
+    <ClInclude Include="include\obj\BSFrustumFOVController.h" />
+    <ClInclude Include="include\obj\BSFurnitureMarker.h" />
+    <ClInclude Include="include\obj\BSFurnitureMarkerNode.h" />
+    <ClInclude Include="include\obj\BSInvMarker.h" />
+    <ClInclude Include="include\obj\BSKeyframeController.h" />
+    <ClInclude Include="include\obj\BSLagBoneController.h" />
+    <ClInclude Include="include\obj\BSLeafAnimNode.h" />
+    <ClInclude Include="include\obj\BSLightingShaderProperty.h" />
+    <ClInclude Include="include\obj\BSLightingShaderPropertyColorController.h" />
+    <ClInclude Include="include\obj\BSLightingShaderPropertyFloatController.h" />
+    <ClInclude Include="include\obj\BSLODTriShape.h" />
+    <ClInclude Include="include\obj\BSMasterParticleSystem.h" />
+    <ClInclude Include="include\obj\BSMaterialEmittanceMultController.h" />
+    <ClInclude Include="include\obj\BSMultiBound.h" />
+    <ClInclude Include="include\obj\BSMultiBoundAABB.h" />
+    <ClInclude Include="include\obj\BSMultiBoundNode.h" />
+    <ClInclude Include="include\obj\BSMultiBoundOBB.h" />
+    <ClInclude Include="include\obj\BSMultiBoundSphere.h" />
+    <ClInclude Include="include\obj\BSNiAlphaPropertyTestRefController.h" />
+    <ClInclude Include="include\obj\BSOrderedNode.h" />
+    <ClInclude Include="include\obj\BSPackedAdditionalGeometryData.h" />
+    <ClInclude Include="include\obj\BSParentVelocityModifier.h" />
+    <ClInclude Include="include\obj\BSProceduralLightningController.h" />
+    <ClInclude Include="include\obj\BSPSysArrayEmitter.h" />
+    <ClInclude Include="include\obj\BSPSysHavokUpdateModifier.h" />
+    <ClInclude Include="include\obj\BSPSysInheritVelocityModifier.h" />
+    <ClInclude Include="include\obj\BSPSysLODModifier.h" />
+    <ClInclude Include="include\obj\BSPSysMultiTargetEmitterCtlr.h" />
+    <ClInclude Include="include\obj\BSPSysRecycleBoundModifier.h" />
+    <ClInclude Include="include\obj\BSPSysScaleModifier.h" />
+    <ClInclude Include="include\obj\BSPSysSimpleColorModifier.h" />
+    <ClInclude Include="include\obj\BSPSysStripUpdateModifier.h" />
+    <ClInclude Include="include\obj\BSPSysSubTexModifier.h" />
+    <ClInclude Include="include\obj\BSRefractionFirePeriodController.h" />
+    <ClInclude Include="include\obj\BSRefractionStrengthController.h" />
+    <ClInclude Include="include\obj\BSRotAccumTransfInterpolator.h" />
+    <ClInclude Include="include\obj\BSSegmentedTriShape.h" />
+    <ClInclude Include="include\obj\BSShaderLightingProperty.h" />
+    <ClInclude Include="include\obj\BSShaderNoLightingProperty.h" />
+    <ClInclude Include="include\obj\BSShaderPPLightingProperty.h" />
+    <ClInclude Include="include\obj\BSShaderProperty.h" />
+    <ClInclude Include="include\obj\BSShaderTextureSet.h" />
+    <ClInclude Include="include\obj\BSSkyShaderProperty.h" />
+    <ClInclude Include="include\obj\BSStripParticleSystem.h" />
+    <ClInclude Include="include\obj\BSStripPSysData.h" />
+    <ClInclude Include="include\obj\BSTreadTransfInterpolator.h" />
+    <ClInclude Include="include\obj\BSTreeNode.h" />
+    <ClInclude Include="include\obj\BSValueNode.h" />
+    <ClInclude Include="include\obj\BSWArray.h" />
+    <ClInclude Include="include\obj\BSWaterShaderProperty.h" />
+    <ClInclude Include="include\obj\BSWindModifier.h" />
+    <ClInclude Include="include\obj\BSXFlags.h" />
+    <ClInclude Include="include\obj\CStreamableAssetData.h" />
+    <ClInclude Include="include\obj\DistantLODShaderProperty.h" />
+    <ClInclude Include="include\obj\FxButton.h" />
+    <ClInclude Include="include\obj\FxRadioButton.h" />
+    <ClInclude Include="include\obj\FxWidget.h" />
+    <ClInclude Include="include\obj\HairShaderProperty.h" />
+    <ClInclude Include="include\obj\hkPackedNiTriStripsData.h" />
+    <ClInclude Include="include\obj\Lighting30ShaderProperty.h" />
+    <ClInclude Include="include\obj\Ni3dsAlphaAnimator.h" />
+    <ClInclude Include="include\obj\Ni3dsAnimationNode.h" />
+    <ClInclude Include="include\obj\Ni3dsColorAnimator.h" />
+    <ClInclude Include="include\obj\Ni3dsMorphShape.h" />
+    <ClInclude Include="include\obj\Ni3dsParticleSystem.h" />
+    <ClInclude Include="include\obj\Ni3dsPathController.h" />
+    <ClInclude Include="include\obj\NiAdditionalGeometryData.h" />
+    <ClInclude Include="include\obj\NiAlphaController.h" />
+    <ClInclude Include="include\obj\NiAlphaProperty.h" />
+    <ClInclude Include="include\obj\NiAmbientLight.h" />
+    <ClInclude Include="include\obj\NiArkAnimationExtraData.h" />
+    <ClInclude Include="include\obj\NiArkImporterExtraData.h" />
+    <ClInclude Include="include\obj\NiArkShaderExtraData.h" />
+    <ClInclude Include="include\obj\NiArkTextureExtraData.h" />
+    <ClInclude Include="include\obj\NiArkViewportInfoExtraData.h" />
+    <ClInclude Include="include\obj\NiAutoNormalParticles.h" />
+    <ClInclude Include="include\obj\NiAutoNormalParticlesData.h" />
+    <ClInclude Include="include\obj\NiAVObject.h" />
+    <ClInclude Include="include\obj\NiAVObjectPalette.h" />
+    <ClInclude Include="include\obj\NiBezierMesh.h" />
+    <ClInclude Include="include\obj\NiBezierTriangle4.h" />
+    <ClInclude Include="include\obj\NiBillboardNode.h" />
+    <ClInclude Include="include\obj\NiBinaryExtraData.h" />
+    <ClInclude Include="include\obj\NiBinaryVoxelData.h" />
+    <ClInclude Include="include\obj\NiBinaryVoxelExtraData.h" />
+    <ClInclude Include="include\obj\NiBlendBoolInterpolator.h" />
+    <ClInclude Include="include\obj\NiBlendFloatInterpolator.h" />
+    <ClInclude Include="include\obj\NiBlendInterpolator.h" />
+    <ClInclude Include="include\obj\NiBlendPoint3Interpolator.h" />
+    <ClInclude Include="include\obj\NiBlendTransformInterpolator.h" />
+    <ClInclude Include="include\obj\NiBone.h" />
+    <ClInclude Include="include\obj\NiBoneLODController.h" />
+    <ClInclude Include="include\obj\NiBoolData.h" />
+    <ClInclude Include="include\obj\NiBooleanExtraData.h" />
+    <ClInclude Include="include\obj\NiBoolInterpController.h" />
+    <ClInclude Include="include\obj\NiBoolInterpolator.h" />
+    <ClInclude Include="include\obj\NiBoolTimelineInterpolator.h" />
+    <ClInclude Include="include\obj\NiBSAnimationNode.h" />
+    <ClInclude Include="include\obj\NiBSBoneLODController.h" />
+    <ClInclude Include="include\obj\NiBSPArrayController.h" />
+    <ClInclude Include="include\obj\NiBSParticleNode.h" />
+    <ClInclude Include="include\obj\NiBSplineBasisData.h" />
+    <ClInclude Include="include\obj\NiBSplineCompFloatInterpolator.h" />
+    <ClInclude Include="include\obj\NiBSplineCompPoint3Interpolator.h" />
+    <ClInclude Include="include\obj\NiBSplineCompTransformEvaluator.h" />
+    <ClInclude Include="include\obj\NiBSplineCompTransformInterpolator.h" />
+    <ClInclude Include="include\obj\NiBSplineData.h" />
+    <ClInclude Include="include\obj\NiBSplineFloatInterpolator.h" />
+    <ClInclude Include="include\obj\NiBSplineInterpolator.h" />
+    <ClInclude Include="include\obj\NiBSplinePoint3Interpolator.h" />
+    <ClInclude Include="include\obj\NiBSplineTransformInterpolator.h" />
+    <ClInclude Include="include\obj\NiCamera.h" />
+    <ClInclude Include="include\obj\NiClod.h" />
+    <ClInclude Include="include\obj\NiClodData.h" />
+    <ClInclude Include="include\obj\NiClodSkinInstance.h" />
+    <ClInclude Include="include\obj\NiCollisionData.h" />
+    <ClInclude Include="include\obj\NiCollisionObject.h" />
+    <ClInclude Include="include\obj\NiColorData.h" />
+    <ClInclude Include="include\obj\NiColorExtraData.h" />
+    <ClInclude Include="include\obj\NiControllerManager.h" />
+    <ClInclude Include="include\obj\NiControllerSequence.h" />
+    <ClInclude Include="include\obj\NiDataStream.h" />
+    <ClInclude Include="include\obj\NiDefaultAVObjectPalette.h" />
+    <ClInclude Include="include\obj\NiDirectionalLight.h" />
+    <ClInclude Include="include\obj\NiDitherProperty.h" />
+    <ClInclude Include="include\obj\NiDynamicEffect.h" />
+    <ClInclude Include="include\obj\NiEnvMappedTriShape.h" />
+    <ClInclude Include="include\obj\NiEnvMappedTriShapeData.h" />
+    <ClInclude Include="include\obj\NiExtraData.h" />
+    <ClInclude Include="include\obj\NiExtraDataController.h" />
+    <ClInclude Include="include\obj\NiFlipController.h" />
+    <ClInclude Include="include\obj\NiFloatData.h" />
+    <ClInclude Include="include\obj\NiFloatExtraData.h" />
+    <ClInclude Include="include\obj\NiFloatExtraDataController.h" />
+    <ClInclude Include="include\obj\NiFloatInterpController.h" />
+    <ClInclude Include="include\obj\NiFloatInterpolator.h" />
+    <ClInclude Include="include\obj\NiFloatsExtraData.h" />
+    <ClInclude Include="include\obj\NiFogProperty.h" />
+    <ClInclude Include="include\obj\NiFurSpringController.h" />
+    <ClInclude Include="include\obj\NiGeometry.h" />
+    <ClInclude Include="include\obj\NiGeometryData.h" />
+    <ClInclude Include="include\obj\NiGeomMorpherController.h" />
+    <ClInclude Include="include\obj\NiGravity.h" />
+    <ClInclude Include="include\obj\NiImage.h" />
+    <ClInclude Include="include\obj\NiInstancingMeshModifier.h" />
+    <ClInclude Include="include\obj\NiIntegerExtraData.h" />
+    <ClInclude Include="include\obj\NiIntegersExtraData.h" />
+    <ClInclude Include="include\obj\NiInterpController.h" />
+    <ClInclude Include="include\obj\NiInterpolator.h" />
+    <ClInclude Include="include\obj\NiKeyBasedInterpolator.h" />
+    <ClInclude Include="include\obj\NiKeyframeController.h" />
+    <ClInclude Include="include\obj\NiKeyframeData.h" />
+    <ClInclude Include="include\obj\NiLight.h" />
+    <ClInclude Include="include\obj\NiLightColorController.h" />
+    <ClInclude Include="include\obj\NiLightDimmerController.h" />
+    <ClInclude Include="include\obj\NiLightIntensityController.h" />
+    <ClInclude Include="include\obj\NiLines.h" />
+    <ClInclude Include="include\obj\NiLinesData.h" />
+    <ClInclude Include="include\obj\NiLODData.h" />
+    <ClInclude Include="include\obj\NiLODNode.h" />
+    <ClInclude Include="include\obj\NiLookAtController.h" />
+    <ClInclude Include="include\obj\NiLookAtInterpolator.h" />
+    <ClInclude Include="include\obj\NiMaterialColorController.h" />
+    <ClInclude Include="include\obj\NiMaterialProperty.h" />
+    <ClInclude Include="include\obj\NiMesh.h" />
+    <ClInclude Include="include\obj\NiMeshHWInstance.h" />
+    <ClInclude Include="include\obj\NiMeshModifier.h" />
+    <ClInclude Include="include\obj\NiMeshParticleSystem.h" />
+    <ClInclude Include="include\obj\NiMeshPSysData.h" />
+    <ClInclude Include="include\obj\NiMorphController.h" />
+    <ClInclude Include="include\obj\NiMorphData.h" />
+    <ClInclude Include="include\obj\NiMorpherController.h" />
+    <ClInclude Include="include\obj\NiMorphMeshModifier.h" />
+    <ClInclude Include="include\obj\NiMorphWeightsController.h" />
+    <ClInclude Include="include\obj\NiMultiTargetTransformController.h" />
+    <ClInclude Include="include\obj\NiMultiTextureProperty.h" />
+    <ClInclude Include="include\obj\NiNode.h" />
+    <ClInclude Include="include\obj\NiObject.h" />
+    <ClInclude Include="include\obj\NiObjectNET.h" />
+    <ClInclude Include="include\obj\NiPalette.h" />
+    <ClInclude Include="include\obj\NiParticleBomb.h" />
+    <ClInclude Include="include\obj\NiParticleColorModifier.h" />
+    <ClInclude Include="include\obj\NiParticleGrowFade.h" />
+    <ClInclude Include="include\obj\NiParticleMeshes.h" />
+    <ClInclude Include="include\obj\NiParticleMeshesData.h" />
+    <ClInclude Include="include\obj\NiParticleMeshModifier.h" />
+    <ClInclude Include="include\obj\NiParticleModifier.h" />
+    <ClInclude Include="include\obj\NiParticleRotation.h" />
+    <ClInclude Include="include\obj\NiParticles.h" />
+    <ClInclude Include="include\obj\NiParticlesData.h" />
+    <ClInclude Include="include\obj\NiParticleSystem.h" />
+    <ClInclude Include="include\obj\NiParticleSystemController.h" />
+    <ClInclude Include="include\obj\NiPathController.h" />
+    <ClInclude Include="include\obj\NiPathInterpolator.h" />
+    <ClInclude Include="include\obj\NiPersistentSrcTextureRendererData.h" />
+    <ClInclude Include="include\obj\NiPhysXActorDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXBodyDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXD6JointDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXKinematicSrc.h" />
+    <ClInclude Include="include\obj\NiPhysXMaterialDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXMeshDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXProp.h" />
+    <ClInclude Include="include\obj\NiPhysXPropDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXShapeDesc.h" />
+    <ClInclude Include="include\obj\NiPhysXTransformDest.h" />
+    <ClInclude Include="include\obj\NiPixelData.h" />
+    <ClInclude Include="include\obj\NiPlanarCollider.h" />
+    <ClInclude Include="include\obj\NiPoint3InterpController.h" />
+    <ClInclude Include="include\obj\NiPoint3Interpolator.h" />
+    <ClInclude Include="include\obj\NiPointLight.h" />
+    <ClInclude Include="include\obj\NiPortal.h" />
+    <ClInclude Include="include\obj\NiPosData.h" />
+    <ClInclude Include="include\obj\NiProperty.h" />
+    <ClInclude Include="include\obj\NiPSBombForce.h" />
+    <ClInclude Include="include\obj\NiPSBoundUpdater.h" />
+    <ClInclude Include="include\obj\NiPSBoxEmitter.h" />
+    <ClInclude Include="include\obj\NiPSCylinderEmitter.h" />
+    <ClInclude Include="include\obj\NiPSDragForce.h" />
+    <ClInclude Include="include\obj\NiPSEmitParticlesCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterDeclinationCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterDeclinationVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterLifeSpanCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterPlanarAngleCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterPlanarAngleVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterRadiusCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterRotAngleCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterRotAngleVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterRotSpeedCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterRotSpeedVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSEmitterSpeedCtlr.h" />
+    <ClInclude Include="include\obj\NiPSFacingQuadGenerator.h" />
+    <ClInclude Include="include\obj\NiPSForceActiveCtlr.h" />
+    <ClInclude Include="include\obj\NiPSGravityForce.h" />
+    <ClInclude Include="include\obj\NiPSGravityStrengthCtlr.h" />
+    <ClInclude Include="include\obj\NiPSMeshEmitter.h" />
+    <ClInclude Include="include\obj\NiPSMeshParticleSystem.h" />
+    <ClInclude Include="include\obj\NiPSParticleSystem.h" />
+    <ClInclude Include="include\obj\NiPSPlanarCollider.h" />
+    <ClInclude Include="include\obj\NiPSResetOnLoopCtlr.h" />
+    <ClInclude Include="include\obj\NiPSSimulator.h" />
+    <ClInclude Include="include\obj\NiPSSimulatorCollidersStep.h" />
+    <ClInclude Include="include\obj\NiPSSimulatorFinalStep.h" />
+    <ClInclude Include="include\obj\NiPSSimulatorForcesStep.h" />
+    <ClInclude Include="include\obj\NiPSSimulatorGeneralStep.h" />
+    <ClInclude Include="include\obj\NiPSSimulatorMeshAlignStep.h" />
+    <ClInclude Include="include\obj\NiPSSimulatorStep.h" />
+    <ClInclude Include="include\obj\NiPSSpawner.h" />
+    <ClInclude Include="include\obj\NiPSSphereEmitter.h" />
+    <ClInclude Include="include\obj\NiPSSphericalCollider.h" />
+    <ClInclude Include="include\obj\NiPSysAgeDeathModifier.h" />
+    <ClInclude Include="include\obj\NiPSysAirFieldAirFrictionCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysAirFieldInheritVelocityCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysAirFieldModifier.h" />
+    <ClInclude Include="include\obj\NiPSysAirFieldSpreadCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysBombModifier.h" />
+    <ClInclude Include="include\obj\NiPSysBoundUpdateModifier.h" />
+    <ClInclude Include="include\obj\NiPSysBoxEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysCollider.h" />
+    <ClInclude Include="include\obj\NiPSysColliderManager.h" />
+    <ClInclude Include="include\obj\NiPSysColorModifier.h" />
+    <ClInclude Include="include\obj\NiPSysCylinderEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysData.h" />
+    <ClInclude Include="include\obj\NiPSysDragFieldModifier.h" />
+    <ClInclude Include="include\obj\NiPSysDragModifier.h" />
+    <ClInclude Include="include\obj\NiPSysEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterCtlrData.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterDeclinationCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterDeclinationVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterInitialRadiusCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterLifeSpanCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterPlanarAngleCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterPlanarAngleVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysEmitterSpeedCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysFieldAttenuationCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysFieldMagnitudeCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysFieldMaxDistanceCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysFieldModifier.h" />
+    <ClInclude Include="include\obj\NiPSysGravityFieldModifier.h" />
+    <ClInclude Include="include\obj\NiPSysGravityModifier.h" />
+    <ClInclude Include="include\obj\NiPSysGravityStrengthCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysGrowFadeModifier.h" />
+    <ClInclude Include="include\obj\NiPSysInitialRotAngleCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysInitialRotAngleVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysInitialRotSpeedCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysInitialRotSpeedVarCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysMeshEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysMeshUpdateModifier.h" />
+    <ClInclude Include="include\obj\NiPSysModifier.h" />
+    <ClInclude Include="include\obj\NiPSysModifierActiveCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysModifierBoolCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysModifierCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysModifierFloatCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysPlanarCollider.h" />
+    <ClInclude Include="include\obj\NiPSysPositionModifier.h" />
+    <ClInclude Include="include\obj\NiPSysRadialFieldModifier.h" />
+    <ClInclude Include="include\obj\NiPSysResetOnLoopCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysRotationModifier.h" />
+    <ClInclude Include="include\obj\NiPSysSpawnModifier.h" />
+    <ClInclude Include="include\obj\NiPSysSphereEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysSphericalCollider.h" />
+    <ClInclude Include="include\obj\NiPSysTrailEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysTurbulenceFieldModifier.h" />
+    <ClInclude Include="include\obj\NiPSysUpdateCtlr.h" />
+    <ClInclude Include="include\obj\NiPSysVolumeEmitter.h" />
+    <ClInclude Include="include\obj\NiPSysVortexFieldModifier.h" />
+    <ClInclude Include="include\obj\NiRangeLODData.h" />
+    <ClInclude Include="include\obj\NiRawImageData.h" />
+    <ClInclude Include="include\obj\NiRenderObject.h" />
+    <ClInclude Include="include\obj\NiRollController.h" />
+    <ClInclude Include="include\obj\NiRoom.h" />
+    <ClInclude Include="include\obj\NiRoomGroup.h" />
+    <ClInclude Include="include\obj\NiRotatingParticles.h" />
+    <ClInclude Include="include\obj\NiRotatingParticlesData.h" />
+    <ClInclude Include="include\obj\NiScreenElements.h" />
+    <ClInclude Include="include\obj\NiScreenElementsData.h" />
+    <ClInclude Include="include\obj\NiScreenLODData.h" />
+    <ClInclude Include="include\obj\NiSequence.h" />
+    <ClInclude Include="include\obj\NiSequenceData.h" />
+    <ClInclude Include="include\obj\NiSequenceStreamHelper.h" />
+    <ClInclude Include="include\obj\NiShadeProperty.h" />
+    <ClInclude Include="include\obj\NiShadowGenerator.h" />
+    <ClInclude Include="include\obj\NiSingleInterpController.h" />
+    <ClInclude Include="include\obj\NiSkinData.h" />
+    <ClInclude Include="include\obj\NiSkinInstance.h" />
+    <ClInclude Include="include\obj\NiSkinningLODController.h" />
+    <ClInclude Include="include\obj\NiSkinningMeshModifier.h" />
+    <ClInclude Include="include\obj\NiSkinPartition.h" />
+    <ClInclude Include="include\obj\NiSortAdjustNode.h" />
+    <ClInclude Include="include\obj\NiSourceCubeMap.h" />
+    <ClInclude Include="include\obj\NiSourceTexture.h" />
+    <ClInclude Include="include\obj\NiSpecularProperty.h" />
+    <ClInclude Include="include\obj\NiSphericalCollider.h" />
+    <ClInclude Include="include\obj\NiSpotLight.h" />
+    <ClInclude Include="include\obj\NiStencilProperty.h" />
+    <ClInclude Include="include\obj\NiStringExtraData.h" />
+    <ClInclude Include="include\obj\NiStringPalette.h" />
+    <ClInclude Include="include\obj\NiStringsExtraData.h" />
+    <ClInclude Include="include\obj\NiSwitchNode.h" />
+    <ClInclude Include="include\obj\NiTextKeyExtraData.h" />
+    <ClInclude Include="include\obj\NiTexture.h" />
+    <ClInclude Include="include\obj\NiTextureEffect.h" />
+    <ClInclude Include="include\obj\NiTextureModeProperty.h" />
+    <ClInclude Include="include\obj\NiTextureProperty.h" />
+    <ClInclude Include="include\obj\NiTextureTransformController.h" />
+    <ClInclude Include="include\obj\NiTexturingProperty.h" />
+    <ClInclude Include="include\obj\NiTimeController.h" />
+    <ClInclude Include="include\obj\NiTransformController.h" />
+    <ClInclude Include="include\obj\NiTransformData.h" />
+    <ClInclude Include="include\obj\NiTransformEvaluator.h" />
+    <ClInclude Include="include\obj\NiTransformInterpolator.h" />
+    <ClInclude Include="include\obj\NiTransparentProperty.h" />
+    <ClInclude Include="include\obj\NiTriBasedGeom.h" />
+    <ClInclude Include="include\obj\NiTriBasedGeomData.h" />
+    <ClInclude Include="include\obj\NiTriShape.h" />
+    <ClInclude Include="include\obj\NiTriShapeData.h" />
+    <ClInclude Include="include\obj\NiTriShapeSkinController.h" />
+    <ClInclude Include="include\obj\NiTriStrips.h" />
+    <ClInclude Include="include\obj\NiTriStripsData.h" />
+    <ClInclude Include="include\obj\NiUVController.h" />
+    <ClInclude Include="include\obj\NiUVData.h" />
+    <ClInclude Include="include\obj\NiVectorExtraData.h" />
+    <ClInclude Include="include\obj\NiVertexColorProperty.h" />
+    <ClInclude Include="include\obj\NiVertWeightsExtraData.h" />
+    <ClInclude Include="include\obj\NiVisController.h" />
+    <ClInclude Include="include\obj\NiVisData.h" />
+    <ClInclude Include="include\obj\NiWireframeProperty.h" />
+    <ClInclude Include="include\obj\NiZBufferProperty.h" />
+    <ClInclude Include="include\obj\RootCollisionNode.h" />
+    <ClInclude Include="include\obj\SkyShaderProperty.h" />
+    <ClInclude Include="include\obj\TallGrassShaderProperty.h" />
+    <ClInclude Include="include\obj\TileShaderProperty.h" />
+    <ClInclude Include="include\obj\VolumetricFogShaderProperty.h" />
+    <ClInclude Include="include\obj\WaterShaderProperty.h" />
+    <ClInclude Include="include\gen\AdditionalDataBlock.h" />
+    <ClInclude Include="include\gen\AdditionalDataInfo.h" />
+    <ClInclude Include="include\gen\ArkTexture.h" />
+    <ClInclude Include="include\gen\AVObject.h" />
+    <ClInclude Include="include\gen\bhkCMSD_Shape.h" />
+    <ClInclude Include="include\gen\bhkCMSD_Something.h" />
+    <ClInclude Include="include\gen\bhkCMSDBigTris.h" />
+    <ClInclude Include="include\gen\bhkCMSDChunk.h" />
+    <ClInclude Include="include\gen\bhkCMSDContainer.h" />
+    <ClInclude Include="include\gen\bhkCMSDData.h" />
+    <ClInclude Include="include\gen\bhkCMSDTransform.h" />
+    <ClInclude Include="include\gen\BodyPartList.h" />
+    <ClInclude Include="include\gen\BoundingBox.h" />
+    <ClInclude Include="include\gen\BoundingVolume.h" />
+    <ClInclude Include="include\gen\BoxBV.h" />
+    <ClInclude Include="include\gen\BSPackedAdditionalDataBlock.h" />
+    <ClInclude Include="include\gen\BSSegmentedTriangle.h" />
+    <ClInclude Include="include\gen\BSTreadTransfInfo.h" />
+    <ClInclude Include="include\gen\BSTreadTransform.h" />
+    <ClInclude Include="include\gen\BSTreadTransformData.h" />
+    <ClInclude Include="include\gen\BSTreadTransfSubInfo.h" />
+    <ClInclude Include="include\gen\ByteArray.h" />
+    <ClInclude Include="include\gen\ByteColor3.h" />
+    <ClInclude Include="include\gen\ByteColor4.h" />
+    <ClInclude Include="include\gen\ByteMatrix.h" />
+    <ClInclude Include="include\gen\CapsuleBV.h" />
+    <ClInclude Include="include\gen\ChannelData.h" />
+    <ClInclude Include="include\gen\ControllerLink.h" />
+    <ClInclude Include="include\gen\DecalVectorArray.h" />
+    <ClInclude Include="include\gen\ElementReference.h" />
+    <ClInclude Include="include\gen\enums.h" />
+    <ClInclude Include="include\gen\enums_intl.h" />
+    <ClInclude Include="include\gen\ExportInfo.h" />
+    <ClInclude Include="include\gen\ExtraMeshDataEpicMickey.h" />
+    <ClInclude Include="include\gen\ExtraMeshDataEpicMickey2.h" />
+    <ClInclude Include="include\gen\Footer.h" />
+    <ClInclude Include="include\gen\FurniturePosition.h" />
+    <ClInclude Include="include\gen\HalfSpaceBV.h" />
+    <ClInclude Include="include\gen\Header.h" />
+    <ClInclude Include="include\gen\HingeDescriptor.h" />
+    <ClInclude Include="include\gen\hkTriangle.h" />
+    <ClInclude Include="include\gen\KeyGroup.h" />
+    <ClInclude Include="include\gen\LimitedHingeDescriptor.h" />
+    <ClInclude Include="include\gen\LODRange.h" />
+    <ClInclude Include="include\gen\MatchGroup.h" />
+    <ClInclude Include="include\gen\MaterialData.h" />
+    <ClInclude Include="include\gen\MeshData.h" />
+    <ClInclude Include="include\gen\MipMap.h" />
+    <ClInclude Include="include\gen\Morph.h" />
+    <ClInclude Include="include\gen\MorphWeight.h" />
+    <ClInclude Include="include\gen\MotorDescriptor.h" />
+    <ClInclude Include="include\gen\MultiTextureElement.h" />
+    <ClInclude Include="include\gen\NodeGroup.h" />
+    <ClInclude Include="include\gen\OblivionColFilter.h" />
+    <ClInclude Include="include\gen\OblivionSubShape.h" />
+    <ClInclude Include="include\gen\OldSkinData.h" />
+    <ClInclude Include="include\gen\Particle.h" />
+    <ClInclude Include="include\gen\ParticleDesc.h" />
+    <ClInclude Include="include\gen\physXMaterialRef.h" />
+    <ClInclude Include="include\gen\Polygon.h" />
+    <ClInclude Include="include\gen\QuaternionXYZW.h" />
+    <ClInclude Include="include\gen\RagDollDescriptor.h" />
+    <ClInclude Include="include\gen\Region.h" />
+    <ClInclude Include="include\gen\RotationKeyArray.h" />
+    <ClInclude Include="include\gen\SemanticData.h" />
+    <ClInclude Include="include\gen\ShaderTexDesc.h" />
+    <ClInclude Include="include\gen\SkinData.h" />
+    <ClInclude Include="include\gen\SkinPartition.h" />
+    <ClInclude Include="include\gen\SkinShape.h" />
+    <ClInclude Include="include\gen\SkinShapeGroup.h" />
+    <ClInclude Include="include\gen\SkinTransform.h" />
+    <ClInclude Include="include\gen\SkinWeight.h" />
+    <ClInclude Include="include\gen\SphereBV.h" />
+    <ClInclude Include="include\gen\StringPalette.h" />
+    <ClInclude Include="include\gen\TBC.h" />
+    <ClInclude Include="include\gen\TexDesc.h" />
+    <ClInclude Include="include\gen\TexSource.h" />
+    <ClInclude Include="include\gen\UnionBV.h" />
+    <ClInclude Include="include\gen\UnknownMatrix1.h" />
+    <ClInclude Include="TriStripper\public_types.h" />
+    <ClInclude Include="TriStripper\tri_stripper.h" />
+    <ClInclude Include="TriStripper\detail\cache_simulator.h" />
+    <ClInclude Include="TriStripper\detail\connectivity_graph.h" />
+    <ClInclude Include="TriStripper\detail\graph_array.h" />
+    <ClInclude Include="TriStripper\detail\heap_array.h" />
+    <ClInclude Include="TriStripper\detail\policy.h" />
+    <ClInclude Include="TriStripper\detail\types.h" />
+    <ClInclude Include="NvTriStrip\NvTriStrip.h" />
+    <ClInclude Include="NvTriStrip\NvTriStripObjects.h" />
+    <ClInclude Include="NvTriStrip\VertexCache.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/niflib.vcxproj.filters b/niflib.vcxproj.filters
new file mode 100755
index 0000000000000000000000000000000000000000..5b5d687713692a5f815f99a8a8a6b316fe658184
--- /dev/null
+++ b/niflib.vcxproj.filters
@@ -0,0 +1,3297 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Source Files\obj">
+      <UniqueIdentifier>{50fa9819-479d-4d26-a35e-0b3a2fb15b46}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\gen">
+      <UniqueIdentifier>{69a96308-1002-4844-9d38-c4397a0ac15e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\NvTriStrip">
+      <UniqueIdentifier>{9f42b3b8-3d7d-435f-9a5b-8e83c4c3bf28}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files\TriStripper">
+      <UniqueIdentifier>{f879c570-574d-4234-a1b7-83ba0e12cfe8}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Header Files\obj">
+      <UniqueIdentifier>{bdb7c45c-f8c8-46a0-8efd-8a15c9fd9982}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\gen">
+      <UniqueIdentifier>{42b5db30-7530-4f1e-9077-18fe2ac14525}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\TriStripper">
+      <UniqueIdentifier>{e34d284c-8ff7-4571-9bdb-dc1fd5cb428a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\TriStripper\detail">
+      <UniqueIdentifier>{8b467129-de82-48c7-8817-c17b252d8b90}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files\NvTriStrip">
+      <UniqueIdentifier>{1df81f5f-d76c-4da4-8049-f0b6579cb625}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="src\obj\BSMultiBoundData.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\Inertia.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\kfm.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\MatTexCollection.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\NIF_IO.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\nif_math.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\niflib.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\nifqhull.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\ObjectRegistry.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\pch.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\RefObject.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\Type.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\AbstractAdditionalGeometryData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\ATextureRenderData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\AvoidNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkAabbPhantom.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBallAndSocketConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBallSocketConstraintChain.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBlendCollisionObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBlendController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBoxShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBreakableConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkBvTreeShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkCapsuleShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkCollisionObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkCompressedMeshShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkCompressedMeshShapeData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkConvexListShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkConvexShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkConvexTransformShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkConvexVerticesShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkEntity.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkHingeConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkLimitedHingeConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkLiquidAction.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkListShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkMalleableConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkMeshShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkMoppBvTreeShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkMultiSphereShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkNiCollisionObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkNiTriStripsShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkOrientHingedBodyAction.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkPackedNiTriStripsShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkPCollisionObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkPhantom.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkPrismaticConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkRagdollConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkRefObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkRigidBody.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkRigidBodyT.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkSerializable.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkShapeCollection.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkShapePhantom.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkSimpleShapePhantom.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkSPCollisionObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkSphereRepShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkSphereShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkStiffSpringConstraint.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkTransformShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\bhkWorldObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSAnimNotes.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSBehaviorGraphExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSBlastNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSBoneLODExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSBound.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSDamageStage.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSDebrisNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSDecalPlacementVectorExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSDismemberSkinInstance.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSDistantTreeShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSEffectShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSEffectShaderPropertyColorController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSEffectShaderPropertyFloatController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSFadeNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSFrustumFOVController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSFurnitureMarker.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSFurnitureMarkerNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSInvMarker.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSKeyframeController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSLagBoneController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSLeafAnimNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSLightingShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSLightingShaderPropertyColorController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSLightingShaderPropertyFloatController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSLODTriShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMasterParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMaterialEmittanceMultController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMultiBound.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMultiBoundAABB.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMultiBoundNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMultiBoundOBB.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSMultiBoundSphere.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSNiAlphaPropertyTestRefController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSOrderedNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPackedAdditionalGeometryData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSParentVelocityModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSProceduralLightningController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysArrayEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysHavokUpdateModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysInheritVelocityModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysLODModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysMultiTargetEmitterCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysRecycleBoundModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysScaleModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysSimpleColorModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysStripUpdateModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSPSysSubTexModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSRefractionFirePeriodController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSRefractionStrengthController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSRotAccumTransfInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSSegmentedTriShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSShaderLightingProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSShaderNoLightingProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSShaderPPLightingProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSShaderTextureSet.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSSkyShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSStripParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSStripPSysData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSTreadTransfInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSTreeNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSValueNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSWArray.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSWaterShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSWindModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\BSXFlags.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\CStreamableAssetData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\DistantLODShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\FxButton.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\FxRadioButton.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\FxWidget.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\HairShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\hkPackedNiTriStripsData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Lighting30ShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Ni3dsAlphaAnimator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Ni3dsAnimationNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Ni3dsColorAnimator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Ni3dsMorphShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Ni3dsParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\Ni3dsPathController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAdditionalGeometryData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAlphaController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAlphaProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAmbientLight.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiArkAnimationExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiArkImporterExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiArkShaderExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiArkTextureExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiArkViewportInfoExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAutoNormalParticles.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAutoNormalParticlesData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAVObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiAVObjectPalette.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBezierMesh.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBezierTriangle4.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBillboardNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBinaryExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBinaryVoxelData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBinaryVoxelExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBlendBoolInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBlendFloatInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBlendInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBlendPoint3Interpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBlendTransformInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBone.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBoneLODController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBoolData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBooleanExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBoolInterpController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBoolInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBoolTimelineInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSAnimationNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSBoneLODController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSPArrayController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSParticleNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineBasisData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineCompFloatInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineCompPoint3Interpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineCompTransformEvaluator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineCompTransformInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineFloatInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplinePoint3Interpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiBSplineTransformInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiCamera.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiClod.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiClodData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiClodSkinInstance.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiCollisionData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiCollisionObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiColorData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiColorExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiControllerManager.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiControllerSequence.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiDataStream.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiDefaultAVObjectPalette.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiDirectionalLight.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiDitherProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiDynamicEffect.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiEnvMappedTriShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiEnvMappedTriShapeData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiExtraDataController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFlipController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFloatData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFloatExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFloatExtraDataController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFloatInterpController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFloatInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFloatsExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFogProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiFurSpringController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiGeometry.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiGeometryData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiGeomMorpherController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiGravity.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiImage.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiInstancingMeshModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiIntegerExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiIntegersExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiInterpController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiKeyBasedInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiKeyframeController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiKeyframeData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLight.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLightColorController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLightDimmerController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLightIntensityController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLines.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLinesData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLODData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLODNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLookAtController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiLookAtInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMaterialColorController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMaterialProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMesh.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMeshHWInstance.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMeshModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMeshParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMeshPSysData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMorphController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMorphData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMorpherController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMorphMeshModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMorphWeightsController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMultiTargetTransformController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiMultiTextureProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiObjectNET.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPalette.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleBomb.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleColorModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleGrowFade.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleMeshes.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleMeshesData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleMeshModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleRotation.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticles.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticlesData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiParticleSystemController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPathController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPathInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPersistentSrcTextureRendererData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXActorDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXBodyDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXD6JointDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXKinematicSrc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXMaterialDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXMeshDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXProp.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXPropDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXShapeDesc.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPhysXTransformDest.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPixelData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPlanarCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPoint3InterpController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPoint3Interpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPointLight.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPortal.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPosData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSBombForce.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSBoundUpdater.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSBoxEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSCylinderEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSDragForce.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitParticlesCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterDeclinationCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterDeclinationVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterLifeSpanCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterPlanarAngleCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterPlanarAngleVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterRadiusCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterRotAngleCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterRotAngleVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterRotSpeedCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterRotSpeedVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSEmitterSpeedCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSFacingQuadGenerator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSForceActiveCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSGravityForce.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSGravityStrengthCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSMeshEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSMeshParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSParticleSystem.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSPlanarCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSResetOnLoopCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulatorCollidersStep.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulatorFinalStep.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulatorForcesStep.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulatorGeneralStep.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulatorMeshAlignStep.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSimulatorStep.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSpawner.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSphereEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSSphericalCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysAgeDeathModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysAirFieldAirFrictionCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysAirFieldInheritVelocityCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysAirFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysAirFieldSpreadCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysBombModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysBoundUpdateModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysBoxEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysColliderManager.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysColorModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysCylinderEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysDragFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysDragModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterCtlrData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterDeclinationCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterDeclinationVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterInitialRadiusCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterLifeSpanCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterPlanarAngleCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterPlanarAngleVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysEmitterSpeedCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysFieldAttenuationCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysFieldMagnitudeCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysFieldMaxDistanceCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysGravityFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysGravityModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysGravityStrengthCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysGrowFadeModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysInitialRotAngleCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysInitialRotAngleVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysInitialRotSpeedCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysInitialRotSpeedVarCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysMeshEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysMeshUpdateModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysModifierActiveCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysModifierBoolCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysModifierCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysModifierFloatCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysPlanarCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysPositionModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysRadialFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysResetOnLoopCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysRotationModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysSpawnModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysSphereEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysSphericalCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysTrailEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysTurbulenceFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysUpdateCtlr.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysVolumeEmitter.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiPSysVortexFieldModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRangeLODData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRawImageData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRenderObject.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRollController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRoom.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRoomGroup.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRotatingParticles.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiRotatingParticlesData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiScreenElements.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiScreenElementsData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiScreenLODData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSequence.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSequenceData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSequenceStreamHelper.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiShadeProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiShadowGenerator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSingleInterpController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSkinData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSkinInstance.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSkinningLODController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSkinningMeshModifier.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSkinPartition.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSortAdjustNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSourceCubeMap.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSourceTexture.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSpecularProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSphericalCollider.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSpotLight.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiStencilProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiStringExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiStringPalette.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiStringsExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiSwitchNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTextKeyExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTexture.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTextureEffect.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTextureModeProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTextureProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTextureTransformController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTexturingProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTimeController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTransformController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTransformData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTransformEvaluator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTransformInterpolator.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTransparentProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriBasedGeom.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriBasedGeomData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriShape.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriShapeData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriShapeSkinController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriStrips.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiTriStripsData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiUVController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiUVData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiVectorExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiVertexColorProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiVertWeightsExtraData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiVisController.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiVisData.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiWireframeProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\NiZBufferProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\RootCollisionNode.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\SkyShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\TallGrassShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\TileShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\VolumetricFogShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\obj\WaterShaderProperty.cpp">
+      <Filter>Source Files\obj</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\AdditionalDataBlock.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\AdditionalDataInfo.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ArkTexture.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\AVObject.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSD_Shape.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSD_Something.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSDBigTris.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSDChunk.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSDContainer.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSDData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\bhkCMSDTransform.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BodyPartList.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BoundingBox.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BoundingVolume.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BoxBV.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BSPackedAdditionalDataBlock.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BSSegmentedTriangle.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BSTreadTransfInfo.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BSTreadTransform.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BSTreadTransformData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\BSTreadTransfSubInfo.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ByteArray.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ByteColor3.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ByteColor4.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ByteMatrix.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\CapsuleBV.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ChannelData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\ComplexShape.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ControllerLink.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\DecalVectorArray.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ElementReference.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\enums.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ExportInfo.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ExtraMeshDataEpicMickey.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ExtraMeshDataEpicMickey2.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\Footer.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\FurniturePosition.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\HalfSpaceBV.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\Header.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\HingeDescriptor.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\hkTriangle.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\LimitedHingeDescriptor.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\LODRange.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MatchGroup.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MaterialData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MeshData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MipMap.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\Morph.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MorphWeight.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MotorDescriptor.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\MultiTextureElement.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\NodeGroup.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\OblivionColFilter.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\OblivionSubShape.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\OldSkinData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\Particle.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ParticleDesc.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\physXMaterialRef.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\Polygon.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\QuaternionXYZW.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\RagDollDescriptor.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\Region.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\register.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SemanticData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\ShaderTexDesc.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SkinData.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SkinPartition.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SkinShape.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SkinShapeGroup.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SkinTransform.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SkinWeight.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\SphereBV.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\StringPalette.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\TBC.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\TexDesc.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\TexSource.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\UnionBV.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="src\gen\UnknownMatrix1.cpp">
+      <Filter>Source Files\gen</Filter>
+    </ClCompile>
+    <ClCompile Include="NvTriStrip\NvTriStrip.cpp">
+      <Filter>Source Files\NvTriStrip</Filter>
+    </ClCompile>
+    <ClCompile Include="NvTriStrip\NvTriStripObjects.cpp">
+      <Filter>Source Files\NvTriStrip</Filter>
+    </ClCompile>
+    <ClCompile Include="NvTriStrip\VertexCache.cpp">
+      <Filter>Source Files\NvTriStrip</Filter>
+    </ClCompile>
+    <ClCompile Include="TriStripper\connectivity_graph.cpp">
+      <Filter>Source Files\TriStripper</Filter>
+    </ClCompile>
+    <ClCompile Include="TriStripper\policy.cpp">
+      <Filter>Source Files\TriStripper</Filter>
+    </ClCompile>
+    <ClCompile Include="TriStripper\tri_stripper.cpp">
+      <Filter>Source Files\TriStripper</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="include\obj\BSMultiBoundData.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\ComplexShape.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\dll_export.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\FixLink.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\Inertia.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\Key.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\kfm.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\MatTexCollection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\nif_basic_types.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\NIF_IO.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\nif_math.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\nif_versions.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\niflib.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\nifqhull.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\ObjectRegistry.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\pch.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\Ref.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\RefObject.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\Type.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\AbstractAdditionalGeometryData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\ATextureRenderData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\AvoidNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkAabbPhantom.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBallAndSocketConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBallSocketConstraintChain.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBlendCollisionObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBlendController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBoxShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBreakableConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkBvTreeShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkCapsuleShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkCollisionObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkCompressedMeshShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkCompressedMeshShapeData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkConvexListShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkConvexShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkConvexTransformShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkConvexVerticesShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkEntity.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkHingeConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkLimitedHingeConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkLiquidAction.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkListShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkMalleableConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkMeshShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkMoppBvTreeShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkMultiSphereShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkNiCollisionObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkNiTriStripsShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkOrientHingedBodyAction.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkPackedNiTriStripsShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkPCollisionObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkPhantom.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkPrismaticConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkRagdollConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkRefObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkRigidBody.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkRigidBodyT.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkSerializable.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkShapeCollection.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkShapePhantom.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkSimpleShapePhantom.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkSPCollisionObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkSphereRepShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkSphereShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkStiffSpringConstraint.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkTransformShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\bhkWorldObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSAnimNotes.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSBehaviorGraphExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSBlastNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSBoneLODExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSBound.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSDamageStage.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSDebrisNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSDecalPlacementVectorExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSDismemberSkinInstance.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSDistantTreeShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSEffectShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSEffectShaderPropertyColorController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSEffectShaderPropertyFloatController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSFadeNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSFrustumFOVController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSFurnitureMarker.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSFurnitureMarkerNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSInvMarker.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSKeyframeController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSLagBoneController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSLeafAnimNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSLightingShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSLightingShaderPropertyColorController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSLightingShaderPropertyFloatController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSLODTriShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMasterParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMaterialEmittanceMultController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMultiBound.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMultiBoundAABB.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMultiBoundNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMultiBoundOBB.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSMultiBoundSphere.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSNiAlphaPropertyTestRefController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSOrderedNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPackedAdditionalGeometryData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSParentVelocityModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSProceduralLightningController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysArrayEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysHavokUpdateModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysInheritVelocityModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysLODModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysMultiTargetEmitterCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysRecycleBoundModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysScaleModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysSimpleColorModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysStripUpdateModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSPSysSubTexModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSRefractionFirePeriodController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSRefractionStrengthController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSRotAccumTransfInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSSegmentedTriShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSShaderLightingProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSShaderNoLightingProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSShaderPPLightingProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSShaderTextureSet.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSSkyShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSStripParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSStripPSysData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSTreadTransfInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSTreeNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSValueNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSWArray.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSWaterShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSWindModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\BSXFlags.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\CStreamableAssetData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\DistantLODShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\FxButton.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\FxRadioButton.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\FxWidget.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\HairShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\hkPackedNiTriStripsData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Lighting30ShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Ni3dsAlphaAnimator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Ni3dsAnimationNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Ni3dsColorAnimator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Ni3dsMorphShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Ni3dsParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\Ni3dsPathController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAdditionalGeometryData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAlphaController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAlphaProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAmbientLight.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiArkAnimationExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiArkImporterExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiArkShaderExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiArkTextureExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiArkViewportInfoExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAutoNormalParticles.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAutoNormalParticlesData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAVObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiAVObjectPalette.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBezierMesh.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBezierTriangle4.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBillboardNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBinaryExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBinaryVoxelData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBinaryVoxelExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBlendBoolInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBlendFloatInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBlendInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBlendPoint3Interpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBlendTransformInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBone.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBoneLODController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBoolData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBooleanExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBoolInterpController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBoolInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBoolTimelineInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSAnimationNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSBoneLODController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSPArrayController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSParticleNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineBasisData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineCompFloatInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineCompPoint3Interpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineCompTransformEvaluator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineCompTransformInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineFloatInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplinePoint3Interpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiBSplineTransformInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiCamera.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiClod.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiClodData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiClodSkinInstance.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiCollisionData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiCollisionObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiColorData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiColorExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiControllerManager.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiControllerSequence.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiDataStream.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiDefaultAVObjectPalette.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiDirectionalLight.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiDitherProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiDynamicEffect.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiEnvMappedTriShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiEnvMappedTriShapeData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiExtraDataController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFlipController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFloatData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFloatExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFloatExtraDataController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFloatInterpController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFloatInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFloatsExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFogProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiFurSpringController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiGeometry.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiGeometryData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiGeomMorpherController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiGravity.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiImage.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiInstancingMeshModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiIntegerExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiIntegersExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiInterpController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiKeyBasedInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiKeyframeController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiKeyframeData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLight.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLightColorController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLightDimmerController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLightIntensityController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLines.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLinesData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLODData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLODNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLookAtController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiLookAtInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMaterialColorController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMaterialProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMesh.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMeshHWInstance.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMeshModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMeshParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMeshPSysData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMorphController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMorphData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMorpherController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMorphMeshModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMorphWeightsController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMultiTargetTransformController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiMultiTextureProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiObjectNET.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPalette.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleBomb.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleColorModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleGrowFade.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleMeshes.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleMeshesData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleMeshModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleRotation.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticles.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticlesData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiParticleSystemController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPathController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPathInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPersistentSrcTextureRendererData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXActorDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXBodyDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXD6JointDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXKinematicSrc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXMaterialDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXMeshDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXProp.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXPropDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXShapeDesc.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPhysXTransformDest.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPixelData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPlanarCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPoint3InterpController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPoint3Interpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPointLight.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPortal.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPosData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSBombForce.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSBoundUpdater.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSBoxEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSCylinderEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSDragForce.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitParticlesCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterDeclinationCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterDeclinationVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterLifeSpanCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterPlanarAngleCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterPlanarAngleVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterRadiusCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterRotAngleCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterRotAngleVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterRotSpeedCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterRotSpeedVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSEmitterSpeedCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSFacingQuadGenerator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSForceActiveCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSGravityForce.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSGravityStrengthCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSMeshEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSMeshParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSParticleSystem.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSPlanarCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSResetOnLoopCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulatorCollidersStep.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulatorFinalStep.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulatorForcesStep.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulatorGeneralStep.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulatorMeshAlignStep.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSimulatorStep.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSpawner.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSphereEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSSphericalCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysAgeDeathModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysAirFieldAirFrictionCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysAirFieldInheritVelocityCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysAirFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysAirFieldSpreadCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysBombModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysBoundUpdateModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysBoxEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysColliderManager.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysColorModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysCylinderEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysDragFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysDragModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterCtlrData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterDeclinationCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterDeclinationVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterInitialRadiusCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterLifeSpanCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterPlanarAngleCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterPlanarAngleVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysEmitterSpeedCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysFieldAttenuationCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysFieldMagnitudeCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysFieldMaxDistanceCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysGravityFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysGravityModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysGravityStrengthCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysGrowFadeModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysInitialRotAngleCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysInitialRotAngleVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysInitialRotSpeedCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysInitialRotSpeedVarCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysMeshEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysMeshUpdateModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysModifierActiveCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysModifierBoolCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysModifierCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysModifierFloatCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysPlanarCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysPositionModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysRadialFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysResetOnLoopCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysRotationModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysSpawnModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysSphereEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysSphericalCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysTrailEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysTurbulenceFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysUpdateCtlr.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysVolumeEmitter.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiPSysVortexFieldModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRangeLODData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRawImageData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRenderObject.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRollController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRoom.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRoomGroup.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRotatingParticles.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiRotatingParticlesData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiScreenElements.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiScreenElementsData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiScreenLODData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSequence.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSequenceData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSequenceStreamHelper.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiShadeProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiShadowGenerator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSingleInterpController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSkinData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSkinInstance.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSkinningLODController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSkinningMeshModifier.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSkinPartition.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSortAdjustNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSourceCubeMap.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSourceTexture.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSpecularProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSphericalCollider.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSpotLight.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiStencilProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiStringExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiStringPalette.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiStringsExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiSwitchNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTextKeyExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTexture.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTextureEffect.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTextureModeProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTextureProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTextureTransformController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTexturingProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTimeController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTransformController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTransformData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTransformEvaluator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTransformInterpolator.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTransparentProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriBasedGeom.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriBasedGeomData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriShape.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriShapeData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriShapeSkinController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriStrips.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiTriStripsData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiUVController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiUVData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiVectorExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiVertexColorProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiVertWeightsExtraData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiVisController.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiVisData.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiWireframeProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\NiZBufferProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\RootCollisionNode.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\SkyShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\TallGrassShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\TileShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\VolumetricFogShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\obj\WaterShaderProperty.h">
+      <Filter>Header Files\obj</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\AdditionalDataBlock.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\AdditionalDataInfo.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ArkTexture.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\AVObject.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSD_Shape.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSD_Something.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSDBigTris.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSDChunk.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSDContainer.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSDData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\bhkCMSDTransform.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BodyPartList.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BoundingBox.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BoundingVolume.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BoxBV.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BSPackedAdditionalDataBlock.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BSSegmentedTriangle.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BSTreadTransfInfo.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BSTreadTransform.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BSTreadTransformData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\BSTreadTransfSubInfo.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ByteArray.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ByteColor3.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ByteColor4.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ByteMatrix.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\CapsuleBV.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ChannelData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ControllerLink.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\DecalVectorArray.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ElementReference.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\enums.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\enums_intl.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ExportInfo.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ExtraMeshDataEpicMickey.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ExtraMeshDataEpicMickey2.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\Footer.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\FurniturePosition.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\HalfSpaceBV.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\Header.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\HingeDescriptor.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\hkTriangle.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\KeyGroup.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\LimitedHingeDescriptor.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\LODRange.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MatchGroup.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MaterialData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MeshData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MipMap.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\Morph.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MorphWeight.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MotorDescriptor.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\MultiTextureElement.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\NodeGroup.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\OblivionColFilter.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\OblivionSubShape.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\OldSkinData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\Particle.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ParticleDesc.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\physXMaterialRef.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\Polygon.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\QuaternionXYZW.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\RagDollDescriptor.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\Region.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\RotationKeyArray.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SemanticData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\ShaderTexDesc.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SkinData.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SkinPartition.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SkinShape.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SkinShapeGroup.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SkinTransform.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SkinWeight.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\SphereBV.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\StringPalette.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\TBC.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\TexDesc.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\TexSource.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\UnionBV.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="include\gen\UnknownMatrix1.h">
+      <Filter>Header Files\gen</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\public_types.h">
+      <Filter>Header Files\TriStripper</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\tri_stripper.h">
+      <Filter>Header Files\TriStripper</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\detail\cache_simulator.h">
+      <Filter>Header Files\TriStripper\detail</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\detail\connectivity_graph.h">
+      <Filter>Header Files\TriStripper\detail</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\detail\graph_array.h">
+      <Filter>Header Files\TriStripper\detail</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\detail\heap_array.h">
+      <Filter>Header Files\TriStripper\detail</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\detail\policy.h">
+      <Filter>Header Files\TriStripper\detail</Filter>
+    </ClInclude>
+    <ClInclude Include="TriStripper\detail\types.h">
+      <Filter>Header Files\TriStripper\detail</Filter>
+    </ClInclude>
+    <ClInclude Include="NvTriStrip\NvTriStrip.h">
+      <Filter>Header Files\NvTriStrip</Filter>
+    </ClInclude>
+    <ClInclude Include="NvTriStrip\NvTriStripObjects.h">
+      <Filter>Header Files\NvTriStrip</Filter>
+    </ClInclude>
+    <ClInclude Include="NvTriStrip\VertexCache.h">
+      <Filter>Header Files\NvTriStrip</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/niflib_VS2005.sln b/niflib_VS2005.sln
new file mode 100644
index 0000000000000000000000000000000000000000..97958d1b5d56508c8b993734eb4ade7961178ef1
--- /dev/null
+++ b/niflib_VS2005.sln
@@ -0,0 +1,25 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "niflib", "niflib.vcxproj", "{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug - DLL|Win32 = Debug - DLL|Win32
+		Debug - Static|Win32 = Debug - Static|Win32
+		Release - DLL|Win32 = Release - DLL|Win32
+		Release - Static|Win32 = Release - Static|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - DLL|Win32.ActiveCfg = Debug - DLL|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - DLL|Win32.Build.0 = Debug - DLL|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Static|Win32.ActiveCfg = Debug - Static|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Debug - Static|Win32.Build.0 = Debug - Static|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - DLL|Win32.ActiveCfg = Release - DLL|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - DLL|Win32.Build.0 = Release - DLL|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Static|Win32.ActiveCfg = Release - Static|Win32
+		{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}.Release - Static|Win32.Build.0 = Release - Static|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/src/ComplexShape.cpp b/src/ComplexShape.cpp
index 72a2823fe8af830735b803f357f923f1fe6b04b6..920172d5354ea83db31cbaccc949b8b9f75292b4 100644
--- a/src/ComplexShape.cpp
+++ b/src/ComplexShape.cpp
@@ -15,9 +15,17 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../include/obj/NiSkinData.h"
 #include "../include/obj/NiTextureProperty.h"
 #include "../include/gen/SkinWeight.h"
+#include "../include/obj/NiSkinPartition.h"
+#include "../include/gen/BodyPartList.h"
+#include "../include/obj/BSShaderTextureSet.h"
+#include "../include/obj/BSLightingShaderProperty.h"
+#include "../include/obj/NiAlphaProperty.h"
 
 #include <stdlib.h>
 
+
+
+
 using namespace Niflib;
 
 //Wrape these in the Niflib namespace so they don't polute the Class View
@@ -137,6 +145,25 @@ void ComplexShape::SetSkinInfluences( const vector< Ref<NiNode> > & n ) {
 	skinInfluences = n;
 }
 
+vector<int> ComplexShape::GetDismemberPartitionsFaces() const {
+	return dismemberPartitionsFaces;
+}
+
+void ComplexShape::SetDismemberPartitionsFaces(const vector<int>& value ) {
+	dismemberPartitionsFaces.resize(value.size());
+
+	for(unsigned int i = 0; i < dismemberPartitionsFaces.size(); i++) {
+		dismemberPartitionsFaces[i] = value[i];
+	}
+}
+
+vector<BodyPartList> ComplexShape::GetDismemberPartitionsBodyParts() const {
+	return dismemberPartitionsBodyParts;
+}
+
+void ComplexShape::SetDismemberPartitionsBodyParts( const vector<BodyPartList>& value ) {
+	dismemberPartitionsBodyParts = value;
+}
 
 string ComplexShape::GetName() const {
 	return name;
@@ -179,6 +206,8 @@ void ComplexShape::Clear() {
 	propGroups.clear();
 	skinInfluences.clear();
 	name.clear();
+	dismemberPartitionsBodyParts.clear();
+	dismemberPartitionsFaces.clear();
 }
 
 void ComplexShape::Merge( NiAVObject * root ) {
@@ -195,7 +224,7 @@ void ComplexShape::Merge( NiAVObject * root ) {
 		//Add it to the list
 		shapes.push_back( DynamicCast<NiTriBasedGeom>(root) );
 	} else if ( root->IsDerivedType( NiNode::TYPE ) ) {
-		//The function was called on a NiNOde.  Search for
+		//The function was called on a NiNode.  Search for
 		//shape children
 		NiNodeRef nodeRoot = DynamicCast<NiNode>(root);
 		vector<NiAVObjectRef> children = nodeRoot->GetChildren();
@@ -226,8 +255,19 @@ void ComplexShape::Merge( NiAVObject * root ) {
 	unsigned int prop_group_index = 0;
 	for ( vector<NiTriBasedGeomRef>::iterator geom = shapes.begin(); geom != shapes.end(); ++geom ) {
 	
+		vector<NiPropertyRef> current_property_group =  (*geom)->GetProperties();
+
+		//Special code to handle the Bethesda Skyrim properties
+		array<2, NiPropertyRef> bs_properties = (*geom)->getBsProperties();
+		if(bs_properties[0] != NULL) {
+			current_property_group.push_back(bs_properties[0]);
+		}
+		if(bs_properties[1] != NULL) {
+			current_property_group.push_back(bs_properties[1]);
+		}
+	
 		//Get properties of this shape
-		propGroups[prop_group_index] = (*geom)->GetProperties();
+		propGroups[prop_group_index] = current_property_group;
 		
 		
 		NiTriBasedGeomDataRef geomData = DynamicCast<NiTriBasedGeomData>( (*geom)->GetData() );
@@ -242,6 +282,11 @@ void ComplexShape::Merge( NiAVObject * root ) {
 		//If this is a skin influenced mesh, get vertices from niGeom
 		if ( (*geom)->GetSkinInstance() != NULL ) {
 			(*geom)->GetSkinDeformation( shapeVerts, shapeNorms );
+
+			if((*geom)->GetSkinInstance()->GetType().IsSameType(BSDismemberSkinInstance::TYPE)) {
+				BSDismemberSkinInstanceRef dismember_skin =  DynamicCast<BSDismemberSkinInstance>((*geom)->GetSkinInstance());
+				NiSkinPartitionRef skin_partition = dismember_skin->GetSkinPartition();
+			}
 		} else {
 			shapeVerts = geomData->GetVertices();
 			shapeNorms = geomData->GetNormals();
@@ -346,13 +391,32 @@ void ComplexShape::Merge( NiAVObject * root ) {
 		if ( niProp != NULL ) {
 			niTexProp = DynamicCast<NiTextureProperty>(niProp);
 		}
+		BSShaderTextureSetRef bsTexProp = NULL;
+		niProp = (*geom)->GetPropertyByType(BSShaderTextureSet::TYPE);
+		if(niProp != NULL) {
+			bsTexProp = DynamicCast<BSShaderTextureSet>(niProp);
+		}
+		niProp = (*geom)->getBsProperties()[0];
+		if(niProp != NULL &&  niProp->GetType().IsSameType(BSLightingShaderProperty::TYPE)) {
+			BSLightingShaderPropertyRef bs_shader = DynamicCast<BSLightingShaderProperty>(niProp);
+			if(bs_shader->getTextureSet() != NULL) {
+				bsTexProp = bs_shader->getTextureSet();
+			}
+		}
+		niProp = (*geom)->getBsProperties()[1];
+		if(niProp != NULL &&  niProp->GetType().IsSameType(BSLightingShaderProperty::TYPE)) {
+			BSLightingShaderPropertyRef bs_shader = DynamicCast<BSLightingShaderProperty>(niProp);
+			if(bs_shader->getTextureSet() != NULL) {
+				bsTexProp = bs_shader->getTextureSet();
+			}
+		}
 
 		//Create a list of UV sets to check
 		//pair.first = Texture Type
 		//pair.second = UV Set ID
 		vector< pair<TexType, unsigned int> > uvSets;
 
-		if ( shapeUVs.size() != 0 && (niTexingProp != NULL || niTexProp != NULL) ) {
+		if ( shapeUVs.size() != 0 && (niTexingProp != NULL || niTexProp != NULL || bsTexProp != NULL) ) {
 			if ( niTexingProp != NULL ) {
 				//Add the UV set to the list for every type of texture slot that uses it
 				for ( int tex = 0; tex < 8; ++tex ) {
@@ -363,7 +427,7 @@ void ComplexShape::Merge( NiAVObject * root ) {
 						uvSets.push_back( pair<TexType, unsigned int>( TexType(tex), td.uvSet ) );
 					}
 				}
-			} else if ( niTexProp != NULL ) {
+			} else if ( niTexProp != NULL || bsTexProp != NULL ) {
 				//Add the base UV set to the list and just use zero.
 				uvSets.push_back( pair<TexType, unsigned int>( BASE_MAP, 0 ) );
 			}
@@ -396,7 +460,7 @@ void ComplexShape::Merge( NiAVObject * root ) {
 					uvSetIndex = (unsigned int)(texCoordSets.size()) - 1;
 				}
 
-				//Loop through texture cooridnates in this set
+				//Loop through texture coordinates in this set
 				if ( set >= shapeUVs.size() || set < 0 ) {
 					throw runtime_error("One of the UV sets specified in the NiTexturingProperty did not exist in the NiTriBasedGeomData.");
 				}
@@ -405,7 +469,7 @@ void ComplexShape::Merge( NiAVObject * root ) {
 
 					newCoord = shapeUVs[set][v];
 
-					//Search for matching texture cooridnate
+					//Search for matching texture coordinate
 					bool match_found = false;
 					for ( unsigned int tc_index = 0; tc_index < texCoordSets[uvSetIndex].texCoords.size(); ++tc_index ) {
 						if ( texCoordSets[uvSetIndex].texCoords[tc_index]  == newCoord ) {
@@ -478,6 +542,119 @@ void ComplexShape::Merge( NiAVObject * root ) {
 					}
 				}
 			}
+
+			//Check to see if the skin is actually a dismember skin instance in which case import the partitions too
+			if(skinInst->GetType().IsSameType(BSDismemberSkinInstance::TYPE)) {
+				BSDismemberSkinInstanceRef dismember_skin = DynamicCast<BSDismemberSkinInstance>((*geom)->GetSkinInstance());
+				NiSkinPartitionRef skin_partition = dismember_skin->GetSkinPartition();
+
+				//These are the partition data of the current shapes
+				vector<BodyPartList> current_body_parts;
+				vector<int> current_body_parts_faces;
+
+				for(unsigned int y = 0; y < dismember_skin->GetPartitions().size(); y++) {
+					current_body_parts.push_back(dismember_skin->GetPartitions().at(y));
+				}
+
+				for(unsigned int y = 0; y < shapeTris.size(); y++) {
+					current_body_parts_faces.push_back(0);
+				}
+
+				for(int y = 0; y < skin_partition->GetNumPartitions(); y++) {
+					vector<Triangle> partition_triangles = skin_partition->GetTriangles(y);
+					vector<unsigned short> partition_vertex_map = skin_partition->GetVertexMap(y);
+					bool has_vertex_map = false;
+
+					if(partition_vertex_map.size() > 0) {
+						has_vertex_map = true;
+					}
+
+					for(unsigned int z = 0; z < partition_triangles.size(); z++) {
+						unsigned int w = faces.size() - shapeTris.size();
+
+						int merged_x;
+						int merged_y;
+						int merged_z;
+
+						if(has_vertex_map == true) {
+							merged_x = lookUp[partition_vertex_map[partition_triangles[z].v1]].vertIndex;
+							merged_y = lookUp[partition_vertex_map[partition_triangles[z].v2]].vertIndex;
+							merged_z = lookUp[partition_vertex_map[partition_triangles[z].v3]].vertIndex;
+						} else {
+							merged_x = lookUp[partition_triangles[z].v1].vertIndex;
+							merged_y = lookUp[partition_triangles[z].v2].vertIndex;
+							merged_z = lookUp[partition_triangles[z].v3].vertIndex;
+						}
+
+						for(; w < faces.size(); w++) {
+							ComplexFace current_face = faces[w];
+
+							//keep this commented code is case my theory that all triangles must have vertices arranged in a certain way and that you can't rearrange vertices in a triangle
+
+							/*if(current_face.points[0].vertexIndex == merged_x) {
+								if(current_face.points[1].vertexIndex == merged_y && current_face.points[2].vertexIndex == merged_z) {
+									is_same_face = true;
+									break;
+								} else if(current_face.points[2].vertexIndex == merged_y && current_face.points[1].vertexIndex == merged_z) {
+									is_same_face = true;
+									break;
+								}
+							} else if(current_face.points[1].vertexIndex == merged_x) {
+								if(current_face.points[0].vertexIndex == merged_y && current_face.points[2].vertexIndex == merged_z) {
+									is_same_face = true;
+									break;
+								} else if(current_face.points[2].vertexIndex == merged_y && current_face.points[0].vertexIndex == merged_z) {
+									is_same_face = true;
+									break;
+								}
+							} else if(current_face.points[2].vertexIndex == merged_x) {
+								if(current_face.points[0].vertexIndex == merged_y && current_face.points[1].vertexIndex == merged_z) {
+									is_same_face = true;
+									break;
+								} else if(current_face.points[1].vertexIndex == merged_y && current_face.points[0].vertexIndex == merged_z) {
+									is_same_face = true;
+									break;
+								}
+							} */
+
+							if(current_face.points[0].vertexIndex == merged_x && current_face.points[1].vertexIndex == merged_y && current_face.points[2].vertexIndex == merged_z) {
+								break;
+							}
+						}
+						
+						if(w - (faces.size() - shapeTris.size()) < shapeTris.size()) {
+							current_body_parts_faces[w - (faces.size() - shapeTris.size())] = y;
+						} 
+					}
+				}
+
+				for(unsigned int y = 0; y < current_body_parts.size(); y++) {
+					int match_index = -1;
+
+					for(unsigned int z = 0; z < dismemberPartitionsBodyParts.size(); z++) {
+						if(dismemberPartitionsBodyParts[z].bodyPart == current_body_parts[y].bodyPart 
+							&& dismemberPartitionsBodyParts[z].partFlag == current_body_parts[y].partFlag) {
+								match_index = z;
+								break;
+						}
+					}
+
+					if(match_index < 0) {
+						dismemberPartitionsBodyParts.push_back(current_body_parts[y]);
+						match_index = dismemberPartitionsBodyParts.size() - 1;
+					} 
+
+					for(unsigned int z = 0; z < current_body_parts_faces.size(); z++) {
+						if(current_body_parts_faces[z] == y) {
+							current_body_parts_faces[z] = match_index;
+						}
+					}
+				}
+
+				for(unsigned int x = 0; x < current_body_parts_faces.size(); x++) {
+					dismemberPartitionsFaces.push_back(current_body_parts_faces[x]);
+				}
+			}
 		}
 
 		//Next Shape
@@ -526,13 +703,26 @@ void ComplexShape::Merge( NiAVObject * root ) {
 	//Done Merging
 }
 
-Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int max_bones_per_partition, bool stripify, bool tangent_space ) const {
+Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int max_bones_per_partition, bool stripify, bool tangent_space, float min_vertex_weight, byte tspace_flags ) const {
 
 	//Make sure parent is not NULL
 	if ( parent == NULL ) {
 		throw runtime_error ("A parent is necessary to split a complex shape.");
 	}
 
+	bool use_dismember_partitions = false;
+
+	if( dismemberPartitionsFaces.size() > 0 ) {
+		if( dismemberPartitionsFaces.size() != faces.size() ) {
+			throw runtime_error ("The number of faces mapped to skin partitions is different from the actual face count.");
+		}
+		if(dismemberPartitionsBodyParts.size() == 0) {
+			throw runtime_error ("The number of dismember partition body parts can't be 0.");
+		}
+
+		use_dismember_partitions = true;
+	}
+	
 	//There will be one NiTriShape per property group
 	//with a minimum of 1
 	unsigned int num_shapes = (unsigned int)(propGroups.size());
@@ -577,7 +767,7 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 
 	parent->AddChild( root );
 
-	//Set transfrm of root
+	//Set transform of root
 	root->SetLocalTransform( transform );
 
 	//Create NiTriShapeData and fill it out with all data that is relevant
@@ -600,6 +790,15 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 		//List of triangles for the final shape to use
 		vector<Triangle> shapeTriangles;
 
+		//a vector that holds in what dismember groups or skin partition does each face belong
+		vector<BodyPartList> current_dismember_partitions = dismemberPartitionsBodyParts;
+
+		//create a map betweem the faces and the dismember groups
+		vector<int> current_dismember_partitions_faces;
+
+		//since we might have dismember partitions the face index is also required
+		int current_face_index = 0;
+
 		//Loop through all faces, and all points on each face
 		//to set the vertices in the CompoundVertex list
 		for ( vector<ComplexFace>::const_iterator face = faces.begin(); face != faces.end(); ++face ) {
@@ -668,30 +867,97 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 				//Next Point
 			}
 
-			//Starting from vertex 0, create a fan of triangles to fill
-			//in non-triangle polygons
-			Triangle new_face;
-			for ( unsigned int i = 0; i < shapeFacePoints.size() - 2; ++i ) {
-				new_face[0] = shapeFacePoints[0];
-				new_face[1] = shapeFacePoints[i+1];
-				new_face[2] = shapeFacePoints[i+2];
+			if(use_dismember_partitions == false) {
+				//Starting from vertex 0, create a fan of triangles to fill
+				//in non-triangle polygons
+				Triangle new_face;
+				for ( unsigned int i = 0; i < shapeFacePoints.size() - 2; ++i ) {
+					new_face[0] = shapeFacePoints[0];
+					new_face[1] = shapeFacePoints[i+1];
+					new_face[2] = shapeFacePoints[i+2];
+
+					//Push the face into the face list
+					shapeTriangles.push_back(new_face);
+				}
 
-				//Push the face into the face list
-				shapeTriangles.push_back(new_face);
+				//Next Face
+			} else {
+				//Starting from vertex 0, create a fan of triangles to fill
+				//in non-triangle polygons
+				Triangle new_face;
+				for ( unsigned int i = 0; i < shapeFacePoints.size() - 2; ++i ) {
+					new_face[0] = shapeFacePoints[0];
+					new_face[1] = shapeFacePoints[i+1];
+					new_face[2] = shapeFacePoints[i+2];
+
+					//Push the face into the face list
+					shapeTriangles.push_back(new_face);
+
+					//all the resulting triangles belong in the the same dismember partition or better said skin partition
+					current_dismember_partitions_faces.push_back(dismemberPartitionsFaces[current_face_index]);
+				}
+			}
+			current_face_index++;
+		}
+
+		//Clean up the dismember skin partitions
+		//if no face points to a certain dismember partition then that dismember partition must be removed
+		if(use_dismember_partitions == true) {
+			vector<bool> used_dismember_groups(current_dismember_partitions.size(), false);
+			for(unsigned int x = 0; x < current_dismember_partitions_faces.size(); x++) {
+				if(used_dismember_groups[current_dismember_partitions_faces[x]] == false) {
+					used_dismember_groups[current_dismember_partitions_faces[x]] = true;
+				}	
 			}
 
-			//Next Face
+			vector<BodyPartList> cleaned_up_dismember_partitions;
+			for(unsigned int x = 0; x < current_dismember_partitions.size(); x++) {
+				if (used_dismember_groups[x] == false) {
+					for(unsigned int y = 0; y < current_dismember_partitions_faces.size(); y++) {
+						if(current_dismember_partitions_faces[y] > x) {
+							current_dismember_partitions_faces[y]--;
+						}
+					}
+				} else {
+					cleaned_up_dismember_partitions.push_back(current_dismember_partitions[x]);
+				} 
+			}
+			current_dismember_partitions = cleaned_up_dismember_partitions;
 		}
 
 		//Attatch properties if any
+		//Check if the properties are skyrim specific in which case attach them in the 2 special slots called bs_properties
 		if ( propGroups.size() > 0 ) {
-			for ( vector<NiPropertyRef>::const_iterator prop = propGroups[shape_num].begin(); prop != propGroups[shape_num].end(); ++prop ) {
-				shapes[shape_num]->AddProperty( *prop );						
+			BSLightingShaderPropertyRef shader_property = NULL;
+
+			for(vector<NiPropertyRef>::const_iterator prop = propGroups[shape_num].begin(); prop != propGroups[shape_num].end(); ++prop ) {
+				NiPropertyRef current_property = *prop;
+				if(current_property->GetType().IsSameType(BSLightingShaderProperty::TYPE)) {
+					shader_property = DynamicCast<BSLightingShaderProperty>(current_property);
+					break;
+				}
+			}
+
+			if(shader_property == NULL) {
+				for ( vector<NiPropertyRef>::const_iterator prop = propGroups[shape_num].begin(); prop != propGroups[shape_num].end(); ++prop ) {
+					shapes[shape_num]->AddProperty( *prop );						
+				}
+			} else {
+				NiAlphaPropertyRef alpha_property = NULL;
+				for ( vector<NiPropertyRef>::const_iterator prop = propGroups[shape_num].begin(); prop != propGroups[shape_num].end(); ++prop ) {
+					if ((*prop)->GetType().IsSameType(NiAlphaProperty::TYPE)) {
+						alpha_property = DynamicCast<NiAlphaProperty>((*prop));
+					}						
+				}
+				array<2, NiPropertyRef> bs_properties;
+				bs_properties[0] = shader_property;
+				bs_properties[1] = alpha_property;
+				shapes[shape_num]->setBsProperties(bs_properties);
 			}
 		}
 
 		//--Set Shape Data--//
-
+		
 		//lists to hold data
 		vector<Vector3> shapeVerts( compVerts.size() );
 		vector<Vector3> shapeNorms( compVerts.size() );
@@ -701,7 +967,7 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 		map<NiNodeRef, vector<SkinWeight> > shapeWeights;
 
 		//Search for a NiTexturingProperty to build list of
-		//texture cooridinate sets to create
+		//texture coordinates sets to create
 		NiPropertyRef niProp = shapes[shape_num]->GetPropertyByType( NiTexturingProperty::TYPE );
 		NiTexturingPropertyRef niTexProp;
 		if ( niProp != NULL ) {
@@ -744,7 +1010,7 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 			SkinWeight sk;
 			for ( map<NiNodeRef, float>::iterator wt = cv->weights.begin(); wt != cv->weights.end(); ++wt ) {
 				//Only record influences that make a noticable contribution
-				if ( wt->second > 0.1f ) {
+				if ( wt->second > min_vertex_weight ) {
 					sk.index = vert_index;
 					sk.weight = wt->second;
 					if ( shapeWeights.find( wt->first ) == shapeWeights.end() ) {
@@ -782,7 +1048,14 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 				shapeInfluences.push_back( inf->first );
 			}
 
-			shapes[shape_num]->BindSkin( shapeInfluences );
+			if(use_dismember_partitions == false) {
+				shapes[shape_num]->BindSkin( shapeInfluences );
+			} else {
+				shapes[shape_num]->BindSkinWith( shapeInfluences, BSDismemberSkinInstance::Create );
+				BSDismemberSkinInstanceRef dismember_skin = DynamicCast<BSDismemberSkinInstance>(shapes[shape_num]->GetSkinInstance());
+				dismember_skin->SetPartitions(current_dismember_partitions);
+			}
+			
 
 			for ( unsigned int inf = 0; inf < shapeInfluences.size(); ++inf ) {
 				shapes[shape_num]->SetBoneWeights( inf, shapeWeights[ shapeInfluences[inf] ] );
@@ -790,8 +1063,18 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 
 			shapes[shape_num]->NormalizeSkinWeights();
 
-			if ( max_bones_per_partition > 0 ) {
-				shapes[shape_num]->GenHardwareSkinInfo( max_bones_per_partition );
+			if(use_dismember_partitions == true ) {
+				int* face_map = new int[current_dismember_partitions_faces.size()];
+				for(unsigned int x = 0; x < current_dismember_partitions_faces.size(); x++) {
+					face_map[x] = current_dismember_partitions_faces[x];
+				}
+				shapes[ shape_num]->GenHardwareSkinInfo( max_bones_per_partition, 4, stripify, face_map);
+				delete[] face_map;
+
+				BSDismemberSkinInstanceRef dismember_skin = DynamicCast<BSDismemberSkinInstance>(shapes[ shape_num]->GetSkinInstance());
+				dismember_skin->SetPartitions(current_dismember_partitions);
+			} else if ( max_bones_per_partition > 0 ) {
+				shapes[shape_num]->GenHardwareSkinInfo( max_bones_per_partition, 4, stripify);
 			}
 
 			//NiSkinInstanceRef skinInst = shapes[shape_num]->GetSkinInstance();
@@ -809,7 +1092,15 @@ Ref<NiAVObject> ComplexShape::Split( NiNode * parent, Matrix44 & transform, int
 
 		//If tangent space was requested, generate it
 		if ( tangent_space ) {
-			shapes[shape_num]->UpdateTangentSpace();
+			if(tspace_flags == 0) {
+				shapes[shape_num]->UpdateTangentSpace();
+			} else {
+				if(shapes[shape_num]->GetData() != NULL) {
+					shapes[shape_num]->GetData()->SetUVSetCount(1);
+					shapes[shape_num]->GetData()->SetTspaceFlag(tspace_flags);
+					shapes[shape_num]->UpdateTangentSpace(1);
+				}
+			}
 		}
 		
 		//Next Shape
diff --git a/src/MatTexCollection.cpp b/src/MatTexCollection.cpp
index a8ae354d47849d54d6bc8a07d4d272f005c51e7d..27cff1adf3319b95265eacb650823d14792ae9f5 100644
--- a/src/MatTexCollection.cpp
+++ b/src/MatTexCollection.cpp
@@ -13,6 +13,7 @@ All rights reserved.  Please see niflib.h for license. */
 #include "../include/obj/NiAlphaProperty.h"
 #include "../include/obj/NiSourceTexture.h"
 #include "../include/obj/NiImage.h"
+#include "../include/obj/NiStencilProperty.h"
 
 namespace Niflib {
 
@@ -41,9 +42,10 @@ void MatTexCollection::GatherMaterials( NiAVObject * scene_root ) {
 			NiPropertyRef multi = scene_root->GetPropertyByType( NiMultiTextureProperty::TYPE );
 			NiPropertyRef spec = scene_root->GetPropertyByType( NiSpecularProperty::TYPE );
 			NiPropertyRef alpha = scene_root->GetPropertyByType( NiAlphaProperty::TYPE );
+			NiPropertyRef stencil = scene_root->GetPropertyByType( NiStencilProperty::TYPE);
 
 			//Make sure at least one isn't NULL
-			if ( mat != NULL || texing != NULL || tex != NULL || multi != NULL ) {
+			if ( mat != NULL || texing != NULL || tex != NULL || multi != NULL || stencil != NULL) {
 				//One isn't NULL, so create a new Material
 
 				NiMaterialPropertyRef matC = DynamicCast<NiMaterialProperty>(mat);
@@ -52,6 +54,7 @@ void MatTexCollection::GatherMaterials( NiAVObject * scene_root ) {
 				NiMultiTexturePropertyRef multiC = DynamicCast<NiMultiTextureProperty>(multi);
 				NiSpecularPropertyRef specC = DynamicCast<NiSpecularProperty>(spec);
 				NiAlphaPropertyRef alphaC = DynamicCast<NiAlphaProperty>(alpha);
+				NiStencilPropertyRef stencilC = DynamicCast<NiStencilProperty>(stencil);
 
 				//First, check if the material's textures have been found yet
 
@@ -82,7 +85,7 @@ void MatTexCollection::GatherMaterials( NiAVObject * scene_root ) {
 				//TODO: Implement this for NiMultiTextureProperty as well
 
 
-				materials.push_back( MaterialWrapper( matC, texingC, texC, multiC, specC, alphaC, this ) );
+				materials.push_back( MaterialWrapper( matC, texingC, texC, multiC, specC, alphaC, stencilC, this ) );
 			}
 		}
 		//Done with this branch, so return.
@@ -137,14 +140,15 @@ unsigned int MatTexCollection::GetMaterialIndex( NiAVObject * obj ) {
 	return GetMaterialIndex( properties );
 }
 
-unsigned int MatTexCollection::GetMaterialIndex( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha ) {
+unsigned int MatTexCollection::GetMaterialIndex( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha, NiStencilProperty * stencil ) {
 	for( size_t i = 0; i < materials.size(); ++i ) {
 		if ( materials[i].mat_prop == mat &&
 			 materials[i].texing_prop == texing &&
 			 materials[i].tex_prop == tex &&
 			 materials[i].multi_prop == multi &&
 			 materials[i].spec_prop == spec &&
-			 materials[i].alpha_prop == alpha ) {
+			 materials[i].alpha_prop == alpha &&
+			 materials[i].stencil_prop == stencil) {
 				 //Match found, return its index
 				 return i;
 		}
@@ -186,6 +190,7 @@ unsigned int MatTexCollection::GetMaterialIndex( const vector< Ref<NiProperty> >
 	NiMultiTexturePropertyRef multi = NULL;
 	NiSpecularPropertyRef spec = NULL;
 	NiAlphaPropertyRef alpha = NULL;
+	NiStencilPropertyRef stencil = NULL;
 
 	for ( unsigned i = 0; i < properties.size(); ++i ) {
 		if ( properties[i] == NULL ) {
@@ -203,11 +208,13 @@ unsigned int MatTexCollection::GetMaterialIndex( const vector< Ref<NiProperty> >
 			spec = DynamicCast<NiSpecularProperty>( properties[i] );
 		} else if ( properties[i]->IsDerivedType( NiAlphaProperty::TYPE ) ) {
 			alpha = DynamicCast<NiAlphaProperty>( properties[i] );
+		} else if ( properties[i]->IsDerivedType( NiStencilProperty::TYPE )) {
+			stencil = DynamicCast<NiStencilProperty>( properties[i] );
 		}
 	}
 
 	//Do the search
-	return GetMaterialIndex( mat, texing, tex, multi, spec, alpha );
+	return GetMaterialIndex( mat, texing, tex, multi, spec, alpha, stencil );
 }
 
 unsigned int MatTexCollection::CreateTexture( unsigned int version ) {
@@ -241,6 +248,7 @@ unsigned int MatTexCollection::CreateMaterial( bool color, bool texture, bool mu
 	NiMultiTexturePropertyRef multi = NULL;
 	NiSpecularPropertyRef spec = NULL;
 	NiAlphaPropertyRef alpha = NULL;
+	NiStencilPropertyRef stencil = NULL;
 
 	if ( color == true ) {
 		mat = new NiMaterialProperty;
@@ -268,7 +276,7 @@ unsigned int MatTexCollection::CreateMaterial( bool color, bool texture, bool mu
 	}
 
 	//Create Material and add it to the array
-	materials.push_back( MaterialWrapper( mat, texing, tex, multi, spec, alpha, this ) );
+	materials.push_back( MaterialWrapper( mat, texing, tex, multi, spec, alpha, stencil, this ) );
 
 	//Return the index of the newly created material
 	return materials.size() - 1;
@@ -276,13 +284,14 @@ unsigned int MatTexCollection::CreateMaterial( bool color, bool texture, bool mu
 
 //MaterialWrapper//////////////////////////////////////////////////////////////
 
-MaterialWrapper::MaterialWrapper( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha, MatTexCollection * creator ) {
+MaterialWrapper::MaterialWrapper( NiMaterialProperty * mat, NiTexturingProperty * texing, NiTextureProperty * tex, NiMultiTextureProperty * multi, NiSpecularProperty * spec, NiAlphaProperty * alpha, NiStencilProperty * stencil, MatTexCollection * creator ) {
 	mat_prop = mat;
 	texing_prop = texing;
 	tex_prop = tex;
 	multi_prop = multi;
 	spec_prop = spec;
 	alpha_prop = alpha;
+	stencil_prop = stencil;
 	_creator = creator;
 }
 
@@ -308,6 +317,9 @@ void MaterialWrapper::ApplyToObject( NiAVObject * target ) {
 	if ( alpha_prop != NULL ) {
 		target->AddProperty( alpha_prop );
 	}
+	if ( stencil_prop != NULL) {
+		target->AddProperty( stencil_prop );
+	}
 }
 
 vector< Ref<NiProperty> > MaterialWrapper::GetProperties() {
@@ -338,6 +350,10 @@ vector< Ref<NiProperty> > MaterialWrapper::GetProperties() {
 		prop = StaticCast<NiProperty>(alpha_prop);
 		properties.push_back(prop);
 	}
+	if( stencil_prop != NULL ) {
+		prop = StaticCast<NiProperty>(stencil_prop);
+		properties.push_back(prop);
+	}
 
 	return properties;
 }
diff --git a/src/RefObject.cpp b/src/RefObject.cpp
index 6db8980df19b243163ec237a825acbaf2551f554..9d92a736bc010004fd8145f04cf72ebaa7e7c280 100644
--- a/src/RefObject.cpp
+++ b/src/RefObject.cpp
@@ -12,6 +12,11 @@ RefObject::RefObject() {
 	objectsInMemory++;
 }
 
+RefObject::RefObject(const RefObject& src) {
+	_ref_count = 0;
+	objectsInMemory++;
+}
+
 RefObject::~RefObject() {
 	objectsInMemory--;
 }
diff --git a/src/Type.cpp b/src/Type.cpp
index 09639ef7baa091a188c8709780c83e0b881c2c8f..3fa1c32710aa200b2502dedf7d4307660355bc51 100644
--- a/src/Type.cpp
+++ b/src/Type.cpp
@@ -9,6 +9,8 @@ int Type::num_types = 0;
 
 Type::Type (const string & type_name, const Type * par_type ) : name(type_name), base_type(par_type), internal_type_number(num_types++) {} 
 
+Type::Type(const Type& src) : name(src.name), base_type(src.base_type), internal_type_number(src.internal_type_number) {}
+
 Type::~Type() {}
 
 bool Type::operator<( const Type & compare_to ) const {
diff --git a/src/gen/Header.cpp b/src/gen/Header.cpp
index ff77a3df8e0484aec4d6fcc8421dd267f6a04bd8..54ec22d652975218038bba01afec25d06ff5066b 100644
--- a/src/gen/Header.cpp
+++ b/src/gen/Header.cpp
@@ -284,4 +284,34 @@ string Header::asString( bool verbose ) const {
 }
 
 //--BEGIN MISC CUSTOM CODE--//
+
+HeaderString Header::getHeaderString() {
+	return headerString;
+}
+
+unsigned int Header::getVersion() {
+	return version;
+}
+
+EndianType Header::getEndianType() {
+	return endianType;
+}
+
+unsigned int Header::getUserVersion() {
+	return userVersion;
+}
+
+unsigned int Header::getUserVersion2() {
+	return userVersion2;
+}
+
+vector<string> Header::getBlockTypes() {
+	return blockTypes;
+}
+
+
+vector<unsigned short> Niflib::Header::getBlockTypeIndex() {
+	return blockTypeIndex;
+}
+
 //--END CUSTOM CODE--//
diff --git a/src/nif_math.cpp b/src/nif_math.cpp
index a7ffb8d4bb9e1699d872c70a36a8f382da157aaf..561d7ad36e82d808478879f76ffe63a979b4afd1 100644
--- a/src/nif_math.cpp
+++ b/src/nif_math.cpp
@@ -298,6 +298,10 @@ Matrix33::Matrix33() {
 	*this = Matrix33::IDENTITY;
 }
 
+Matrix33::Matrix33(const Matrix33& src) {
+	*this = src;
+}
+
 Quaternion Matrix33::AsQuaternion() const {
 	Quaternion quat;
 	float tr, s, q[4];
diff --git a/src/niflib.cpp b/src/niflib.cpp
index 673227db0ec88532c457df951831e0b37e7c1923..ec123aece3e9cd9356064a509b0b365ca9106add 100644
--- a/src/niflib.cpp
+++ b/src/niflib.cpp
@@ -114,6 +114,34 @@ unsigned int GetNifVersion( string const & file_name ) {
 	return info.version;
 }
 
+
+NifInfo ReadHeaderInfo( string const & file_name ) {
+	//--Open File--//
+	ifstream in( file_name.c_str(), ifstream::binary );
+
+	//--Read Header Info--//
+
+	Header nif_header;
+	NifInfo info;
+	info = nif_header.Read(in);
+
+	return info;
+}
+
+
+Header ReadHeader( string const & file_name ) {
+	ifstream in( file_name.c_str(), ifstream::binary );
+
+	//--Read Header Info--//
+
+	Header nif_header;
+	nif_header.Read(in);
+
+	return nif_header;
+}
+
+
+
 vector<NiObjectRef> ReadNifList( string const & file_name, NifInfo * info ) {
 
 	//--Open File--//
diff --git a/src/nifqhull.cpp b/src/nifqhull.cpp
index cfb8dbc916e432de46b8444eb5d8aeff8cf1c27d..f8c7c3f7fcdf95142d2b61473dc4c8be887c408d 100644
--- a/src/nifqhull.cpp
+++ b/src/nifqhull.cpp
@@ -25,6 +25,7 @@ extern "C"
 #include "../qhull/src/libqhull/poly2.c"
 #include "../qhull/src/libqhull/geom2.c"
 #include "../qhull/src/libqhull/userprintf.c"
+#include "../qhull/src/libqhull/userprintf_rbox.c"
 #include "../qhull/src/libqhull/usermem.c"
 #include "../qhull/src/libqhull/random.c"
 #include "../qhull/src/libqhull/rboxlib.c"
diff --git a/src/obj/BSDismemberSkinInstance.cpp b/src/obj/BSDismemberSkinInstance.cpp
index 3427ee47c24d9c115a1435b8446fed4e25151e83..182cd7ed748d96edc22bb85489d1ee6c15ae36d5 100644
--- a/src/obj/BSDismemberSkinInstance.cpp
+++ b/src/obj/BSDismemberSkinInstance.cpp
@@ -127,7 +127,10 @@ vector<BodyPartList > BSDismemberSkinInstance::GetPartitions() const {
 }
 
 void BSDismemberSkinInstance::SetPartitions( const vector<BodyPartList >& value ) {
-   partitions = value;
+   partitions.clear();
+   for(unsigned int i = 0; i < value.size(); i++) {
+	   partitions.push_back(value[i]);
+   }
 }
 
 //--END CUSTOM CODE--//
diff --git a/src/obj/BSLightingShaderProperty.cpp b/src/obj/BSLightingShaderProperty.cpp
index e0c64442c404e38875bea0306f92681f685d926a..531bbe9f0cdda66d9d2da8649c69b14b05fd918e 100644
--- a/src/obj/BSLightingShaderProperty.cpp
+++ b/src/obj/BSLightingShaderProperty.cpp
@@ -256,4 +256,190 @@ std::list<NiObject *> BSLightingShaderProperty::GetPtrs() const {
 
 //--BEGIN MISC CUSTOM CODE--//
 
+unsigned int BSLightingShaderProperty::getShaderFlags1() {
+	return shaderFlags1;
+}
+
+void BSLightingShaderProperty::setShaderFlags1( unsigned int value ) {
+	shaderFlags1 = value;
+}
+
+unsigned int BSLightingShaderProperty::getShaderFlags2() {
+	return shaderFlags2;
+}
+
+void BSLightingShaderProperty::setShaderFlags2( unsigned int value ) {
+	shaderFlags2 = value;
+}
+
+TexCoord BSLightingShaderProperty::getTextureTranslation1() {
+	return textureTranslation1;
+}
+
+void BSLightingShaderProperty::setTextureTranslation1( TexCoord value ) {
+	textureTranslation1 = value;
+}
+
+TexCoord BSLightingShaderProperty::getTextureRepeat() {
+	return textureRepeat;
+}
+
+void BSLightingShaderProperty::setTextureRepeat( TexCoord value ) {
+	textureRepeat = value;
+}
+
+Ref<BSShaderTextureSet > BSLightingShaderProperty::getTextureSet() {
+	return textureSet;
+}
+
+void BSLightingShaderProperty::setTextureSet( BSShaderTextureSet * value ) {
+	textureSet = value;
+}
+
+Color3 BSLightingShaderProperty::getEmissiveColor() {
+	return emissiveColor;
+}
+
+void BSLightingShaderProperty::setEmissiveColor( Color3 value ) {
+	emissiveColor = value;
+}
+
+float BSLightingShaderProperty::getEmissiveSaturation() {
+	return emissiveSaturation;
+}
+
+void BSLightingShaderProperty::setEmissiveSaturation( float value ) {
+	emissiveSaturation = value;
+}
+
+unsigned int BSLightingShaderProperty::getUnkownInt7() {
+	return unknownInt7;
+}
+
+void BSLightingShaderProperty::setUnknownInt7( unsigned int value ) {
+	unknownInt7 = value;
+}
+
+float BSLightingShaderProperty::getAlpha() {
+	return alpha;
+}
+
+void BSLightingShaderProperty::setAlpha( float value ) {
+	alpha = value;
+}
+
+float BSLightingShaderProperty::getUnknownFloat2() {
+	return unknownFloat2;
+}
+
+
+void BSLightingShaderProperty::setUnknownFloat2( float value ) {
+	unknownFloat2 = value;
+}
+
+
+float BSLightingShaderProperty::getGlossiness() {
+	return glossiness;
+}
+
+void BSLightingShaderProperty::setGlossiness( float value ) {
+	glossiness = value;
+}
+
+Color3 BSLightingShaderProperty::getSpecularColor() {
+	return specularColor;
+}
+
+void BSLightingShaderProperty::setSpecularColor( Color3 value ) {
+	specularColor = value;
+}
+
+float BSLightingShaderProperty::getSpecularStrength() {
+	return specularStrength;
+}
+
+void BSLightingShaderProperty::setSpecularStrength( float value ) {
+	specularStrength = value;
+}
+
+float BSLightingShaderProperty::getLightningEffect1() {
+	return lightingEffect1;
+}
+
+void BSLightingShaderProperty::setLightningEffect1( float value ) {
+	lightingEffect1 = value;
+}
+
+float BSLightingShaderProperty::getLightningEffect2() {
+	return lightingEffect2;
+}
+
+void BSLightingShaderProperty::setLightningEffect2( float value ) {
+	lightingEffect2 = value;
+}
+
+float BSLightingShaderProperty::getEnvironmentMapStrength() {
+	return environmentMapStrength;
+}
+
+void BSLightingShaderProperty::setEnvironmentMapStrength( float value ) {
+	environmentMapStrength = value;
+}
+
+array<2, float> BSLightingShaderProperty::getUnknownFloatSet3() {
+	return unknownFloatSet3;
+}
+
+void BSLightingShaderProperty::setUnknownFloatSet3( array<2, float> value ) {
+	unknownFloatSet3 = value;
+}
+
+float BSLightingShaderProperty::getUnknownFloat9() {
+	return unknownFloat9;
+}
+
+void BSLightingShaderProperty::setUnknownFloat9( float value ) {
+	unknownFloat9 = value;
+}
+
+Color4 BSLightingShaderProperty::getUnknownColor2() {
+	return unknownColor2;
+}
+
+void BSLightingShaderProperty::setUnknownColor2( Color4 value ) {
+	unknownColor2 = value;
+}
+
+Vector4 BSLightingShaderProperty::getUnknownFloatSet5() {
+	return unknownFloatSet5;
+}
+
+void BSLightingShaderProperty::setUnknownFloatSet5( Vector4 value ) {
+	unknownFloatSet5 = value;
+}
+
+float BSLightingShaderProperty::getEyeCubemapScale() {
+	return eyeCubemapScale;
+}
+
+void BSLightingShaderProperty::setEyeCubemapScale( float value ) {
+	eyeCubemapScale = value;
+}
+
+Vector3 BSLightingShaderProperty::getLeftEyeReflectionCenter() {
+	return leftEyeReflectionCenter;
+}
+
+void BSLightingShaderProperty::setLeftEyeReflectionCenter( Vector3 value ) {
+	leftEyeReflectionCenter = value;
+}
+
+Vector3 BSLightingShaderProperty::getRightEyeReflectionCenter() {
+	return rightEyeReflectionCenter;
+}
+
+void BSLightingShaderProperty::setRightEyeReflectionCenter( Vector3 value ) {
+	rightEyeReflectionCenter = value;
+}
+
 //--END CUSTOM CODE--//
diff --git a/src/obj/BSShaderTextureSet.cpp b/src/obj/BSShaderTextureSet.cpp
index 895452f7e7717da558b04fead17072018db3897d..66144f6ae4feb8288c642ba2f625824c11686ca5 100644
--- a/src/obj/BSShaderTextureSet.cpp
+++ b/src/obj/BSShaderTextureSet.cpp
@@ -129,21 +129,21 @@ std::list<NiObject *> BSShaderTextureSet::GetPtrs() const {
 
 //--BEGIN MISC CUSTOM CODE--//
 
-vector<string > BSShaderTextureSet::GetTextures() const {
+vector<string > BSShaderTextureSet::getTextures() const {
 	return textures;
 }
 
-void BSShaderTextureSet::SetTextures( const vector<string >& value ) {
+void BSShaderTextureSet::setTextures( const vector<string >& value ) {
 	textures = value;
 }
 
-string BSShaderTextureSet::GetTexture(size_t i) const {
+string BSShaderTextureSet::getTexture(size_t i) const {
 	if (i >= textures.size())
 		throw runtime_error("Invalid Texture Index specified");
 	return textures[i];
 }
 
-void BSShaderTextureSet::SetTexture( size_t i, const string& value) {
+void BSShaderTextureSet::setTexture( size_t i, const string& value) {
 	if (i >= textures.size())
 		textures.resize(i+1);
 	textures[i] = value;
diff --git a/src/obj/NiAVObject.cpp b/src/obj/NiAVObject.cpp
index 0c2197bd939426556e89ca129771adce32860dd2..7805fa68703cdf39caf352a55990ac534d3c9411 100644
--- a/src/obj/NiAVObject.cpp
+++ b/src/obj/NiAVObject.cpp
@@ -26,6 +26,9 @@ const Type NiAVObject::TYPE("NiAVObject", &NiObjectNET::TYPE );
 NiAVObject::NiAVObject() : flags((unsigned short)0), unknownShort1((unsigned short)8), scale(1.0f), numProperties((unsigned int)0), unknown2((byte)0), hasBoundingBox(false), collisionObject(NULL) {
 	//--BEGIN CONSTRUCTOR CUSTOM CODE--//
 
+	parent = NULL;
+
+
 	parent = NULL;
 
 	//--END CUSTOM CODE--//
diff --git a/src/obj/NiBSplineData.cpp b/src/obj/NiBSplineData.cpp
index 13708c6e2da8b42236564c9659bef0a4207d046e..5923c446e263745dc5b2f8fe7143ea9ae4e6118f 100644
--- a/src/obj/NiBSplineData.cpp
+++ b/src/obj/NiBSplineData.cpp
@@ -147,6 +147,30 @@ vector<float> NiBSplineData::GetFloatControlPoints() const
 	return floatControlPoints;
 }
 
+void NiBSplineData::SetFloatControlPoints( vector<float> value ) 
+{
+	this->floatControlPoints.clear();
+	this->numFloatControlPoints = value.size();
+
+	for(unsigned int i = 0; i < value.size(); i++) {
+		this->floatControlPoints.push_back(value[i]);
+	}
+}
+
+void NiBSplineData::AppendFloatControlPoints( vector<float> value )
+{
+	this->numFloatControlPoints += value.size();
+
+	for(unsigned int i = 0; i < value.size(); i++) {
+		this->floatControlPoints.push_back(value[i]);
+	}
+}
+
+int NiBSplineData::GetNumFloatControlPoints()
+{
+	return this->numFloatControlPoints;
+}
+
 vector<float> NiBSplineData::GetFloatControlPointRange(int offset, int count) const
 {
 	vector<float> value;
@@ -163,6 +187,32 @@ vector<short > NiBSplineData::GetShortControlPoints() const
 	return shortControlPoints;
 }
 
+void NiBSplineData::SetShortControlPoints( vector<short> value )
+{
+	this->shortControlPoints.clear();
+	this->numShortControlPoints = value.size();
+
+	for(unsigned int i = 0; i < value.size(); i++) {
+		this->shortControlPoints.push_back(value[i]);
+	}
+}
+
+void NiBSplineData::AppendShortControlPoints( vector<short> value )
+{
+	this->numShortControlPoints += value.size();
+
+	for(unsigned int i = 0; i < value.size(); i++) {
+		this->shortControlPoints.push_back(value[i]);
+	}
+}
+
+
+int NiBSplineData::GetNumShortControlPoints()
+{
+	return this->numShortControlPoints;
+}
+
+
 vector<short > NiBSplineData::GetShortControlPointRange(int offset, int count) const
 {
    vector<short> value;
diff --git a/src/obj/NiBSplineTransformInterpolator.cpp b/src/obj/NiBSplineTransformInterpolator.cpp
index dcd74704b8ce60301662eb3c5f342f0e6b3df88d..cd81a1dfb07c316cdd9eb1fc4ee0e036fdd635a9 100644
--- a/src/obj/NiBSplineTransformInterpolator.cpp
+++ b/src/obj/NiBSplineTransformInterpolator.cpp
@@ -124,6 +124,14 @@ void NiBSplineTransformInterpolator::SetTranslation( Vector3 value ) {
 	translation = value;
 }
 
+int NiBSplineTransformInterpolator::GetTranslationOffset() {
+	return translationOffset;
+}
+
+void NiBSplineTransformInterpolator::SetTranslationOffset( int value ) {
+	translationOffset = value;
+}
+
 Quaternion NiBSplineTransformInterpolator::GetRotation() const {
 	return rotation;
 }
@@ -132,6 +140,14 @@ void NiBSplineTransformInterpolator::SetRotation( Quaternion value ) {
 	rotation = value;
 }
 
+int NiBSplineTransformInterpolator::GetRotationOffset() {
+	return rotationOffset;
+}
+
+void NiBSplineTransformInterpolator::SetRotationOffset( int value ) {
+	rotationOffset = value;
+}
+
 float NiBSplineTransformInterpolator::GetScale() const {
 	return scale;
 }
@@ -140,6 +156,13 @@ void NiBSplineTransformInterpolator::SetScale( float value ) {
 	scale = value;
 }
 
+int NiBSplineTransformInterpolator::GetScaleOffset() {
+	return scaleOffset;
+}
+
+void Niflib::NiBSplineTransformInterpolator::SetScaleOffset( int value ) {
+	scaleOffset = value;
+}
 
 vector< Quaternion > NiBSplineTransformInterpolator::GetQuatRotateControlData() const
 {
diff --git a/src/obj/NiControllerSequence.cpp b/src/obj/NiControllerSequence.cpp
index 7fcde4ee9271b0312b087bbe0fa9030e6897b33e..cf6e3eb06685abd38d721f36819451f046f38ee3 100644
--- a/src/obj/NiControllerSequence.cpp
+++ b/src/obj/NiControllerSequence.cpp
@@ -377,6 +377,110 @@ void NiControllerSequence::AddInterpolator( NiSingleInterpController * obj, byte
 	controlledBlocks.push_back( cl );
 }
 
+
+void NiControllerSequence::AddInterpolator( NiSingleInterpController * obj, byte priority , bool include_string_pallete ) {
+	//Make sure the link isn't null
+	if ( obj == NULL ) {
+		throw runtime_error("Attempted to add a null controller to NiControllerSequence block.");
+	}
+
+	NiInterpolatorRef interp = obj->GetInterpolator();
+	if ( interp == NULL ) {
+		throw runtime_error("Controller must have an interpolator attached to be added to a NiControllerSequence with the AddInterpolator function.");
+	}
+
+	NiObjectNETRef target = obj->GetTarget();
+	if ( target == NULL ) {
+		throw runtime_error("Controller must have a target to be added to a NiControllerSequence.");
+	}
+
+
+
+	//Make a new ControllerLink and fill out necessary data
+	ControllerLink cl;
+
+	NiPropertyRef prop = DynamicCast<NiProperty>(target);
+
+	cl.interpolator = interp;
+	cl.priority = priority;
+	if(include_string_pallete == true) {
+		//If there are existing ControllerLinks, use the same StringPalette they're using
+		if ( stringPalette == NULL ) {
+			stringPalette = new NiStringPalette;
+		}
+
+		cl.stringPalette = stringPalette;
+		cl.nodeNameOffset = stringPalette->AddSubStr( target->GetName() );
+		
+		if ( prop != NULL ) {
+			cl.propertyTypeOffset = stringPalette->AddSubStr( prop->GetType().GetTypeName() );
+		}
+
+		cl.controllerTypeOffset = stringPalette->AddSubStr( obj->GetType().GetTypeName() );
+
+	} else {
+		cl.stringPalette = NULL;
+		cl.nodeName = target->GetName();
+		if(prop != NULL) {
+			cl.propertyType = prop->GetType().GetTypeName();
+		}
+		cl.controllerType = obj->GetType().GetTypeName();
+	}
+
+
+	//Add finished ControllerLink to list
+	controlledBlocks.push_back( cl );
+}
+
+
+void NiControllerSequence::AddGenericInterpolator( NiInterpolator * interpolator, NiObjectNET* target, string controller_type_name, byte priority /*= 0*/, bool include_string_pallete /*= true*/ ) {
+	//Make sure the parameters aren't null
+
+	if(interpolator == NULL) {
+		throw runtime_error("Attempted to add a null interpolator to the controller sequence");
+	}
+
+	if(target == NULL) {
+		throw runtime_error("Attempted to add a null target to the controller sequence");
+	}
+
+	//Make a new ControllerLink and fill out necessary data
+	ControllerLink cl;
+
+	NiPropertyRef prop = DynamicCast<NiProperty>(target);
+
+	cl.interpolator = interpolator;
+	cl.priority = priority;
+	if(include_string_pallete == true) {
+		//If there are existing ControllerLinks, use the same StringPalette they're using
+		if ( stringPalette == NULL ) {
+			stringPalette = new NiStringPalette;
+		}
+
+		cl.stringPalette = stringPalette;
+		cl.nodeNameOffset = stringPalette->AddSubStr( target->GetName() );
+
+		if ( prop != NULL ) {
+			cl.propertyTypeOffset = stringPalette->AddSubStr( prop->GetType().GetTypeName() );
+		}
+
+		cl.controllerTypeOffset = stringPalette->AddSubStr( controller_type_name );
+
+	} else {
+		cl.stringPalette = NULL;
+		cl.nodeName = target->GetName();
+		if(prop != NULL) {
+			cl.propertyType = prop->GetType().GetTypeName();
+		}
+		cl.controllerType = controller_type_name;
+	}
+
+	//Add finished ControllerLink to list
+	controlledBlocks.push_back( cl );
+}
+
+
+
 void NiControllerSequence::ClearControllerData() {
 	
 	throw runtime_error("The AddInterpolator function cannot be implemented until problems in the XML are solved.");
diff --git a/src/obj/NiGeometry.cpp b/src/obj/NiGeometry.cpp
index 69c72966ec9a746fe6766e7abb8a3bcb2cf7e68f..d6c486393e7bdc68d22d65f8d76d7dfe2d3fdd22 100644
--- a/src/obj/NiGeometry.cpp
+++ b/src/obj/NiGeometry.cpp
@@ -633,5 +633,24 @@ bool NiGeometry::HasShader() const {
    return hasShader;
 }
 
+Ref<NiProperty> NiGeometry::getBSProperty(short index) {
+	if ((index < 0) || (index > 1))   return NULL;
+	return bsProperties[index];
+}
+
+void NiGeometry::setBSProperty(short index, Niflib::Ref<NiProperty> value) {
+	if ((index >= 0) && (index <= 1))
+	{
+		bsProperties[index] = value;
+	}
+}
+
+array<2,Ref<NiProperty > > Niflib::NiGeometry::getBsProperties() {
+	return this->bsProperties;
+}
+
+void Niflib::NiGeometry::setBsProperties( array<2, Ref<NiProperty>> value ) {
+	this->bsProperties = value;
+}
 
 //--END CUSTOM CODE--//
diff --git a/src/obj/NiGeometryData.cpp b/src/obj/NiGeometryData.cpp
index 4ad2f1b1ba4bc926c6b45681bb2b48c93a851826..2d85d93393297300ae6eaddfbc3712b2e7186fcb 100644
--- a/src/obj/NiGeometryData.cpp
+++ b/src/obj/NiGeometryData.cpp
@@ -659,12 +659,12 @@ void NiGeometryData::SetBound(Vector3 const & center, float radius)
 
 
 byte NiGeometryData::GetTspaceFlag() const {
-   return numUvSets | bsNumUvSets;
+   return (numUvSets | bsNumUvSets) >> 8;
 }
 
 void NiGeometryData::SetTspaceFlag( byte value ) {
-   numUvSets = value;
-   bsNumUvSets = value;
+   numUvSets = ((value << 8) | numUvSets);
+   bsNumUvSets = ((value << 8) | bsNumUvSets);
 }
 
 bool NiGeometryData::GetHasNormals() const {
diff --git a/src/obj/NiObjectNET.cpp b/src/obj/NiObjectNET.cpp
index 5abdf991447ae320c7ddcaa4ce98fccf2b00334b..f19e1b1cdf27f22807a27b9bc376447ca6af7702 100644
--- a/src/obj/NiObjectNET.cpp
+++ b/src/obj/NiObjectNET.cpp
@@ -405,4 +405,12 @@ list< Ref<NiTimeController> > NiObjectNET::GetControllers() const {
 	return conts;
 }
 
+unsigned int NiObjectNET::GetSkyrimShaderType() {
+	return skyrimShaderType;
+}
+
+void NiObjectNET::SetSkyrimShaderType( unsigned int value ) {
+	skyrimShaderType = value;
+}
+
 //--END CUSTOM CODE--//
diff --git a/src/obj/bhkCompressedMeshShape.cpp b/src/obj/bhkCompressedMeshShape.cpp
index 91a10b5cba26cfefa902a42b95952efaafe1ddd6..7026d70c16adaf0175ca074680c5347dde6957b7 100644
--- a/src/obj/bhkCompressedMeshShape.cpp
+++ b/src/obj/bhkCompressedMeshShape.cpp
@@ -195,5 +195,20 @@ std::list<NiObject *> bhkCompressedMeshShape::GetPtrs() const {
 }
 
 //--BEGIN MISC CUSTOM CODE--//
+NiAVObject* bhkCompressedMeshShape::GetTarget() const {
+	return target;
+}
+
+void bhkCompressedMeshShape::SetTarget(NiAVObject* value) {
+	target = value;
+}
+
+Ref<bhkCompressedMeshShapeData> bhkCompressedMeshShape::GetData() const {
+	return data;
+}
+
+void bhkCompressedMeshShape::SetData(Ref<bhkCompressedMeshShapeData > value) {
+	data = value;
+}
 
 //--END CUSTOM CODE--//
diff --git a/src/obj/bhkCompressedMeshShapeData.cpp b/src/obj/bhkCompressedMeshShapeData.cpp
index a3f8a4d5a394ea64543e6b6f1a4ac722f4370bf1..1de92839ed2608ceb616eec3fbd7048e78c8a8b7 100644
--- a/src/obj/bhkCompressedMeshShapeData.cpp
+++ b/src/obj/bhkCompressedMeshShapeData.cpp
@@ -405,5 +405,154 @@ std::list<NiObject *> bhkCompressedMeshShapeData::GetPtrs() const {
 }
 
 //--BEGIN MISC CUSTOM CODE--//
+const unsigned int bhkCompressedMeshShapeData::GetBitsPerIndex() const {
+	return bitsPerIndex;
+}
+
+void bhkCompressedMeshShapeData::SetBitsPerIndex(unsigned int value) {
+	bitsPerIndex = value;
+}
+
+const unsigned int bhkCompressedMeshShapeData::GetBitsPerWIndex() const {
+	return bitsPerWIndex;
+}
+
+void bhkCompressedMeshShapeData::SetBitsPerWIndex(unsigned int value) {
+	bitsPerWIndex = value;
+}
+
+const unsigned int bhkCompressedMeshShapeData::GetMaskWIndex() const {
+	return maskWIndex;
+}
+
+void bhkCompressedMeshShapeData::SetMaskWIndex(unsigned int value) {
+	maskWIndex = value;
+}
+
+const unsigned int bhkCompressedMeshShapeData::GetMaskIndex() const {
+	return maskIndex;
+}
+
+void bhkCompressedMeshShapeData::SetMaskIndex(unsigned int value) {
+	maskIndex = value;
+}
+
+const float bhkCompressedMeshShapeData::GetError() const {
+	return error;
+}
+
+void bhkCompressedMeshShapeData::SetError(float value) {
+	error = value;
+}
+
+const Vector4 bhkCompressedMeshShapeData::GetBoundsMin() const {
+	return boundsMin;
+}
+
+void bhkCompressedMeshShapeData::SetBoundsMin(Vector4 value) {
+	boundsMin = value;
+}
+
+const Vector4 bhkCompressedMeshShapeData::GetBoundsMax() const {
+	return boundsMax;
+}
+
+void bhkCompressedMeshShapeData::SetBoundsMax(Vector4 value) {
+	boundsMax = value;
+}
+
+unsigned int bhkCompressedMeshShapeData::GetNumMaterials() const {
+	return numMaterials;
+}
+
+void bhkCompressedMeshShapeData::SetNumMaterials(unsigned int value) {
+	numMaterials = value;
+}
+
+const vector<bhkCMSD_Something> & bhkCompressedMeshShapeData::GetChunkMaterials() const {
+	return chunkMaterials;
+}
+
+unsigned int bhkCompressedMeshShapeData::SetChunkMaterials(vector<bhkCMSD_Something>& theChunkMaterials)
+{
+	numMaterials   = theChunkMaterials.size();
+	chunkMaterials = theChunkMaterials;
+	return numMaterials;
+}
+
+unsigned int bhkCompressedMeshShapeData::GetNumTransforms() const {
+	return numTransforms;
+}
+
+void bhkCompressedMeshShapeData::SetNumTransforms(unsigned int value) {
+	numTransforms = value;
+}
+
+const vector<bhkCMSDTransform> & bhkCompressedMeshShapeData::GetChunkTransforms() const {
+	return chunkTransforms;
+}
+
+unsigned int bhkCompressedMeshShapeData::SetChunkTransforms(vector<bhkCMSDTransform>& theChunkTransforms)
+{
+	numTransforms   = theChunkTransforms.size();
+	chunkTransforms = theChunkTransforms;
+	return numTransforms;
+}
+
+unsigned int bhkCompressedMeshShapeData::GetNumBigVerts() const {
+	return numBigVerts;
+}
+
+void bhkCompressedMeshShapeData::SetNumBigVerts(unsigned int value) {
+	numBigVerts = value;
+}
+
+const vector<Vector4> & bhkCompressedMeshShapeData::GetBigVerts() const {
+	return bigVerts;
+}
+
+unsigned int bhkCompressedMeshShapeData::SetBigVerts(vector<Vector4>& theBigVerts)
+{
+	numBigVerts = theBigVerts.size();
+	bigVerts    = theBigVerts;
+	return numBigVerts;
+}
+
+unsigned int bhkCompressedMeshShapeData::GetNumBigTris() const {
+	return numBigTris;
+}
+
+void bhkCompressedMeshShapeData::SetNumBigTris(unsigned int value) {
+	numBigTris = value;
+}
+
+const vector<bhkCMSDBigTris> & bhkCompressedMeshShapeData::GetBigTris() const {
+	return bigTris;
+}
+
+unsigned int bhkCompressedMeshShapeData::SetBigTris(vector<bhkCMSDBigTris>& theBigVerts)
+{
+	numBigTris = theBigVerts.size();
+	bigTris    = theBigVerts;
+	return numBigTris;
+}
+
+unsigned int bhkCompressedMeshShapeData::GetNumChunks() const {
+	return numChunks;
+}
+
+void bhkCompressedMeshShapeData::SetNumChunks(unsigned int value) {
+	numChunks = value;
+}
+
+const vector<bhkCMSDChunk> & bhkCompressedMeshShapeData::GetChunks() const {
+	return chunks;
+}
+
+unsigned int bhkCompressedMeshShapeData::SetChunks(vector<bhkCMSDChunk>& theChunks) {
+	numChunks = theChunks.size();
+	chunks    = theChunks;
+	return numChunks;
+}
 
 //--END CUSTOM CODE--//
diff --git a/src/obj/bhkNiCollisionObject.cpp b/src/obj/bhkNiCollisionObject.cpp
index d4b19b5c8c585370907dbdc71f360f1fd7359240..4ec825ed0f8be8bca55fc031d66743d4af24f3b4 100644
--- a/src/obj/bhkNiCollisionObject.cpp
+++ b/src/obj/bhkNiCollisionObject.cpp
@@ -128,4 +128,12 @@ Ref<NiObject > bhkNiCollisionObject::GetBody() const {
 void bhkNiCollisionObject::SetBody( NiObject * value ) {
    body = value;
 }
+
+unsigned short bhkNiCollisionObject::GetFlags() const {
+  return flags;
+}
+
+void bhkNiCollisionObject::SetFlags(unsigned short value) {
+  flags = value;
+}
 //--END CUSTOM CODE--//
diff --git a/src/obj/bhkRigidBody.cpp b/src/obj/bhkRigidBody.cpp
index b5be3b724da6c29ee496ff10b50091cfea32e662..5855f33f470da460128b7fb47f0a4be566d052e8 100644
--- a/src/obj/bhkRigidBody.cpp
+++ b/src/obj/bhkRigidBody.cpp
@@ -24,6 +24,19 @@ const Type bhkRigidBody::TYPE("bhkRigidBody", &bhkEntity::TYPE );
 
 bhkRigidBody::bhkRigidBody() : unknownInt1((int)0), unknownInt2((int)0x00000001), unknown3Ints(3,(int)0,(int)0,(int)0x80000000), collisionResponse_((hkResponseType)RESPONSE_SIMPLE_CONTACT), unknownByte((byte)0xbe), processContactCallbackDelay_((unsigned short)0xffff), unknown2Shorts(2,(unsigned short)35899,(unsigned short)16336), layerCopy((OblivionLayer)OL_STATIC), colFilterCopy((byte)0), unknown7Shorts(7,(unsigned short)0,(unsigned short)21280,(unsigned short)2481,(unsigned short)62977,(unsigned short)65535,(unsigned short)44,(unsigned short)0), mass(1.0f), linearDamping(0.1f), angularDamping(0.05f), unknownTimefactorOrGravityfactor1(0.0f), unknownTimefactorOrGravityfactor2(0.0f), friction(0.3f), rollingfrictionmultiplier_(0.0f), restitution(0.3f), maxLinearVelocity(250.0f), maxAngularVelocity(31.4159f), penetrationDepth(0.15f), motionSystem((MotionSystem)MO_SYS_DYNAMIC), deactivatorType((DeactivatorType)DEACTIVATOR_NEVER), solverDeactivation((SolverDeactivation)SOLVER_DEACTIVATION_OFF), qualityType((MotionQuality)MO_QUAL_FIXED), unknownInt6((unsigned int)512), unknownInt7((unsigned int)160), unknownInt8((unsigned int)161), unknownInt81((unsigned int)0), numConstraints((unsigned int)0), unknownInt9((unsigned int)0), unknownInt91((unsigned short)0) {
 	//--BEGIN CONSTRUCTOR CUSTOM CODE--//
+	for (short i(0); i < 3; ++i)
+	{
+		unknown3Ints[i] = src.unknown3Ints[i];
+	}
+	for (short i(0); i < 2; ++i)
+	{
+		unknown2Shorts[i] = src.unknown2Shorts[i];
+	}
+	for (short i(0); i < 7; ++i)
+	{
+		unknown7Shorts[i] = src.unknown7Shorts[i];
+	}
+	//vector<Ref<bhkSerializable > > constraints;	vector<Ref<bhkSerializable > > constraints;
 	//--END CUSTOM CODE--//
 }