Support for Fallout 4 nifs?

The place to ask for help if you're trying to program an application that uses PyFFI's NIF module, or to report bugs in PyFFI's NIF module itself.

Support for Fallout 4 nifs?

Postby inawe » Tue Nov 22, 2016 4:05 pm

Does niftoaster.py work correctly with Fallout 4 nifs? I would like to batch dump a list of the materials and textures used by a group of nifs so that I can find which nifs are using certain ones. I installed Python 3.2 and Pyffi 2.2.2, then ran the install.bat for Pyffi 2.2.3.

The command I tried to run to test it was "niftoaster.py dump_tex <nifpath>\\<nifname.nif>". All I got was the following:
pyffi.toaster:INFO:toasting with 2 threads in chunks of 64 files
pyffi.toaster:INFO:Finished.

I then replaced the nif.xml with the one from the current version of NifSkope. That caused a bunch of errors when running, so I'm assuming that the Python scripts have to be updated as well.

Taking a look at GitHub, I see that there has been work done towards Pyffi 2.2.4. Is that far enough along for what I am trying to do to work? I tried to figure out how to download a package that included all of the current commits so that I could test it, but I don't know GitHub well enough to do it.

If it will be a while before Pyffi is updated enough for dump_tex to work correctly with Fallout 4 nifs then can anyone suggest an alternate way to batch pull the materials and textures information?

Thanks in advance for any help.
inawe
 
Posts: 3
Joined: Tue Nov 22, 2016 2:59 pm

Re: Support for Fallout 4 nifs?

Postby neomonkeus » Wed Nov 23, 2016 1:06 pm

You can try the last thing I was working on here before taking some time off - https://github.com/neomonkeus/pyffi/tree/hfloat
I can't remember if there was any additional work required after that point but if you see how it goes and provide any errors then can go from there.
- Please post bugs and feature requests on the forum.

Latest Blender Nif Plug-in News
Blender Nif Plug-in - Dev Version
Blender Nif Plug-in - Dev - Milestone/Issues

A diffuse map is a piece of paper which tells you where the bomb is so that you can diffuse it.
Please avoid using the .obj format, it usually ends in tears :D.
User avatar
neomonkeus
NifTools Developer
NifTools Developer
 
Posts: 1629
Joined: Wed Jul 14, 2010 12:14 pm
Location: whatever couch I can find, Ireland

Re: Support for Fallout 4 nifs?

Postby inawe » Thu Nov 24, 2016 3:52 am

Thank you for the reply neomonkeys. I'll give it a try. I was able to get the information I was looking for by using a Windows version of the "strings" command on the nifs and piping the output through grep, but I wouldn't mind something better formatted.
inawe
 
Posts: 3
Joined: Tue Nov 22, 2016 2:59 pm

Re: Support for Fallout 4 nifs?

Postby neomonkeus » Mon Nov 28, 2016 2:56 pm

Can you post the output failure you were getting when you try with the above.
Also note that I think the specific toaster spell would need to be updated if the block types have changed in f04.

Also, just to point out that the version of nif.xml reference in the pyffi commit is probably several versions behind the NifSkope version.
- Please post bugs and feature requests on the forum.

Latest Blender Nif Plug-in News
Blender Nif Plug-in - Dev Version
Blender Nif Plug-in - Dev - Milestone/Issues

A diffuse map is a piece of paper which tells you where the bomb is so that you can diffuse it.
Please avoid using the .obj format, it usually ends in tears :D.
User avatar
neomonkeus
NifTools Developer
NifTools Developer
 
Posts: 1629
Joined: Wed Jul 14, 2010 12:14 pm
Location: whatever couch I can find, Ireland

Re: Support for Fallout 4 nifs?

Postby inawe » Tue Nov 29, 2016 4:03 pm

I used the nif.xml from NifSkope 2.0 Pre-Alpha 6. After installing your hfloat branch, here is what I am getting:

C:\run\Python32\Scripts>niftoaster.py dump_tex "C:\temp 2\Fallout 4\Meshes\SetDressing\Rubble\AsphaltChunk01.nif"
pyffi.toaster:INFO:toasting with 2 threads in chunks of 64 files
pyffi.toaster:3732:INFO:=== C:\temp 2\Fallout 4\Meshes\SetDressing\Rubble\AsphaltChunk01.nif ===
Reading <class 'pyffi.formats.nif.NiNode'> failed
Traceback (most recent call last):
File "C:\run\Python32\lib\site-packages\pyffi\formats\nif\__init__.py", line 1371, in read
block.read(stream, self)
File "C:\run\Python32\lib\site-packages\pyffi\object_models\xml\struct_.py", line 352, in read
attr_value.read(stream, data)
File "C:\run\Python32\lib\site-packages\pyffi\object_models\xml\array.py", line 300, in read
elem.read(stream, data)
File "C:\run\Python32\lib\site-packages\pyffi\formats\nif\__init__.py", line 511, in read
stream.read(4))
struct.error: unpack requires a bytes object of length 4
pyffi.toaster:3732:ERROR:TEST FAILED ON C:\temp 2\Fallout 4\Meshes\SetDressing\Rubble\AsphaltChunk01.nif
pyffi.toaster:3732:ERROR:If you were running a spell that came with PyFFI, then
pyffi.toaster:3732:ERROR:please report this as a bug (include the file) on
pyffi.toaster:3732:ERROR:http://sourceforge.net/tracker/?group_id=199269
pyffi.toaster:INFO:Finished.

Thanks.
inawe
 
Posts: 3
Joined: Tue Nov 22, 2016 2:59 pm


Return to PyFFI Help & Bug Reports

Who is online

Users browsing this forum: No registered users and 1 guest