diff --git a/include/nif_math.h b/include/nif_math.h index 33dea8057609e36713f6cbd5cd6f61358ea3d62b..94aa5a1d47c4cd781cd5a426dd1d53759277bc4f 100644 --- a/include/nif_math.h +++ b/include/nif_math.h @@ -203,22 +203,26 @@ struct Vector3 { * \return The result of the addition. */ NIFLIB_API Vector3 operator+( const Vector3 & rh ) const; + NIFLIB_API Vector3 operator+( const float & rh ) const; /* Adds the two vectors and then sets the result to the left-hand vector. * \return This vector is returned. */ NIFLIB_API Vector3 & operator+=( const Vector3 & rh ); + NIFLIB_API Vector3 & operator+=( const float & rh ); /* Allows the subtraction of vectors. Each component, x, y, y, is subtracted from * the same component of the other vector. * \return The result of the subtraction. */ NIFLIB_API Vector3 operator-( const Vector3 & rh ) const; + NIFLIB_API Vector3 operator-( const float & rh ) const; /* This operator subtracts the two vectors and then sets the result to the left-hand vector. * \return This vector is returned. */ NIFLIB_API Vector3 & operator-=( const Vector3 & rh); + NIFLIB_API Vector3 & operator-=( const float & rh ); /* Allows scaler multiplication, that is multipying all components of the * vector, x, y and z, by the same number. @@ -1009,6 +1013,39 @@ struct Color4 { return ret; } + NIFLIB_API Color4 operator-(const Color4& rhs) const + { + Color4 ret; + ret = *this; + ret.r -= rhs.r; + ret.g -= rhs.g; + ret.b -= rhs.b; + ret.a -= rhs.a; + return ret; + } + + NIFLIB_API Color4 operator+(const float rhs) const + { + Color4 ret; + ret = *this; + ret.r += rhs; + ret.g += rhs; + ret.b += rhs; + ret.a += rhs; + return ret; + } + + NIFLIB_API Color4 operator-(const float rhs) const + { + Color4 ret; + ret = *this; + ret.r -= rhs; + ret.g -= rhs; + ret.b -= rhs; + ret.a -= rhs; + return ret; + } + NIFLIB_API Color4 operator*(const float rhs) const { Color4 ret; @@ -1020,6 +1057,17 @@ struct Color4 { return ret; } + NIFLIB_API Color4 operator/(const float rhs) const + { + Color4 ret; + ret = *this; + ret.r /= rhs; + ret.g /= rhs; + ret.b /= rhs; + ret.a /= rhs; + return ret; + } + /*! Default constructor */ NIFLIB_API Color4() : r(0.0f), g(0.0f), b(0.0f), a(0.0f) {} @@ -1084,6 +1132,41 @@ struct Quaternion { this->z = z; } + /* Dot-product */ + NIFLIB_API float Dot(const Quaternion &rhs) const { + return x * rhs.x + + y * rhs.y + + z * rhs.z + + w * rhs.w; + } + + /* Multiplication */ + NIFLIB_API Quaternion operator*(const float &rhs) const { + Quaternion ret; + ret = *this; + ret.x *= rhs; + ret.y *= rhs; + ret.z *= rhs; + ret.w *= rhs; + return ret; + } + + /* Addition */ + NIFLIB_API Quaternion operator+(const Quaternion &rhs) const { + Quaternion ret; + ret = *this; + ret.x += rhs.x; + ret.y += rhs.y; + ret.z += rhs.z; + ret.w += rhs.w; + return ret; + } + + /* Equality */ + NIFLIB_API bool operator==( const Quaternion & n ) const { + return ( x == n.x && y == n.y && z == n.z && w == n.w ); + } + /*! This function can be used to set all values in the structure at the same time. * \param[in] w The value to set the W scalar component of this quaternion to. * \param[in] x The value to set the X vector component of this quaternion to. diff --git a/include/obj/NiBoneLODController.h b/include/obj/NiBoneLODController.h index 8eb3dff50f2936fc91807e833bbb96961cb0e1ba..7701b31292813413317b4d4e7fee8fe8b0264fe2 100644 --- a/include/obj/NiBoneLODController.h +++ b/include/obj/NiBoneLODController.h @@ -106,6 +106,25 @@ public: * Clears all node groups. */ NIFLIB_API void ClearNodeGroups(); + + /*! + * Adds a single shape to the specified group. The group list will expand if necessary. + * \param[in] shape The shape to add to the group. + */ + NIFLIB_API bool AddShapeToGroup( Ref<NiTriBasedGeom > shape ); + + /*! + * Remove a single shape from the specified shape group. + * \param[in] shape The shape remove from the group. + */ + NIFLIB_API bool RemoveShapeFromGroup( Ref<NiTriBasedGeom > shape ); + + /*! + * Replace a single shape by another in the specified shape group. + * \param[in] newshape The shape put from the group. + * \param[in] oldshape The shape remove from the group. + */ + NIFLIB_API bool ReplaceShapeInGroup( Ref<NiTriBasedGeom > newshape, Ref<NiTriBasedGeom > oldshape ); //--END CUSTOM CODE--// protected: diff --git a/include/obj/NiDefaultAVObjectPalette.h b/include/obj/NiDefaultAVObjectPalette.h index 02986fc80da4a44ba0b44ac9b504c7dfa6e4cd71..636e072ddf9d9c48226b97af9f7c502f8b9f7b51 100644 --- a/include/obj/NiDefaultAVObjectPalette.h +++ b/include/obj/NiDefaultAVObjectPalette.h @@ -68,6 +68,25 @@ public: * \return The new AV Objects to be stored in this palette. */ NIFLIB_API void SetObjs( const vector< Ref<NiAVObject> > & value ); + + /*! + * Adds a single object to the collection. The collection will expand if necessary. + * \param[in] mesh The object to add to the collection. + */ + NIFLIB_API bool AddObj( Ref<NiAVObject> obj ); + + /*! + * Remove a single object from the collection. + * \param[in] mesh The object remove from the collection. + */ + NIFLIB_API bool RemoveObj( Ref<NiAVObject> obj ); + + /*! + * Replace a single object by another in the collection. + * \param[in] newobj The object put into the collection. + * \param[in] oldobj The object remove from the collection. + */ + NIFLIB_API void ReplaceObj( const Ref<NiAVObject> newobj, const Ref<NiAVObject> oldobj ); //--END CUSTOM CODE--// protected: diff --git a/include/obj/NiGeometry.h b/include/obj/NiGeometry.h index a806c82299fd2252b376a96ab4ff9e93a7d54660..8db414c04f3099f3253ef1b24000b9c7ea03710f 100644 --- a/include/obj/NiGeometry.h +++ b/include/obj/NiGeometry.h @@ -97,6 +97,12 @@ public: * \return The NiSkinInstance object used by this geometry node, or NULL if none is used. */ NIFLIB_API Ref<NiSkinInstance> GetSkinInstance() const; + + /*! + * Sets the NiSkinInstance object used by this geometry node. + * \param[in] skin The NiSkinInstance object to be used by this geometry node, or NULL if none is to be used. + */ + NIFLIB_API void SetSkinInstance(Ref<NiSkinInstance> skin); /*! * Retrieves the geometry data object used by this geometry node, if any. This contains the vertices, normals, etc. and can be shared among several geometry nodes. diff --git a/include/obj/NiMultiTargetTransformController.h b/include/obj/NiMultiTargetTransformController.h index 1aa8b40525ab240dcf548c99921ad6f667a84852..22d44c5f37affe4221b9e4f42726ba04853c78bb 100644 --- a/include/obj/NiMultiTargetTransformController.h +++ b/include/obj/NiMultiTargetTransformController.h @@ -67,6 +67,25 @@ public: * \param[in] value The new NiAVObject targets to be controlled. */ NIFLIB_API void SetExtraTargets( const vector< Ref<NiAVObject> > & value ); + + /*! + * Adds a single extra target to the collection. The collection will expand if necessary. + * \param[in] mesh The avobject to add to the collection. + */ + NIFLIB_API bool AddExtraTarget( NiAVObject* target ); + + /*! + * Remove a single extra target from the collection. + * \param[in] mesh The avobject remove from the collection. + */ + NIFLIB_API bool RemoveExtraTarget( NiAVObject* target ); + + /*! + * Replace a single extra target by another in the specified extra target group. + * \param[in] newmesh The avobject put into the collection. + * \param[in] oldmesh The avobject remove from collection. + */ + NIFLIB_API bool ReplaceExtraTarget( NiAVObject* newtarget, NiAVObject* oldtarget ); //--END CUSTOM CODE--// protected: diff --git a/include/obj/NiPSysMeshEmitter.h b/include/obj/NiPSysMeshEmitter.h index ae9e4c2948e73e1953e869015d1e9186112b7262..28194969545cb417f1746033175e382f2a549d53 100644 --- a/include/obj/NiPSysMeshEmitter.h +++ b/include/obj/NiPSysMeshEmitter.h @@ -58,6 +58,26 @@ public: NIFLIB_API virtual const Type & GetType() const; //--BEGIN MISC CUSTOM CODE--// + + /*! + * Adds a single geometry to the collection. The collection will expand if necessary. + * \param[in] mesh The shape to add to the collection. + */ + NIFLIB_API bool AddEmitterMesh( Ref<NiTriBasedGeom > mesh ); + + /*! + * Remove a single geometry from the collection. + * \param[in] mesh The shape remove from the collection. + */ + NIFLIB_API bool RemoveEmitterMesh( Ref<NiTriBasedGeom > mesh ); + + /*! + * Replace a single geometry by another in the specified shape group. + * \param[in] newmesh The geometry put into the collection. + * \param[in] oldmesh The geometry remove from collection. + */ + NIFLIB_API bool ReplaceEmitterMesh( Ref<NiTriBasedGeom > newmesh, Ref<NiTriBasedGeom > oldmesh ); + //--END CUSTOM CODE--// protected: /*! The number of references to emitter meshes that follow. */ diff --git a/include/obj/NiSkinData.h b/include/obj/NiSkinData.h index 3641b0caaf9bfea8fdddb8de776e5804e71fc496..cc6cb2447840501b8cb0e547c0bccac6c8d3458e 100644 --- a/include/obj/NiSkinData.h +++ b/include/obj/NiSkinData.h @@ -106,6 +106,12 @@ public: */ NIFLIB_API void SetBoneWeights( unsigned int bone_index, const vector<SkinWeight> & weights, Vector3 center, float radius ); + /*! + * Sets the skin weights for a particular bone, without changing center and radius + * \sa NiSkinData::SetBoneWeights + */ + NIFLIB_API void SetBoneWeights( unsigned int bone_index, const vector<SkinWeight> & weights ); + /*! * Returns a reference to the hardware skin partition data object, if any. * \return The hardware skin partition data, or NULL if none is used. diff --git a/include/obj/hkPackedNiTriStripsData.h b/include/obj/hkPackedNiTriStripsData.h index c376b43c0a4513b3bab6ad8c1dbb4e3d9377c257..9e56ab353794584049cfd08fd2e3e9fdf7ef6404 100644 --- a/include/obj/hkPackedNiTriStripsData.h +++ b/include/obj/hkPackedNiTriStripsData.h @@ -64,6 +64,13 @@ public: * \sa hkPackedNiTriStripsData::SetTriangles */ NIFLIB_API virtual vector<Triangle> GetTriangles() const; + + /*! + * Returns the triangle data that make up this mesh. + * \return A vector containing the triangle data that make up this mesh. + * \sa hkPackedNiTriStripsData::SetTriangles + */ + NIFLIB_API virtual vector<hkTriangle> GetHavokTriangles() const; /*! * Returns the number of vertices that make up this mesh. This is also the number of normals, colors, and UV coordinates if these are used. @@ -98,6 +105,12 @@ public: * \sa ITriShapeData::GetTriangles */ NIFLIB_API virtual void SetTriangles( const vector<Triangle> & in ); + + /*! Replaces the triangle face data in this mesh with new data. + * \param in A vector containing the new face data. Maximum size is 65,535. + * \sa ITriShapeData::GetHavokTriangles + */ + NIFLIB_API virtual void SetHavokTriangles( const vector<hkTriangle> & in ); /*! Replaces the face normal data in this mesh with new data. * \param in A vector containing the new face normal data. diff --git a/niflib_VC2008.vcproj b/niflib_VC2008.vcproj index f239d227b2c0974ba041dbec996fef78c671fe27..d9c492c874045a6763f39cbe6ddf5672b1c19a4d 100644 --- a/niflib_VC2008.vcproj +++ b/niflib_VC2008.vcproj @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" - Version="9.00" + Version="9,00" Name="Niflib" ProjectGUID="{19FD8EE6-79CC-4BAC-9744-D9573BE47C7E}" RootNamespace="NIFlib" @@ -21,8 +21,8 @@ <Configurations> <Configuration Name="Debug - Static|Win32" - OutputDirectory="$(ProjectDir)obj\$(ConfigurationName)" - IntermediateDirectory="$(ProjectDir)obj\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -47,9 +47,11 @@ Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="NIFLIB_STATIC_LINK;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -66,7 +68,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="lib/niflib_static_debug.lib" + OutputFile="$(ProjectDir)vc9/lib/niflib_static_debug.lib" /> <Tool Name="VCALinkTool" @@ -86,8 +88,8 @@ </Configuration> <Configuration Name="Debug - Static|x64" - OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)\" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)\" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -113,9 +115,11 @@ Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="NIFLIB_STATIC_LINK;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -132,7 +136,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="lib/niflib_static_debug_x64.lib" + OutputFile="$(ProjectDir)vc9/lib/niflib_static_debug_x64.lib" /> <Tool Name="VCALinkTool" @@ -152,8 +156,8 @@ </Configuration> <Configuration Name="Release - Static|Win32" - OutputDirectory="$(ProjectDir)obj\$(ConfigurationName)" - IntermediateDirectory="$(ProjectDir)obj\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -176,11 +180,17 @@ /> <Tool Name="VCCLCompilerTool" - Optimization="0" - WholeProgramOptimization="false" + Optimization="3" + InlineFunctionExpansion="2" + EnableIntrinsicFunctions="true" + FavorSizeOrSpeed="1" + OmitFramePointers="true" + WholeProgramOptimization="true" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="NIFLIB_STATIC_LINK;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" RuntimeLibrary="0" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -197,7 +207,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="lib/niflib_static.lib" + OutputFile="$(ProjectDir)vc9/lib/niflib_static.lib" /> <Tool Name="VCALinkTool" @@ -217,12 +227,12 @@ </Configuration> <Configuration Name="Release - Static|x64" - OutputDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(ProjectDir)obj\$(PlatformName)\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" - WholeProgramOptimization="0" + WholeProgramOptimization="1" > <Tool Name="VCPreBuildEventTool" @@ -242,11 +252,17 @@ /> <Tool Name="VCCLCompilerTool" - Optimization="0" - WholeProgramOptimization="false" + Optimization="3" + InlineFunctionExpansion="2" + EnableIntrinsicFunctions="true" + FavorSizeOrSpeed="1" + OmitFramePointers="true" + WholeProgramOptimization="true" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="NIFLIB_STATIC_LINK;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" RuntimeLibrary="0" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -263,7 +279,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="lib/niflib_static_x64.lib" + OutputFile="$(ProjectDir)vc9/lib/niflib_static_x64.lib" /> <Tool Name="VCALinkTool" @@ -283,8 +299,8 @@ </Configuration> <Configuration Name="Release - DLL|Win32" - OutputDirectory="$(ProjectDir)obj\$(ConfigurationName)" - IntermediateDirectory="$(ProjectDir)obj\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -310,7 +326,9 @@ Optimization="3" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="BUILDING_NIFLIB_DLL;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" RuntimeLibrary="2" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -327,7 +345,7 @@ /> <Tool Name="VCLinkerTool" - OutputFile="bin\niflib.dll" + OutputFile="$(ProjectDir)vc9\bin\niflib.dll" Version="0.7.3" RandomizedBaseAddress="1" DataExecutionPrevention="0" @@ -357,8 +375,8 @@ </Configuration> <Configuration Name="Release - DLL|x64" - OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -385,7 +403,9 @@ Optimization="3" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="BUILDING_NIFLIB_DLL;WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" RuntimeLibrary="2" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -402,7 +422,7 @@ /> <Tool Name="VCLinkerTool" - OutputFile="bin\niflib_x64.dll" + OutputFile="$(ProjectDir)vc9\bin\niflib_x64.dll" Version="0.7.3" RandomizedBaseAddress="1" DataExecutionPrevention="0" @@ -433,8 +453,8 @@ </Configuration> <Configuration Name="Debug - DLL|Win32" - OutputDirectory="$(SolutionDir)$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -459,9 +479,11 @@ Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="BUILDING_NIFLIB_DLL;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -478,7 +500,7 @@ /> <Tool Name="VCLinkerTool" - OutputFile="bin\niflib_debug.dll" + OutputFile="$(ProjectDir)vc9\bin\niflib_debug.dll" Version="0.7.3" GenerateDebugInformation="true" RandomizedBaseAddress="1" @@ -509,8 +531,8 @@ </Configuration> <Configuration Name="Debug - DLL|x64" - OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" + OutputDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)" + IntermediateDirectory="$(ProjectDir)\vc9\obj\$(PlatformName)\$(ConfigurationName)" ConfigurationType="2" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" CharacterSet="2" @@ -536,9 +558,11 @@ Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)include" PreprocessorDefinitions="BUILDING_NIFLIB_DLL;WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS" + StringPooling="true" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" + EnableEnhancedInstructionSet="2" UsePrecompiledHeader="0" PrecompiledHeaderThrough="" WarningLevel="3" @@ -555,7 +579,7 @@ /> <Tool Name="VCLinkerTool" - OutputFile="bin\niflib_debug_x64.dll" + OutputFile="$(ProjectDir)vc9\bin\niflib_debug_x64.dll" Version="0.7.3" RandomizedBaseAddress="1" DataExecutionPrevention="0" @@ -668,6 +692,10 @@ <Filter Name="obj" > + <File + RelativePath=".\src\obj\AbstractAdditionalGeometryData.cpp" + > + </File> <File RelativePath=".\src\obj\ATextureRenderData.cpp" > @@ -680,6 +708,14 @@ RelativePath=".\src\obj\bhkAabbPhantom.cpp" > </File> + <File + RelativePath=".\src\obj\bhkBallAndSocketConstraint.cpp" + > + </File> + <File + RelativePath=".\src\obj\bhkBallSocketConstraintChain.cpp" + > + </File> <File RelativePath=".\src\obj\bhkBlendCollisionObject.cpp" > @@ -708,6 +744,14 @@ RelativePath=".\src\obj\bhkCollisionObject.cpp" > </File> + <File + RelativePath=".\src\obj\bhkCompressedMeshShape.cpp" + > + </File> + <File + RelativePath=".\src\obj\bhkCompressedMeshShapeData.cpp" + > + </File> <File RelativePath=".\src\obj\bhkConstraint.cpp" > @@ -752,6 +796,10 @@ RelativePath=".\src\obj\bhkMalleableConstraint.cpp" > </File> + <File + RelativePath=".\src\obj\bhkMeshShape.cpp" + > + </File> <File RelativePath=".\src\obj\bhkMoppBvTreeShape.cpp" > @@ -852,10 +900,18 @@ RelativePath=".\src\obj\BSAnimNotes.cpp" > </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" > @@ -880,6 +936,18 @@ RelativePath=".\src\obj\BSDistantTreeShaderProperty.cpp" > </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" > @@ -892,10 +960,42 @@ RelativePath=".\src\obj\BSFurnitureMarker.cpp" > </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" > @@ -920,26 +1020,62 @@ RelativePath=".\src\obj\BSMultiBoundNode.cpp" > </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" > @@ -948,6 +1084,10 @@ RelativePath=".\src\obj\BSPSysStripUpdateModifier.cpp" > </File> + <File + RelativePath=".\src\obj\BSPSysSubTexModifier.cpp" + > + </File> <File RelativePath=".\src\obj\BSRefractionFirePeriodController.cpp" > @@ -956,6 +1096,10 @@ RelativePath=".\src\obj\BSRefractionStrengthController.cpp" > </File> + <File + RelativePath=".\src\obj\BSRotAccumTransfInterpolator.cpp" + > + </File> <File RelativePath=".\src\obj\BSSegmentedTriShape.cpp" > @@ -980,6 +1124,10 @@ RelativePath=".\src\obj\BSShaderTextureSet.cpp" > </File> + <File + RelativePath=".\src\obj\BSSkyShaderProperty.cpp" + > + </File> <File RelativePath=".\src\obj\BSStripParticleSystem.cpp" > @@ -992,6 +1140,10 @@ RelativePath=".\src\obj\BSTreadTransfInterpolator.cpp" > </File> + <File + RelativePath=".\src\obj\BSTreeNode.cpp" + > + </File> <File RelativePath=".\src\obj\BSValueNode.cpp" > @@ -1000,6 +1152,10 @@ RelativePath=".\src\obj\BSWArray.cpp" > </File> + <File + RelativePath=".\src\obj\BSWaterShaderProperty.cpp" + > + </File> <File RelativePath=".\src\obj\BSWindModifier.cpp" > @@ -1008,6 +1164,10 @@ RelativePath=".\src\obj\BSXFlags.cpp" > </File> + <File + RelativePath=".\src\obj\CStreamableAssetData.cpp" + > + </File> <File RelativePath=".\src\obj\DistantLODShaderProperty.cpp" > @@ -1212,6 +1372,10 @@ RelativePath=".\src\obj\NiBSplineCompPoint3Interpolator.cpp" > </File> + <File + RelativePath=".\src\obj\NiBSplineCompTransformEvaluator.cpp" + > + </File> <File RelativePath=".\src\obj\NiBSplineCompTransformInterpolator.cpp" > @@ -1276,6 +1440,10 @@ RelativePath=".\src\obj\NiControllerSequence.cpp" > </File> + <File + RelativePath=".\src\obj\NiDataStream.cpp" + > + </File> <File RelativePath=".\src\obj\NiDefaultAVObjectPalette.cpp" > @@ -1340,6 +1508,10 @@ RelativePath=".\src\obj\NiFogProperty.cpp" > </File> + <File + RelativePath=".\src\obj\NiFurSpringController.cpp" + > + </File> <File RelativePath=".\src\obj\NiGeometry.cpp" > @@ -1360,6 +1532,10 @@ RelativePath=".\src\obj\NiImage.cpp" > </File> + <File + RelativePath=".\src\obj\NiInstancingMeshModifier.cpp" + > + </File> <File RelativePath=".\src\obj\NiIntegerExtraData.cpp" > @@ -1436,6 +1612,18 @@ RelativePath=".\src\obj\NiMaterialProperty.cpp" > </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" > @@ -1456,6 +1644,14 @@ RelativePath=".\src\obj\NiMorpherController.cpp" > </File> + <File + RelativePath=".\src\obj\NiMorphMeshModifier.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiMorphWeightsController.cpp" + > + </File> <File RelativePath=".\src\obj\NiMultiTargetTransformController.cpp" > @@ -1613,343 +1809,559 @@ > </File> <File - RelativePath=".\src\obj\NiPSysAgeDeathModifier.cpp" + RelativePath=".\src\obj\NiPSBombForce.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysAirFieldModifier.cpp" + RelativePath=".\src\obj\NiPSBoundUpdater.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysBombModifier.cpp" + RelativePath=".\src\obj\NiPSBoxEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysBoundUpdateModifier.cpp" + RelativePath=".\src\obj\NiPSCylinderEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysBoxEmitter.cpp" + RelativePath=".\src\obj\NiPSDragForce.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysCollider.cpp" + RelativePath=".\src\obj\NiPSEmitParticlesCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysColliderManager.cpp" + RelativePath=".\src\obj\NiPSEmitterDeclinationCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysColorModifier.cpp" + RelativePath=".\src\obj\NiPSEmitterDeclinationVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysCylinderEmitter.cpp" + RelativePath=".\src\obj\NiPSEmitterLifeSpanCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysData.cpp" + RelativePath=".\src\obj\NiPSEmitterPlanarAngleCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysDragFieldModifier.cpp" + RelativePath=".\src\obj\NiPSEmitterPlanarAngleVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysDragModifier.cpp" + RelativePath=".\src\obj\NiPSEmitterRadiusCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitter.cpp" + RelativePath=".\src\obj\NiPSEmitterRotAngleCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterCtlr.cpp" + RelativePath=".\src\obj\NiPSEmitterRotAngleVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterCtlrData.cpp" + RelativePath=".\src\obj\NiPSEmitterRotSpeedCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterDeclinationCtlr.cpp" + RelativePath=".\src\obj\NiPSEmitterRotSpeedVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterDeclinationVarCtlr.cpp" + RelativePath=".\src\obj\NiPSEmitterSpeedCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterInitialRadiusCtlr.cpp" + RelativePath=".\src\obj\NiPSFacingQuadGenerator.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterLifeSpanCtlr.cpp" + RelativePath=".\src\obj\NiPSForceActiveCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysEmitterSpeedCtlr.cpp" + RelativePath=".\src\obj\NiPSGravityForce.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysFieldMagnitudeCtlr.cpp" + RelativePath=".\src\obj\NiPSGravityStrengthCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysFieldModifier.cpp" + RelativePath=".\src\obj\NiPSMeshEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysGravityFieldModifier.cpp" + RelativePath=".\src\obj\NiPSMeshParticleSystem.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysGravityModifier.cpp" + RelativePath=".\src\obj\NiPSParticleSystem.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysGravityStrengthCtlr.cpp" + RelativePath=".\src\obj\NiPSPlanarCollider.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysGrowFadeModifier.cpp" + RelativePath=".\src\obj\NiPSResetOnLoopCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysMeshEmitter.cpp" + RelativePath=".\src\obj\NiPSSimulator.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysMeshUpdateModifier.cpp" + RelativePath=".\src\obj\NiPSSimulatorCollidersStep.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysModifier.cpp" + RelativePath=".\src\obj\NiPSSimulatorFinalStep.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysModifierActiveCtlr.cpp" + RelativePath=".\src\obj\NiPSSimulatorForcesStep.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysModifierBoolCtlr.cpp" + RelativePath=".\src\obj\NiPSSimulatorGeneralStep.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysModifierCtlr.cpp" + RelativePath=".\src\obj\NiPSSimulatorMeshAlignStep.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysModifierFloatCtlr.cpp" + RelativePath=".\src\obj\NiPSSimulatorStep.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysPlanarCollider.cpp" + RelativePath=".\src\obj\NiPSSpawner.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysPositionModifier.cpp" + RelativePath=".\src\obj\NiPSSphereEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysResetOnLoopCtlr.cpp" + RelativePath=".\src\obj\NiPSSphericalCollider.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysRotationModifier.cpp" + RelativePath=".\src\obj\NiPSysAgeDeathModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysSpawnModifier.cpp" + RelativePath=".\src\obj\NiPSysAirFieldAirFrictionCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysSphereEmitter.cpp" + RelativePath=".\src\obj\NiPSysAirFieldInheritVelocityCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysSphericalCollider.cpp" + RelativePath=".\src\obj\NiPSysAirFieldModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysTrailEmitter.cpp" + RelativePath=".\src\obj\NiPSysAirFieldSpreadCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysTurbulenceFieldModifier.cpp" + RelativePath=".\src\obj\NiPSysBombModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysUpdateCtlr.cpp" + RelativePath=".\src\obj\NiPSysBoundUpdateModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysVolumeEmitter.cpp" + RelativePath=".\src\obj\NiPSysBoxEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiPSysVortexFieldModifier.cpp" + RelativePath=".\src\obj\NiPSysCollider.cpp" > </File> <File - RelativePath=".\src\obj\NiRangeLODData.cpp" + RelativePath=".\src\obj\NiPSysColliderManager.cpp" > </File> <File - RelativePath=".\src\obj\NiRawImageData.cpp" + RelativePath=".\src\obj\NiPSysColorModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiRollController.cpp" + RelativePath=".\src\obj\NiPSysCylinderEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiRoom.cpp" + RelativePath=".\src\obj\NiPSysData.cpp" > </File> <File - RelativePath=".\src\obj\NiRoomGroup.cpp" + RelativePath=".\src\obj\NiPSysDragFieldModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiRotatingParticles.cpp" + RelativePath=".\src\obj\NiPSysDragModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiRotatingParticlesData.cpp" + RelativePath=".\src\obj\NiPSysEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiScreenElements.cpp" + RelativePath=".\src\obj\NiPSysEmitterCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiScreenElementsData.cpp" + RelativePath=".\src\obj\NiPSysEmitterCtlrData.cpp" > </File> <File - RelativePath=".\src\obj\NiScreenLODData.cpp" + RelativePath=".\src\obj\NiPSysEmitterDeclinationCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSequence.cpp" + RelativePath=".\src\obj\NiPSysEmitterDeclinationVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSequenceStreamHelper.cpp" + RelativePath=".\src\obj\NiPSysEmitterInitialRadiusCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiShadeProperty.cpp" + RelativePath=".\src\obj\NiPSysEmitterLifeSpanCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSingleInterpController.cpp" + RelativePath=".\src\obj\NiPSysEmitterPlanarAngleCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSkinData.cpp" + RelativePath=".\src\obj\NiPSysEmitterPlanarAngleVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSkinInstance.cpp" + RelativePath=".\src\obj\NiPSysEmitterSpeedCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSkinPartition.cpp" + RelativePath=".\src\obj\NiPSysFieldAttenuationCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSortAdjustNode.cpp" + RelativePath=".\src\obj\NiPSysFieldMagnitudeCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSourceCubeMap.cpp" + RelativePath=".\src\obj\NiPSysFieldMaxDistanceCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSourceTexture.cpp" + RelativePath=".\src\obj\NiPSysFieldModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiSpecularProperty.cpp" + RelativePath=".\src\obj\NiPSysGravityFieldModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiSphericalCollider.cpp" + RelativePath=".\src\obj\NiPSysGravityModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiSpotLight.cpp" + RelativePath=".\src\obj\NiPSysGravityStrengthCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiStencilProperty.cpp" + RelativePath=".\src\obj\NiPSysGrowFadeModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiStringExtraData.cpp" + RelativePath=".\src\obj\NiPSysInitialRotAngleCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiStringPalette.cpp" + RelativePath=".\src\obj\NiPSysInitialRotAngleVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiStringsExtraData.cpp" + RelativePath=".\src\obj\NiPSysInitialRotSpeedCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiSwitchNode.cpp" + RelativePath=".\src\obj\NiPSysInitialRotSpeedVarCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiTextKeyExtraData.cpp" + RelativePath=".\src\obj\NiPSysMeshEmitter.cpp" > </File> <File - RelativePath=".\src\obj\NiTexture.cpp" + RelativePath=".\src\obj\NiPSysMeshUpdateModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiTextureEffect.cpp" + RelativePath=".\src\obj\NiPSysModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiTextureModeProperty.cpp" + RelativePath=".\src\obj\NiPSysModifierActiveCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiTextureProperty.cpp" + RelativePath=".\src\obj\NiPSysModifierBoolCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiTextureTransformController.cpp" + RelativePath=".\src\obj\NiPSysModifierCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiTexturingProperty.cpp" + RelativePath=".\src\obj\NiPSysModifierFloatCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiTimeController.cpp" + RelativePath=".\src\obj\NiPSysPlanarCollider.cpp" > </File> <File - RelativePath=".\src\obj\NiTransformController.cpp" + RelativePath=".\src\obj\NiPSysPositionModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiTransformData.cpp" + RelativePath=".\src\obj\NiPSysRadialFieldModifier.cpp" > </File> <File - RelativePath=".\src\obj\NiTransformInterpolator.cpp" + RelativePath=".\src\obj\NiPSysResetOnLoopCtlr.cpp" > </File> <File - RelativePath=".\src\obj\NiTransparentProperty.cpp" + RelativePath=".\src\obj\NiPSysRotationModifier.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysSpawnModifier.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysSphereEmitter.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysSphericalCollider.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysTrailEmitter.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysTurbulenceFieldModifier.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysUpdateCtlr.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysVolumeEmitter.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiPSysVortexFieldModifier.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRangeLODData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRawImageData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRenderObject.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRollController.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRoom.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRoomGroup.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRotatingParticles.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiRotatingParticlesData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiScreenElements.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiScreenElementsData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiScreenLODData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSequence.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSequenceData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSequenceStreamHelper.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiShadeProperty.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiShadowGenerator.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSingleInterpController.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSkinData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSkinInstance.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSkinningLODController.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSkinningMeshModifier.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSkinPartition.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSortAdjustNode.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSourceCubeMap.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSourceTexture.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSpecularProperty.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSphericalCollider.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSpotLight.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiStencilProperty.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiStringExtraData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiStringPalette.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiStringsExtraData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiSwitchNode.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTextKeyExtraData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTexture.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTextureEffect.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTextureModeProperty.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTextureProperty.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTextureTransformController.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTexturingProperty.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTimeController.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTransformController.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTransformData.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTransformEvaluator.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTransformInterpolator.cpp" + > + </File> + <File + RelativePath=".\src\obj\NiTransparentProperty.cpp" > </File> <File @@ -2060,6 +2472,22 @@ RelativePath=".\src\gen\AVObject.cpp" > </File> + <File + RelativePath=".\src\gen\bhkCMSD_Shape.cpp" + > + </File> + <File + RelativePath=".\src\gen\bhkCMSD_Something.cpp" + > + </File> + <File + RelativePath=".\src\gen\bhkCMSDContainer.cpp" + > + </File> + <File + RelativePath=".\src\gen\bhkCMSDData.cpp" + > + </File> <File RelativePath=".\src\gen\BodyPartList.cpp" > @@ -2076,6 +2504,10 @@ RelativePath=".\src\gen\BoxBV.cpp" > </File> + <File + RelativePath=".\src\gen\BSPackedAdditionalDataBlock.cpp" + > + </File> <File RelativePath=".\src\gen\BSSegmentedTriangle.cpp" > @@ -2084,6 +2516,14 @@ RelativePath=".\src\gen\BSTreadTransfInfo.cpp" > </File> + <File + RelativePath=".\src\gen\BSTreadTransform.cpp" + > + </File> + <File + RelativePath=".\src\gen\BSTreadTransformData.cpp" + > + </File> <File RelativePath=".\src\gen\BSTreadTransfSubInfo.cpp" > @@ -2124,6 +2564,10 @@ RelativePath=".\src\gen\DecalVectorArray.cpp" > </File> + <File + RelativePath=".\src\gen\ElementReference.cpp" + > + </File> <File RelativePath=".\src\gen\enums.cpp" > @@ -2132,6 +2576,14 @@ RelativePath=".\src\gen\ExportInfo.cpp" > </File> + <File + RelativePath=".\src\gen\ExtraMeshDataEpicMickey.cpp" + > + </File> + <File + RelativePath=".\src\gen\ExtraMeshDataEpicMickey2.cpp" + > + </File> <File RelativePath=".\src\gen\Footer.cpp" > @@ -2168,6 +2620,14 @@ RelativePath=".\src\gen\MatchGroup.cpp" > </File> + <File + RelativePath=".\src\gen\MaterialData.cpp" + > + </File> + <File + RelativePath=".\src\gen\MeshData.cpp" + > + </File> <File RelativePath=".\src\gen\MipMap.cpp" > @@ -2180,6 +2640,14 @@ RelativePath=".\src\gen\MorphWeight.cpp" > </File> + <File + RelativePath=".\src\gen\MotorDescriptor.cpp" + > + </File> + <File + RelativePath=".\src\gen\MTransform.cpp" + > + </File> <File RelativePath=".\src\gen\MultiTextureElement.cpp" > @@ -2216,6 +2684,10 @@ RelativePath=".\src\gen\Polygon.cpp" > </File> + <File + RelativePath=".\src\gen\QTransform.cpp" + > + </File> <File RelativePath=".\src\gen\QuaternionXYZW.cpp" > @@ -2224,10 +2696,18 @@ RelativePath=".\src\gen\RagDollDescriptor.cpp" > </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" > @@ -2240,6 +2720,10 @@ RelativePath=".\src\gen\SkinPartition.cpp" > </File> + <File + RelativePath=".\src\gen\SkinPartitionUnknownItem1.cpp" + > + </File> <File RelativePath=".\src\gen\SkinShape.cpp" > @@ -2248,6 +2732,10 @@ RelativePath=".\src\gen\SkinShapeGroup.cpp" > </File> + <File + RelativePath=".\src\gen\SkinTransform.cpp" + > + </File> <File RelativePath=".\src\gen\SkinWeight.cpp" > @@ -2390,6 +2878,10 @@ <Filter Name="obj" > + <File + RelativePath=".\include\obj\AbstractAdditionalGeometryData.h" + > + </File> <File RelativePath=".\include\obj\ATextureRenderData.h" > @@ -2402,6 +2894,14 @@ RelativePath=".\include\obj\bhkAabbPhantom.h" > </File> + <File + RelativePath=".\include\obj\bhkBallAndSocketConstraint.h" + > + </File> + <File + RelativePath=".\include\obj\bhkBallSocketConstraintChain.h" + > + </File> <File RelativePath=".\include\obj\bhkBlendCollisionObject.h" > @@ -2430,6 +2930,14 @@ RelativePath=".\include\obj\bhkCollisionObject.h" > </File> + <File + RelativePath=".\include\obj\bhkCompressedMeshShape.h" + > + </File> + <File + RelativePath=".\include\obj\bhkCompressedMeshShapeData.h" + > + </File> <File RelativePath=".\include\obj\bhkConstraint.h" > @@ -2474,6 +2982,10 @@ RelativePath=".\include\obj\bhkMalleableConstraint.h" > </File> + <File + RelativePath=".\include\obj\bhkMeshShape.h" + > + </File> <File RelativePath=".\include\obj\bhkMoppBvTreeShape.h" > @@ -2574,10 +3086,18 @@ RelativePath=".\include\obj\BSAnimNotes.h" > </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" > @@ -2602,6 +3122,18 @@ RelativePath=".\include\obj\BSDistantTreeShaderProperty.h" > </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" > @@ -2614,10 +3146,42 @@ RelativePath=".\include\obj\BSFurnitureMarker.h" > </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" > @@ -2642,26 +3206,62 @@ RelativePath=".\include\obj\BSMultiBoundNode.h" > </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" > @@ -2670,6 +3270,10 @@ RelativePath=".\include\obj\BSPSysStripUpdateModifier.h" > </File> + <File + RelativePath=".\include\obj\BSPSysSubTexModifier.h" + > + </File> <File RelativePath=".\include\obj\BSRefractionFirePeriodController.h" > @@ -2678,6 +3282,10 @@ RelativePath=".\include\obj\BSRefractionStrengthController.h" > </File> + <File + RelativePath=".\include\obj\BSRotAccumTransfInterpolator.h" + > + </File> <File RelativePath=".\include\obj\BSSegmentedTriShape.h" > @@ -2699,7 +3307,11 @@ > </File> <File - RelativePath=".\include\obj\BSShaderTextureSet.h" + RelativePath=".\include\obj\BSShaderTextureSet.h" + > + </File> + <File + RelativePath=".\include\obj\BSSkyShaderProperty.h" > </File> <File @@ -2714,6 +3326,10 @@ RelativePath=".\include\obj\BSTreadTransfInterpolator.h" > </File> + <File + RelativePath=".\include\obj\BSTreeNode.h" + > + </File> <File RelativePath=".\include\obj\BSValueNode.h" > @@ -2722,6 +3338,10 @@ RelativePath=".\include\obj\BSWArray.h" > </File> + <File + RelativePath=".\include\obj\BSWaterShaderProperty.h" + > + </File> <File RelativePath=".\include\obj\BSWindModifier.h" > @@ -2730,6 +3350,10 @@ RelativePath=".\include\obj\BSXFlags.h" > </File> + <File + RelativePath=".\include\obj\CStreamableAssetData.h" + > + </File> <File RelativePath=".\include\obj\DistantLODShaderProperty.h" > @@ -2934,6 +3558,10 @@ RelativePath=".\include\obj\NiBSplineCompPoint3Interpolator.h" > </File> + <File + RelativePath=".\include\obj\NiBSplineCompTransformEvaluator.h" + > + </File> <File RelativePath=".\include\obj\NiBSplineCompTransformInterpolator.h" > @@ -2998,6 +3626,10 @@ RelativePath=".\include\obj\NiControllerSequence.h" > </File> + <File + RelativePath=".\include\obj\NiDataStream.h" + > + </File> <File RelativePath=".\include\obj\NiDefaultAVObjectPalette.h" > @@ -3062,6 +3694,10 @@ RelativePath=".\include\obj\NiFogProperty.h" > </File> + <File + RelativePath=".\include\obj\NiFurSpringController.h" + > + </File> <File RelativePath=".\include\obj\NiGeometry.h" > @@ -3082,6 +3718,10 @@ RelativePath=".\include\obj\NiImage.h" > </File> + <File + RelativePath=".\include\obj\NiInstancingMeshModifier.h" + > + </File> <File RelativePath=".\include\obj\NiIntegerExtraData.h" > @@ -3158,6 +3798,18 @@ RelativePath=".\include\obj\NiMaterialProperty.h" > </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" > @@ -3178,6 +3830,14 @@ RelativePath=".\include\obj\NiMorpherController.h" > </File> + <File + RelativePath=".\include\obj\NiMorphMeshModifier.h" + > + </File> + <File + RelativePath=".\include\obj\NiMorphWeightsController.h" + > + </File> <File RelativePath=".\include\obj\NiMultiTargetTransformController.h" > @@ -3334,14 +3994,170 @@ RelativePath=".\include\obj\NiProperty.h" > </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" > @@ -3410,14 +4226,30 @@ RelativePath=".\include\obj\NiPSysEmitterLifeSpanCtlr.h" > </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" > @@ -3438,6 +4270,22 @@ RelativePath=".\include\obj\NiPSysGrowFadeModifier.h" > </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" > @@ -3474,6 +4322,10 @@ RelativePath=".\include\obj\NiPSysPositionModifier.h" > </File> + <File + RelativePath=".\include\obj\NiPSysRadialFieldModifier.h" + > + </File> <File RelativePath=".\include\obj\NiPSysResetOnLoopCtlr.h" > @@ -3522,6 +4374,10 @@ RelativePath=".\include\obj\NiRawImageData.h" > </File> + <File + RelativePath=".\include\obj\NiRenderObject.h" + > + </File> <File RelativePath=".\include\obj\NiRollController.h" > @@ -3558,6 +4414,10 @@ RelativePath=".\include\obj\NiSequence.h" > </File> + <File + RelativePath=".\include\obj\NiSequenceData.h" + > + </File> <File RelativePath=".\include\obj\NiSequenceStreamHelper.h" > @@ -3566,6 +4426,10 @@ RelativePath=".\include\obj\NiShadeProperty.h" > </File> + <File + RelativePath=".\include\obj\NiShadowGenerator.h" + > + </File> <File RelativePath=".\include\obj\NiSingleInterpController.h" > @@ -3578,6 +4442,14 @@ RelativePath=".\include\obj\NiSkinInstance.h" > </File> + <File + RelativePath=".\include\obj\NiSkinningLODController.h" + > + </File> + <File + RelativePath=".\include\obj\NiSkinningMeshModifier.h" + > + </File> <File RelativePath=".\include\obj\NiSkinPartition.h" > @@ -3666,6 +4538,10 @@ RelativePath=".\include\obj\NiTransformData.h" > </File> + <File + RelativePath=".\include\obj\NiTransformEvaluator.h" + > + </File> <File RelativePath=".\include\obj\NiTransformInterpolator.h" > @@ -3782,6 +4658,22 @@ RelativePath=".\include\gen\AVObject.h" > </File> + <File + RelativePath=".\include\gen\bhkCMSD_Shape.h" + > + </File> + <File + RelativePath=".\include\gen\bhkCMSD_Something.h" + > + </File> + <File + RelativePath=".\include\gen\bhkCMSDContainer.h" + > + </File> + <File + RelativePath=".\include\gen\bhkCMSDData.h" + > + </File> <File RelativePath=".\include\gen\BodyPartList.h" > @@ -3798,6 +4690,10 @@ RelativePath=".\include\gen\BoxBV.h" > </File> + <File + RelativePath=".\include\gen\BSPackedAdditionalDataBlock.h" + > + </File> <File RelativePath=".\include\gen\BSSegmentedTriangle.h" > @@ -3806,6 +4702,14 @@ RelativePath=".\include\gen\BSTreadTransfInfo.h" > </File> + <File + RelativePath=".\include\gen\BSTreadTransform.h" + > + </File> + <File + RelativePath=".\include\gen\BSTreadTransformData.h" + > + </File> <File RelativePath=".\include\gen\BSTreadTransfSubInfo.h" > @@ -3842,6 +4746,10 @@ RelativePath=".\include\gen\DecalVectorArray.h" > </File> + <File + RelativePath=".\include\gen\ElementReference.h" + > + </File> <File RelativePath=".\include\gen\enums.h" > @@ -3854,6 +4762,14 @@ RelativePath=".\include\gen\ExportInfo.h" > </File> + <File + RelativePath=".\include\gen\ExtraMeshDataEpicMickey.h" + > + </File> + <File + RelativePath=".\include\gen\ExtraMeshDataEpicMickey2.h" + > + </File> <File RelativePath=".\include\gen\Footer.h" > @@ -3894,6 +4810,14 @@ RelativePath=".\include\gen\MatchGroup.h" > </File> + <File + RelativePath=".\include\gen\MaterialData.h" + > + </File> + <File + RelativePath=".\include\gen\MeshData.h" + > + </File> <File RelativePath=".\include\gen\MipMap.h" > @@ -3906,6 +4830,14 @@ RelativePath=".\include\gen\MorphWeight.h" > </File> + <File + RelativePath=".\include\gen\MotorDescriptor.h" + > + </File> + <File + RelativePath=".\include\gen\MTransform.h" + > + </File> <File RelativePath=".\include\gen\MultiTextureElement.h" > @@ -3942,6 +4874,10 @@ RelativePath=".\include\gen\Polygon.h" > </File> + <File + RelativePath=".\include\gen\QTransform.h" + > + </File> <File RelativePath=".\include\gen\QuaternionXYZW.h" > @@ -3950,10 +4886,18 @@ RelativePath=".\include\gen\RagDollDescriptor.h" > </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" > @@ -3966,6 +4910,10 @@ RelativePath=".\include\gen\SkinPartition.h" > </File> + <File + RelativePath=".\include\gen\SkinPartitionUnknownItem1.h" + > + </File> <File RelativePath=".\include\gen\SkinShape.h" > @@ -3974,6 +4922,10 @@ RelativePath=".\include\gen\SkinShapeGroup.h" > </File> + <File + RelativePath=".\include\gen\SkinTransform.h" + > + </File> <File RelativePath=".\include\gen\SkinWeight.h" > diff --git a/src/nif_math.cpp b/src/nif_math.cpp index 561d7ad36e82d808478879f76ffe63a979b4afd1..3233233dc5b50f03f47e0e4f01f48b0aa9f46e8c 100644 --- a/src/nif_math.cpp +++ b/src/nif_math.cpp @@ -57,6 +57,12 @@ Vector3 Vector3::operator+( const Vector3 & rh) const { return v; } +Vector3 Vector3::operator+( const float & rh) const { + Vector3 v(*this); + v += rh; + return v; +} + Vector3 & Vector3::operator+=( const Vector3 & rh ) { x += rh.x; y += rh.y; @@ -65,12 +71,26 @@ Vector3 & Vector3::operator+=( const Vector3 & rh ) { return *this; } +Vector3 & Vector3::operator+=( const float & rh ) { + x += rh; + y += rh; + z += rh; + + return *this; +} + Vector3 Vector3::operator-( const Vector3 & rh) const { Vector3 v(*this); v -= rh; return v; } +Vector3 Vector3::operator-( const float & rh) const { + Vector3 v(*this); + v -= rh; + return v; +} + Vector3 & Vector3::operator-=( const Vector3 & rh ) { x -= rh.x; y -= rh.y; @@ -79,6 +99,14 @@ Vector3 & Vector3::operator-=( const Vector3 & rh ) { return *this; } +Vector3 & Vector3::operator-=( const float & rh ) { + x -= rh; + y -= rh; + z -= rh; + + return *this; +} + Vector3 Vector3::operator*( const float & rh) const { Vector3 v(*this); v *= rh; diff --git a/src/obj/NiBoneLODController.cpp b/src/obj/NiBoneLODController.cpp index d259d3fab8b3b95efcfd09536bbe7dedbd24ffcd..e1ba5db07d67058213246eca9ebb77fff23084d7 100644 --- a/src/obj/NiBoneLODController.cpp +++ b/src/obj/NiBoneLODController.cpp @@ -544,5 +544,43 @@ void NiBoneLODController::ClearNodeGroups() { numNodeGroups2 = int(nodeGroups.size()); } +bool NiBoneLODController::AddShapeToGroup( Ref<NiTriBasedGeom > shape ) { + vector<Ref<NiTriBasedGeom > >& shapes = shapeGroups2; + vector<Ref<NiTriBasedGeom > >::iterator itr = std::find(shapes.begin(), shapes.end(), shape); + if (itr == shapes.end()) { + shapes.push_back(shape); + numShapeGroups2++; + + return true; + } + + return false; +} + +bool NiBoneLODController::RemoveShapeFromGroup( Ref<NiTriBasedGeom > shape ) { + vector<Ref<NiTriBasedGeom > >& shapes = shapeGroups2; + vector<Ref<NiTriBasedGeom > >::iterator itr = std::find(shapes.begin(), shapes.end(), shape); + if (itr != shapes.end()) { + shapes.erase(itr); + numShapeGroups2--; + + return true; + } + + return false; +} + +bool NiBoneLODController::ReplaceShapeInGroup( Ref<NiTriBasedGeom > newshape, Ref<NiTriBasedGeom > oldshape ) { + vector<Ref<NiTriBasedGeom > >& shapes = shapeGroups2; + vector<Ref<NiTriBasedGeom > >::iterator itr = std::find(shapes.begin(), shapes.end(), oldshape); + if (itr != shapes.end()) { + *itr = newshape; + + return true; + } + + return false; +} + //--END CUSTOM CODE--// diff --git a/src/obj/NiDefaultAVObjectPalette.cpp b/src/obj/NiDefaultAVObjectPalette.cpp index 8265a53629d3ae04b19d38cd71f77bf240fd6b9c..567cfb59d65cfe7809d366891f332949b734d7be 100644 --- a/src/obj/NiDefaultAVObjectPalette.cpp +++ b/src/obj/NiDefaultAVObjectPalette.cpp @@ -167,4 +167,43 @@ void NiDefaultAVObjectPalette::SetObjs( const vector<Ref<NiAVObject> >& value ) } } +bool NiDefaultAVObjectPalette::AddObj( Ref<NiAVObject > obj ) { + for (vector<AVObject>::iterator itr = objs.begin(); itr != objs.end(); ++itr) { + if ( (*itr).avObject == obj ) { + return false; + } + } + + struct AVObject avo; + avo.name = obj->GetName(); + avo.avObject = obj; + + objs.push_back(avo); + numObjs++; + + return false; +} + +bool NiDefaultAVObjectPalette::RemoveObj( Ref<NiAVObject > obj ) { + for (vector<AVObject>::iterator itr = objs.begin(); itr != objs.end(); ++itr) { + if ( (*itr).avObject == obj ) { + objs.erase(itr); + numObjs--; + + return true; + } + } + + return false; +} + +void NiDefaultAVObjectPalette::ReplaceObj( const Ref<NiAVObject> newobj, const Ref<NiAVObject> oldobj ) { + for (vector<AVObject>::iterator itr = objs.begin(); itr != objs.end(); ++itr) { + if ( (*itr).avObject == oldobj ) { + (*itr).name = newobj->GetName(); + (*itr).avObject = newobj; + } + } +} + //--END CUSTOM CODE--// diff --git a/src/obj/NiGeometry.cpp b/src/obj/NiGeometry.cpp index c39a191bdc07fede1584d6cd26f6d13305869180..a4f5a0ebd4f85f20ba55ff63811b8270b8258609 100644 --- a/src/obj/NiGeometry.cpp +++ b/src/obj/NiGeometry.cpp @@ -319,6 +319,10 @@ Ref<NiSkinInstance> NiGeometry::GetSkinInstance() const { return skinInstance; } +void NiGeometry::SetSkinInstance(Ref<NiSkinInstance> skin) { + skinInstance = skin; +} + void NiGeometry::BindSkin( vector< Ref<NiNode> >& bone_nodes ) { BindSkinWith(bone_nodes, NULL); } diff --git a/src/obj/NiMultiTargetTransformController.cpp b/src/obj/NiMultiTargetTransformController.cpp index 1f9fa47c83229434af6fa4d773925bf803d8946f..1f53caf21fbd67bf0781c2aa4bb1e54f6669608d 100644 --- a/src/obj/NiMultiTargetTransformController.cpp +++ b/src/obj/NiMultiTargetTransformController.cpp @@ -165,4 +165,43 @@ void NiMultiTargetTransformController::SetExtraTargets( const vector< Ref<NiAVOb extraTargets.erase(std::remove(extraTargets.begin(), extraTargets.end(), (NiAVObject*)NULL), extraTargets.end()); } +bool NiMultiTargetTransformController::AddExtraTarget( NiAVObject *target ) { + vector<NiAVObject *>& targets = extraTargets; + vector<NiAVObject *>::iterator itr = std::find(targets.begin(), targets.end(), target); + if (itr == targets.end()) { + targets.push_back(target); + numExtraTargets++; + + return true; + } + + return false; +} + +bool NiMultiTargetTransformController::RemoveExtraTarget( NiAVObject *target ) { + vector<NiAVObject *>& targets = extraTargets; + vector<NiAVObject *>::iterator itr = std::find(targets.begin(), targets.end(), target); + if (itr == targets.end()) { + targets.erase(itr); + numExtraTargets--; + + return true; + } + + return false; +} + +bool NiMultiTargetTransformController::ReplaceExtraTarget( NiAVObject *newtarget, NiAVObject *oldtarget ) { + vector<NiAVObject *>& targets = extraTargets; + vector<NiAVObject *>::iterator itr = std::find(targets.begin(), targets.end(), oldtarget); + if (itr != targets.end()) { + *itr = newtarget; + + return true; + } + + return false; +} + + //--END CUSTOM CODE--// diff --git a/src/obj/NiPSysMeshEmitter.cpp b/src/obj/NiPSysMeshEmitter.cpp index 2bd4ca59483ce3b7e84fb9cb5b689f7abe357250..f7cfa8c1af22b88dbec78316498618b888cb3274 100644 --- a/src/obj/NiPSysMeshEmitter.cpp +++ b/src/obj/NiPSysMeshEmitter.cpp @@ -8,6 +8,7 @@ All rights reserved. Please see niflib.h for license. */ //-----------------------------------NOTICE----------------------------------// //--BEGIN FILE HEAD CUSTOM CODE--// +#include <algorithm> //--END CUSTOM CODE--// #include "../../include/FixLink.h" @@ -154,4 +155,43 @@ std::list<NiObject *> NiPSysMeshEmitter::GetPtrs() const { } //--BEGIN MISC CUSTOM CODE--// + +bool NiPSysMeshEmitter::AddEmitterMesh( Ref<NiTriBasedGeom > mesh ) { + vector<Ref<NiTriBasedGeom > >& meshes = emitterMeshes; + vector<Ref<NiTriBasedGeom > >::iterator itr = std::find(meshes.begin(), meshes.end(), mesh); + if (itr == meshes.end()) { + meshes.push_back(mesh); + numEmitterMeshes++; + + return true; + } + + return false; +} + +bool NiPSysMeshEmitter::RemoveEmitterMesh( Ref<NiTriBasedGeom > mesh ) { + vector<Ref<NiTriBasedGeom > >& meshes = emitterMeshes; + vector<Ref<NiTriBasedGeom > >::iterator itr = std::find(meshes.begin(), meshes.end(), mesh); + if (itr == meshes.end()) { + meshes.erase(itr); + numEmitterMeshes--; + + return true; + } + + return false; +} + +bool NiPSysMeshEmitter::ReplaceEmitterMesh( Ref<NiTriBasedGeom > newmesh, Ref<NiTriBasedGeom > oldmesh ) { + vector<Ref<NiTriBasedGeom > >& meshes = emitterMeshes; + vector<Ref<NiTriBasedGeom > >::iterator itr = std::find(meshes.begin(), meshes.end(), oldmesh); + if (itr != meshes.end()) { + *itr = newmesh; + + return true; + } + + return false; +} + //--END CUSTOM CODE--// diff --git a/src/obj/NiSkinData.cpp b/src/obj/NiSkinData.cpp index 4577b768bc7d166b2bd33123ce7d08e1a69bd274..4d25f0ef608404acc7a15c5919ad95fe7d9e474f 100644 --- a/src/obj/NiSkinData.cpp +++ b/src/obj/NiSkinData.cpp @@ -278,6 +278,15 @@ void NiSkinData::SetBoneWeights( unsigned int bone_index, const vector<SkinWeigh boneList[bone_index].boundingSphereRadius = radius; } +void NiSkinData::SetBoneWeights( unsigned int bone_index, const vector<SkinWeight> & weights ) { + if ( bone_index > boneList.size() ) { + throw runtime_error( "The specified bone index was larger than the number of bones in this NiSkinData." ); + } + + hasVertexWeights = true; + boneList[bone_index].vertexWeights = weights; +} + Matrix44 NiSkinData::GetOverallTransform() const { return Matrix44( skinTransform.translation, skinTransform.rotation, skinTransform.scale ); } diff --git a/src/obj/bhkConvexVerticesShape.cpp b/src/obj/bhkConvexVerticesShape.cpp index 8091cef98414cf8f4d4fbd473b33337a523a34bb..970f707ac1d25a904fded17312ae8a8686ce5890 100644 --- a/src/obj/bhkConvexVerticesShape.cpp +++ b/src/obj/bhkConvexVerticesShape.cpp @@ -198,12 +198,13 @@ vector<float> bhkConvexVerticesShape::GetDistToCenter() const void bhkConvexVerticesShape::SetVertices( const vector<Vector3> & in ) { - int size = in.size(); + size_t size = in.size(); vertices.resize(size); - for (int i=0; i<size; ++i) + for (size_t i=0; i<size; ++i) { Vector4 &f = vertices[i]; const Vector3 &v = in[i]; + f[0] = v.x; f[1] = v.y; f[2] = v.z; @@ -213,12 +214,13 @@ void bhkConvexVerticesShape::SetVertices( const vector<Vector3> & in ) void bhkConvexVerticesShape::SetNormals( const vector<Vector3> & in ) { - int size = in.size(); + size_t size = in.size(); normals.resize(size); - for (int i=0; i<size; ++i) + for (size_t i=0; i<size; ++i) { Vector4 &f = normals[i]; const Vector3 &v = in[i]; + f[0] = v.x; f[1] = v.y; f[2] = v.z; @@ -231,11 +233,13 @@ void bhkConvexVerticesShape::SetDistToCenter( const vector<float> & in ) if ( in.size() != normals.size() ) { throw runtime_error("Distance vector size does not match normal size."); } - int size = in.size(); + + size_t size = in.size(); normals.resize(size); - for (int i=0; i<size; ++i) + for (size_t i=0; i<size; ++i) { Vector4 &f = normals[i]; + f[3] = in[i]; } } diff --git a/src/obj/hkPackedNiTriStripsData.cpp b/src/obj/hkPackedNiTriStripsData.cpp index 553cdf966f5a9509830dbeb9b3ada0fba727e9c8..124957f445fb9daeffad8e2c7a423b9a301e3913 100644 --- a/src/obj/hkPackedNiTriStripsData.cpp +++ b/src/obj/hkPackedNiTriStripsData.cpp @@ -205,6 +205,18 @@ vector<Triangle> hkPackedNiTriStripsData::GetTriangles() const { return good_triangles; } +vector<hkTriangle> hkPackedNiTriStripsData::GetHavokTriangles() const { + //Remove any bad triangles + vector<hkTriangle> good_triangles; + for ( unsigned i = 0; i < triangles.size(); ++i ) { + const hkTriangle & t = triangles[i]; + if ( t.triangle.v1 != t.triangle.v2 && t.triangle.v2 != t.triangle.v3 && t.triangle.v1 != t.triangle.v3 ) { + good_triangles.push_back(t); + } + } + return good_triangles; +} + vector<Vector3> hkPackedNiTriStripsData::GetNormals() const { //Remove any bad triangles vector<Vector3> good_normals; @@ -243,6 +255,13 @@ void hkPackedNiTriStripsData::SetTriangles( const vector<Triangle> & in ) { } } +void hkPackedNiTriStripsData::SetHavokTriangles( const vector<hkTriangle> & in ) { + if ( in.size() > 65535 || in.size() < 0 ) { + throw runtime_error("Invalid Face Count: must be between 0 and 65535."); + } + triangles = in; +} + void hkPackedNiTriStripsData::SetNormals( const vector<Vector3> & in ) { if ( triangles.size() != in.size()) { throw runtime_error("Invalid Face Count: normal count must be same as face count.");