From a9663f12ff3fe83c7c1f33208b7aa9fe5a768590 Mon Sep 17 00:00:00 2001 From: Shon Ferguson <shonferg@users.sourceforge.net> Date: Sat, 30 Sep 2006 23:15:25 +0000 Subject: [PATCH] Preparing 0.6.2 release. --- Doxyfile | 18 ++++++++++++------ change_log.txt | 46 +++++++++++++++++++++++++++++++++++++++++++++- pyniflib.i | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 89 insertions(+), 8 deletions(-) diff --git a/Doxyfile b/Doxyfile index 6122708e..6b921988 100644 --- a/Doxyfile +++ b/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = Niflib -PROJECT_NUMBER = 0.6.0 +PROJECT_NUMBER = 0.6.2 OUTPUT_DIRECTORY = doc CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English @@ -247,9 +247,11 @@ PREDEFINED = NI_OBJECT_PARENT= \ A_BONE_L_O_D_CONTROLLER_PARENT=NiTimeController \ NI_SINGLE_INTERPOLATOR_CONTROLLER_PARENT=NiTimeController \ A_P_SYS_CTLR_PARENT=NiSingleInterpolatorController \ - NI_TRI_BASED_GEOM_PARENT=NiAVObject \ - NI_TRI_BASED_GEOM_DATA_PARENT=NiObject \ - A_P_SYS_DATA_PARENT=NiTriBasedGeomData \ + NI_GEOMETRY_PARENT=NiAVObject \ + NI_TRI_BASED_GEOM_PARENT=NiGeometry \ + NI_GEOMETRY_DATA_PARENT=NiObject \ + NI_TRI_BASED_GEOM_DATA_PARENT=NiGeometryData \ + A_P_SYS_DATA_PARENT=NiGeometryData \ BHK_BLEND_COLLISION_OBJECT_PARENT=NiCollisionObject \ BHK_BLEND_CONTROLLER_PARENT=NiTimeController \ BHK_BOX_SHAPE_PARENT=bhkConvexShape \ @@ -283,7 +285,7 @@ PREDEFINED = NI_OBJECT_PARENT= \ NI_ALPHA_CONTROLLER_PARENT=NiSingleInterpolatorController \ NI_ALPHA_PROPERTY_PARENT=NiProperty \ NI_AMBIENT_LIGHT_PARENT=NiLight \ - NI_AUTO_NORMAL_PARTICLES_DATA_PARENT=NiTriBasedGeomData \ + NI_AUTO_NORMAL_PARTICLES_DATA_PARENT=NiGeometryData \ NI_BINARY_EXTRA_DATA_PARENT=NiExtraData \ NI_BLEND_BOOL_INTERPOLATOR_PARENT=NiBlendInterpolator \ NI_BLEND_FLOAT_INTERPOLATOR_PARENT=NiBlendInterpolator \ @@ -347,7 +349,7 @@ PREDEFINED = NI_OBJECT_PARENT= \ NI_PARTICLE_GROW_FADE_PARENT=AParticleModifier \ NI_PARTICLE_MESH_MODIFIER_PARENT=AParticleModifier \ NI_PARTICLE_ROTATION_PARENT=AParticleModifier \ - NI_PARTICLES_PARENT=NiTriBasedGeom \ + NI_PARTICLES_PARENT=NiGeometry \ NI_AUTO_NORMAL_PARTICLES_PARENT=NiParticles \ NI_PARTICLE_MESHES_PARENT=NiParticles \ NI_PARTICLES_DATA_PARENT=NiAutoNormalParticlesData \ @@ -401,6 +403,7 @@ PREDEFINED = NI_OBJECT_PARENT= \ NI_SHADE_PROPERTY_PARENT=NiProperty \ NI_SKIN_DATA_PARENT=NiObject \ NI_SKIN_INSTANCE_PARENT=NiObject \ + NI_CLOD_SKIN_INSTANCE_PARENT=NiSkinInstance \ NI_SKIN_PARTITION_PARENT=NiObject \ NI_SOURCE_TEXTURE_PARENT=NiObjectNET \ NI_SPECULAR_PROPERTY_PARENT=NiProperty \ @@ -413,6 +416,9 @@ PREDEFINED = NI_OBJECT_PARENT= \ NI_TEXT_KEY_EXTRA_DATA_PARENT=NiExtraData \ NI_TEXTURE_EFFECT_PARENT=NiDynamicEffect \ NI_TEXTURE_TRANSFORM_CONTROLLER_PARENT=NiSingleInterpolatorController \ + NI_TEXTURE_MODE_PROPERTY_PARENT=NiProperty \ + NI_IMAGE_PARENT=NiObject \ + NI_TEXTURE_PROPERTY_PARENT=NiProperty \ NI_TEXTURING_PROPERTY_PARENT=NiProperty \ NI_TRANSFORM_CONTROLLER_PARENT=NiSingleInterpolatorController \ NI_TRANSFORM_DATA_PARENT=NiKeyframeData \ diff --git a/change_log.txt b/change_log.txt index 04add7b5..78d22478 100644 --- a/change_log.txt +++ b/change_log.txt @@ -436,4 +436,48 @@ * Added Merge function to ComplexShape. * Added != operator to Matrix44. * Added IsSplitMeshProxy function to NiNode. - * Fixed some include problems. \ No newline at end of file + * Fixed some include problems. + + ==Version 0.6.2== + + * Improved support for Freedom Force games thanks to Symon. + * Change NodeGroup to use pointers instead of Refs. + * NiGeometry::BindSkin now throws an exception if one of the passed in bone + references is NULL. + * NiNode::IsSplitMeshProxy now returns false if it is a skin influence. + * NiTriShapeData::GetTriangles now only returns valid triangles. + * Fixed a bug in ComplexShape::Merge that occurred when a shape had no UV set, + but, for some reason, had a texture referencing UV set zero. + * Added NiGeometry::NormalizeSkinWeights function to ensure all skin weights + add up to 1.0 on export. + * ComplexShape::Split now cuts out weights below 0.1 and normalizes the + result. + * Fixed a bug which could cause NiSkinInstance to try to call a function on a + NiNode that was in the midst of destruction. + * Added NiGeometry::ApplySkinOffset function to clear nodes between skins and + the skeleton root. + * Added some new object types for NIF version 3.1, but most files still can't + be opened. + * Fixed object auto-destruct. Niflib is now destroying objects properly and + reporting the right number of Objects from NiObject::NumObjectsInMemory. + * Generated array code now prints 20 items per 2D array in total when verbose + is off. + * Fixed duplicated Read call. All FFvt3R demo files can now be read by + Niflib. + * Added NiGeometry::ApplyTransforms function to automatically zero out the + transforms of a mesh and apply them to its vertices. + * Added NiGeometryData::Transform function to apply an arbitrary transform + to all vertices and normals of a mesh (used by above). + * Added NiNode::PropagateTransform function to apply a NiNode's local + transform to its children and then zero it out. + * Fixed NiTriShapeData to properly set numTriangles when SetTriangles is + called. + * Removed "set root to scene root" option from NiGeometry::BindSkin. + * Replaced GetSkinInfluencedVertices function with GetSkinDeformation + function which takes in references to two vectors and fills them with the + skin deformed vertices and normals + * Added constructor to Matrix44 to convert from Matrix33. + * Change default to little endian instead of big endian. + * Added NiClodSkinInstance and fixed NiClodData. Niflib can now open all + Freedom Force demo NIF files. + * Corrected Shape/particle hierarchy by adding NiGeometry and NiGeometryData. \ No newline at end of file diff --git a/pyniflib.i b/pyniflib.i index 8128f956..1a04f4fb 100644 --- a/pyniflib.i +++ b/pyniflib.i @@ -34,7 +34,7 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -%module new_niflib +%module niflib %include "stl.i" %include "std_map.i" %include "exception.i" @@ -111,7 +111,9 @@ POSSIBILITY OF SUCH DAMAGE. */ #include "obj/ABoneLODController.h" #include "obj/NiSingleInterpolatorController.h" #include "obj/APSysCtlr.h" + #include "obj/NiGeometry.h" #include "obj/NiTriBasedGeom.h" + #include "obj/NiGeometryData.h" #include "obj/NiTriBasedGeomData.h" #include "obj/APSysData.h" #include "obj/bhkBlendCollisionObject.h" @@ -265,6 +267,7 @@ POSSIBILITY OF SUCH DAMAGE. */ #include "obj/NiShadeProperty.h" #include "obj/NiSkinData.h" #include "obj/NiSkinInstance.h" + #include "obj/NiClodSkinInstance.h" #include "obj/NiSkinPartition.h" #include "obj/NiSourceTexture.h" #include "obj/NiSpecularProperty.h" @@ -277,6 +280,9 @@ POSSIBILITY OF SUCH DAMAGE. */ #include "obj/NiTextKeyExtraData.h" #include "obj/NiTextureEffect.h" #include "obj/NiTextureTransformController.h" + #include "obj/NiTextureModeProperty.h" + #include "obj/NiImage.h" + #include "obj/NiTextureProperty.h" #include "obj/NiTexturingProperty.h" #include "obj/NiTransformController.h" #include "obj/NiTransformData.h" @@ -333,6 +339,7 @@ POSSIBILITY OF SUCH DAMAGE. */ %template(vector_byte) std::vector<Niflib::byte>; %template(vector_ushort) std::vector<Niflib::ushort>; %template(vector_SkinShape) std::vector<Niflib::SkinShape>; +%template(vector_LineString) std::vector<Niflib::LineString>; %template(vector_string) std::vector<std::string>; %template(vector_Triangle) std::vector<Niflib::Triangle>; %template(vector_Vector3) std::vector<Niflib::Vector3>; @@ -485,10 +492,18 @@ POSSIBILITY OF SUCH DAMAGE. */ %template(APSysCtlrRef) Niflib::Ref<Niflib::APSysCtlr>; %template(DynamicCastToAPSysCtlr) Niflib::DynamicCast<Niflib::APSysCtlr>; %template(StaticCastToAPSysCtlr) Niflib::StaticCast<Niflib::APSysCtlr>; +%include "obj/NiGeometry.h" +%template(NiGeometryRef) Niflib::Ref<Niflib::NiGeometry>; +%template(DynamicCastToNiGeometry) Niflib::DynamicCast<Niflib::NiGeometry>; +%template(StaticCastToNiGeometry) Niflib::StaticCast<Niflib::NiGeometry>; %include "obj/NiTriBasedGeom.h" %template(NiTriBasedGeomRef) Niflib::Ref<Niflib::NiTriBasedGeom>; %template(DynamicCastToNiTriBasedGeom) Niflib::DynamicCast<Niflib::NiTriBasedGeom>; %template(StaticCastToNiTriBasedGeom) Niflib::StaticCast<Niflib::NiTriBasedGeom>; +%include "obj/NiGeometryData.h" +%template(NiGeometryDataRef) Niflib::Ref<Niflib::NiGeometryData>; +%template(DynamicCastToNiGeometryData) Niflib::DynamicCast<Niflib::NiGeometryData>; +%template(StaticCastToNiGeometryData) Niflib::StaticCast<Niflib::NiGeometryData>; %include "obj/NiTriBasedGeomData.h" %template(NiTriBasedGeomDataRef) Niflib::Ref<Niflib::NiTriBasedGeomData>; %template(DynamicCastToNiTriBasedGeomData) Niflib::DynamicCast<Niflib::NiTriBasedGeomData>; @@ -1101,6 +1116,10 @@ POSSIBILITY OF SUCH DAMAGE. */ %template(NiSkinInstanceRef) Niflib::Ref<Niflib::NiSkinInstance>; %template(DynamicCastToNiSkinInstance) Niflib::DynamicCast<Niflib::NiSkinInstance>; %template(StaticCastToNiSkinInstance) Niflib::StaticCast<Niflib::NiSkinInstance>; +%include "obj/NiClodSkinInstance.h" +%template(NiClodSkinInstanceRef) Niflib::Ref<Niflib::NiClodSkinInstance>; +%template(DynamicCastToNiClodSkinInstance) Niflib::DynamicCast<Niflib::NiClodSkinInstance>; +%template(StaticCastToNiClodSkinInstance) Niflib::StaticCast<Niflib::NiClodSkinInstance>; %include "obj/NiSkinPartition.h" %template(NiSkinPartitionRef) Niflib::Ref<Niflib::NiSkinPartition>; %template(DynamicCastToNiSkinPartition) Niflib::DynamicCast<Niflib::NiSkinPartition>; @@ -1149,6 +1168,18 @@ POSSIBILITY OF SUCH DAMAGE. */ %template(NiTextureTransformControllerRef) Niflib::Ref<Niflib::NiTextureTransformController>; %template(DynamicCastToNiTextureTransformController) Niflib::DynamicCast<Niflib::NiTextureTransformController>; %template(StaticCastToNiTextureTransformController) Niflib::StaticCast<Niflib::NiTextureTransformController>; +%include "obj/NiTextureModeProperty.h" +%template(NiTextureModePropertyRef) Niflib::Ref<Niflib::NiTextureModeProperty>; +%template(DynamicCastToNiTextureModeProperty) Niflib::DynamicCast<Niflib::NiTextureModeProperty>; +%template(StaticCastToNiTextureModeProperty) Niflib::StaticCast<Niflib::NiTextureModeProperty>; +%include "obj/NiImage.h" +%template(NiImageRef) Niflib::Ref<Niflib::NiImage>; +%template(DynamicCastToNiImage) Niflib::DynamicCast<Niflib::NiImage>; +%template(StaticCastToNiImage) Niflib::StaticCast<Niflib::NiImage>; +%include "obj/NiTextureProperty.h" +%template(NiTexturePropertyRef) Niflib::Ref<Niflib::NiTextureProperty>; +%template(DynamicCastToNiTextureProperty) Niflib::DynamicCast<Niflib::NiTextureProperty>; +%template(StaticCastToNiTextureProperty) Niflib::StaticCast<Niflib::NiTextureProperty>; %include "obj/NiTexturingProperty.h" %template(NiTexturingPropertyRef) Niflib::Ref<Niflib::NiTexturingProperty>; %template(DynamicCastToNiTexturingProperty) Niflib::DynamicCast<Niflib::NiTexturingProperty>; -- GitLab