Pyffi

Latest version: v2.2.3

Safety actively analyzes 701507 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 14

2.0.3

============================

* Various bugfixes for the Aion cgf format.

* Updates for nif.xml to support more recent nif versions (20.5.0.0,
20.6.0.0, and 30.0.0.2).

2.0.2

============================

* The source has been updated to be Python 3.x compatible via 2to3.

* New unified installer which works for all versions of Python and
Maya at once (at the moment: 2.5, 2.6, 3.0, 3.1) and also for all
versions of Maya that use Python 2.5 and 2.6 (2008, 2009, and 2010,
including the 64 bit variants).

* Added support for Aion cgf files.

* Added support for NeoSteam header and footer.

* Log warning rather than raising exception on invalid links (fixes issue
2818403 reported by abubakr125).

* Optimizer can now recover from invalid indices in strips (this fixes
some nifs mentioned in issue 2795837 by baphometal).

* Skin updater can now recover when some vertices have no weights
(this fixes some nifs mentioned in issue 2795837 by baphometal).

* Skip zero weights and add up weights of duplicated bones when
calculating vertex weights (this fixes some nifs mentioned in issue
2795837 by baphometal).

* The nif optimizer can now handle NiTriShapeData attached as a
NiTriStrips data block (fixes some corrupt nifs provided by
baphometal in issue 2795837).

* Optimizer can now recover from NaN values in geometry (sample nifs
provided by baphometal).

* Do not attempt to optimize nifs with an insane amount of triangles,
but put out a warning instead.

* Log error rather than raising exception when end of NIF file is not
reached (fixes issue with sample nif provided by baphometal).

2.0.1

============================

* Added Windows installer for Python 2.6.

* Updated mopper.exe compiled with msvc 2008 sp1 (fixes issue 2802413,
reported by pacmorrowind).

* Added pdb session to track cicular references and memory leaks (see
issues 2787602 and 2795837 reported by alexkapi12 and
xfrancis147).

* Added valgrind script to check memory usage, and to allow keeping
track of it between releases (see issues 2787602 and 2795837
reported by alexkapi12 and xfrancis147).

* Removed parenting in xml model from everywhere except Array, and
using weakrefs to avoid circular references, which helps with
garbage collection. Performance should now be slightly improved.

* Updates to xml object model expression syntax.

- Support for field qualifier '.'.

- Support for addition '+'.

* Updates to Targa format.

- Support for RLE compressed Targa files (test file contributed by
Alphax, see issue 2790494).

- Read Targa footer, if present (test file contributed by Alphax,
see issue 2790494).

- Improved interface: header, image, and footer are now global nodes.

* Updates to xsd object model.

- Classes and attributes for Collada format are now generated (but not
yet functional).

2.0.0

===========================

* Windows installer now detects Maya 2008 and Maya 2009, and their 64 bit
variants, and can install itself into every Maya version that is found.

* Updates to the XML object model (affects CGF, DDS, KFM, NIF, and TGA).

- Class customizers are taken immediately from the format class, and not
from separate modules --- all code from customization modules has been
moved into the main format classes. The result is that parsing is faster
by about 50 percent.

- clsFilePath removed, as it is no longer used.

* Updates and fixes for the KFM format.

- The Data element inherits from Header, and Header includes also all
animations, so it is more straightforward to edit files.

- The KFM files open again in QSkope.

* Updates for the CGF format.

- CHUNK_MAP no longer constructed in Data.__init__ but in a metaclass.

- Deprecated functions in CgfFormat have been removed.

* Updates for the NIF format.

- Synced nif.xml with nifskope's xml (includes fixes for Lazeska).

- Removed deprecated scripts (niftexdump, nifdump, ffvt3rskinpartition,
nifoptimize).

- Fixed scaling bug on nifs whose tree has duplicate nodes. Scaling now no
longer works recursively, unless you use the scaling spell which handles
the duplication correctly.

* Updated module names to follow pep8 naming conventions: all modules have
lower case names.

1.2.4

============================

* Documentation is being converted to Sphinx. Currently some parts of the
documentation are slightly broken with epydoc. Hopefully the migration will
be complete in a month or so, resolving this issue.

* removed deprecated PyFFI.Spells code:

- old style spells no longer supported

- almost all old spells have been converted to the new spell system
(the few remaining ones will be ported for the next release)

* nif:

- nif optimizer can be run on folders from the windows context menu
(right-click on any folder containing nifs and select "Optimize with PyFFI")

- synced nif.xml with upstream (adds support for Worldshift, bug fixes)

- using weak references for Ptr type (this aids garbage collection)

- added fix_strip niftoaster spell which can remove branches selectively
(feature request 2164309)

- new getTangentSpace function for NiTriBasedGeom (works for both Oblivion
and Fallout 3 style tangent spaces)

- improved mergeSkeletonRoots function (will also merge roots of skins that
have no bones in common, this helps a lot with Morrowind imports)

- new sendDetachedGeometriesToNodePosition function and spell (helps a lot
with Morrowind imports)

* tga:

- added support for color map and image data in the xml

- uses the new data model

- works again in QSkope

* xml object model:

- added support for multiplication and division operators in expressions

* fixes for unicode support (prepares for py3k)

1.2.3

===========================

* removed reduce() calls (py3k compatibility)

* started converting print calls (py3k compatibility)

* removed relative imports (py3k compatibility)

* removed BSDiff module (not useful, very slow, use external bsdiff instead)

* nif:

- fixed the update mopp spell for fallout 3 nifs

- fixed addShape in bhkPackedNiTriStripsShape for fallout 3 nifs

- niftoaster sends to stdout instead of stderr so output can be captured
(reported by razorwing)

Page 4 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.