Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for develop branch nif.xml #79

Open
wants to merge 18 commits into
base: develop
Choose a base branch
from

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