Skip to content

Conversation

@TagnumElite
Copy link
Member

@TagnumElite TagnumElite commented Jan 31, 2023

@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:

  • Updating FileFormat.Data versions should update the versions of all blocks
  • Add more documentation
  • Add more tests
  • Implement conversions of attributes when updating attributes

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.

TODO: This should be done for all formats
NOTE: Makes sphinx take a LONG time to complete tho
Thats it, thats everything (lies).
Remove some comments
Add some comments
Add test for niftoolsxml bitstructattribute
Add update_version to NifFormat.Data that updates all block versions
Skip attributes that haven't changed
Currently Skyrim SE is failing due to reaching end of file
StructBase read replaces the attributes as it reads not replaces before and reads (breaks) later
@TagnumElite TagnumElite marked this pull request as ready for review February 4, 2023 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant