niftools / pyffi

PyFFI is a Python library for processing block structured files.
http://www.niftools.org/pyffi
Other
47 stars 26 forks source link

Add support for develop branch nif.xml #79

Open TagnumElite opened 1 year ago

TagnumElite commented 1 year ago

@niftools/pyffi-reviewer

Hi, I'm back from the dead. Recently got back into modding Bethesda games.

Overview

This pull request updates pyffi to be able to support the latest nif.xml. I am not done and I believe there are still more issues to fix. I also have more tests to write and disable/remove a lot of debug logging. All tests are working (at least on python 3.10). I am currently not feeling well so I well fill out this pull request in detail later.

The way I got pyffi to work with the latest nif.xml is on reading stream, we update all attributes to be set the versions specified. I also duplicated xml object model into niftoolsxml because I didn't want to update all xmls right now to the new niftoolsxml specification.

TODO:

Fixes Known Issues

[Ordered list of issues fixed by this PR]

Documentation

Added all object models to the documentation.

Testing

[Overview of testing required to ensure functionality is correctly implemented]

Manual

[Order steps to manually verify updates are working correctly]

Automated

Modified Expression tests to also test extra features Added tests for importing files for specific games

Additional Information

~I want to move away from nosetests, not because I dislike them but because I think we only need one test framefwork pytest.~