[INFO][RELZ] PyFFI-Python File Format Interface

Post » Mon May 02, 2011 8:35 pm

I have a question:

what exactly do these patch scripts that are included in the 2.1.9 beta actually do?
User avatar
Stefanny Cardona
 
Posts: 3352
Joined: Tue Dec 19, 2006 8:08 pm

Post » Tue May 03, 2011 6:30 am

I'm trying to use jonwd7's PyFFi Patcher to optimize my Vanilla Oblivion Meshes.bsa but I'm running into a problem at the Run Patcher.bat stage. Most of the nifs that it tries to patch reply back with the error "xdelta3:target window checksum mismatch: XD3_INVALID_INPUT" and it only manages to patch 2248 files out of the 10125 it should be doing. Why is this happening? I'm running this on Win7 with the Steam GOTY edition. I looked on the tesnexus download page and noticed that asianboy reported the same error but was not replied to. With so many people reporting success with this method I have to admit I'm a little stumped as to why it's not working for me.

Artorius.
User avatar
Marquis deVille
 
Posts: 3409
Joined: Thu Jul 26, 2007 8:24 am

Post » Tue May 03, 2011 2:43 am

what exactly do these patch scripts that are included in the 2.1.9 beta actually do?


  • The patch_recursive_apply script does the same as the patcher script of jonwd7 (so if you have pyffi, you don't need to download another tool).
  • The patch_recursive_make script allows anyone to create a set of patches, for any set of nifs (and actually, for any set of binary files, for that matter).


I'm trying to use jonwd7's PyFFi Patcher to optimize my Vanilla Oblivion Meshes but I'm running into a problem at the Run Patcher.bat stage. Most of the nifs that it tries to patch reply back with the error "window checksum mismatch: XD3_INVALID_INPUT" and it only manages to patch about 2800 files out of the 10125 it should be doing. I'm running this on Win7 with the Steam GOTY edition. I looked on the tesnexus download page and noticed that asianboy reported the same error but was not replied to. With so many people reporting success with this method I have to admit I'm a little stumped as to why it's not working for me.


The most logical explanation is that the steam version has slightly different nifs. If that's the case, a separate set of patches specifically for that version will have to be produced (and obviously this can only be done by someone that has the steam version).
User avatar
Sophie Morrell
 
Posts: 3364
Joined: Sat Aug 12, 2006 11:13 am

Post » Tue May 03, 2011 7:37 am


The most logical explanation is that the steam version has slightly different nifs. If that's the case, a separate set of patches specifically for that version will have to be produced (and obviously this can only be done by someone that has the steam version).


That's what worried me, seems like if I ever want to do this then I'll have to do it the long hard way.
User avatar
Esther Fernandez
 
Posts: 3415
Joined: Wed Sep 27, 2006 11:52 am

Post » Tue May 03, 2011 1:57 am

Even though I'm pretty sure about it, if you can tell the exact size of one of the nifs that fails to patch for you, then I (or someone else) am more than willing to check it against my set of extracted nifs (which is non-steam), for the sake of double checking that this is really the problem. Or maybe someone else with the steam version can confirm independently that the nifs aren't the same.

If difference in nifs is the cause, and you decide to go through the pain: if possible for you at all, then it's probably an excellent idea to also create and upload a set of patches on tesnexus, so others with the steam version can avoid the pain you've had to go through.

EDIT: Forgot to mention, new beta is just out at the usual place: https://github.com/amorilia/pyffi/downloads
User avatar
Sarah Edmunds
 
Posts: 3461
Joined: Sat Jul 08, 2006 8:03 pm

Post » Tue May 03, 2011 8:05 am

Hi all

I recently used PyFFi 2.1.7 on all of my meshes. Is there any reason I should use 2.1.8 or 2.1.9?

Thanks
User avatar
Heather Dawson
 
Posts: 3348
Joined: Sun Oct 15, 2006 4:14 pm

Post » Tue May 03, 2011 6:47 am

I'm trying to use jonwd7's PyFFi Patcher to optimize my Vanilla Oblivion Meshes.bsa but I'm running into a problem at the Run Patcher.bat stage. Most of the nifs that it tries to patch reply back with the error "xdelta3:target window checksum mismatch: XD3_INVALID_INPUT" and it only manages to patch 2248 files out of the 10125 it should be doing. Why is this happening? I'm running this on Win7 with the Steam GOTY edition. I looked on the tesnexus download page and noticed that asianboy reported the same error but was not replied to. With so many people reporting success with this method I have to admit I'm a little stumped as to why it's not working for me.Artorius.

The most logical explanation is that the steam version has slightly different nifs. If that's the case, a separate set of patches specifically for that version will have to be produced (and obviously this can only be done by someone that has the steam version).

That's what worried me, seems like if I ever want to do this then I'll have to do it the long hard way.

I have the checksums for the Oblivion - Meshes.bsa in the very top of the Nexus description for reason. I do need to update the readme in the archive itself, however.

Actually, if you could, please follow the instructions in the top of the Nexus description, and download that EXE (it has no installer) and report to me the checksums of your original Oblivion - Meshes.bsa. Then I'll at least know to put up some kind of warning for the Steam versions.

Even though I'm pretty sure about it, if you can tell the exact size of one of the nifs that fails to patch for you, then I (or someone else) am more than willing to check it against my set of extracted nifs (which is non-steam), for the sake of double checking that this is really the problem. Or maybe someone else with the steam version can confirm independently that the nifs aren't the same.If difference in nifs is the cause, and you decide to go through the pain: if possible for you at all, then it's probably an excellent idea to also create and upload a set of patches on tesnexus, so others with the steam version can avoid the pain you've had to go through.

Even better, that person could send me those patches so I could put them up in the files area with the others, so there is increased visibility for them. If people see on that very page there are two options, it would also lead to fewer errors. I would need to make the PatchMaker.bat available anyway. It's not in the archive, simply so there was less confusion and fewer errors if people used the wrong BAT.
User avatar
Nick Swan
 
Posts: 3511
Joined: Sat Dec 01, 2007 1:34 pm

Post » Tue May 03, 2011 3:44 am

Ok I've downloaded that utility and have found that the steam versions do indeed have different checksums:

Oblivion - Meshes.bsa

Size: 640 MB (671,405,897 bytes)
MD5:FA8F7F098F5166A16C02FD34BE88E381
SHA-1: C2252B75DA9DD8C88D46F03E3A6DBCDF8EB9E505

DLCShiveringIsles - Meshes.bsa

Size: 116 MB (122,339,871 bytes)
MD5: D7116A9A2E3819172CA29F3D84E084FE
SHA-1:8D2253048B4E90995487691C6CF761BC733C0FEE

Now I have no idea what any of that gobbledegook means but they are different from the ones you have put on nexus, the size of Oblivion - Meshes.bsa isn't even the same. I guess this is why it's not working for the Steam version.

Artorius.

Edit: Ok I've begun Pyffing my Oblivion Meshes.bsa with 2.18, wish me luck! I don't think I've ever asked my Quad Core to actually make full use of it's cores before, it's quite noisy in comparison to normal lol
User avatar
Enie van Bied
 
Posts: 3350
Joined: Sun Apr 22, 2007 11:47 pm

Post » Mon May 02, 2011 8:22 pm

I recently used PyFFi 2.1.7 on all of my meshes. Is there any reason I should use 2.1.8 or 2.1.9?


Not really. Some bugs have been fixed, but they affect only very particular nifs. The changes are documented here:

https://github.com/amorilia/pyffi/blob/python25/CHANGELOG.rst
User avatar
Aman Bhattal
 
Posts: 3424
Joined: Sun Dec 17, 2006 12:01 am

Post » Tue May 03, 2011 7:04 am

Well after just 3 hours; much shorter time length than I was expecting; it has completed pyffing. However when I checked the meshes folder in the Out folder, there were only 7716 files inside instead of the expected 10125 that were in the In folder. Is this expected or have I done something wrong somehow?
User avatar
Bird
 
Posts: 3492
Joined: Fri Nov 30, 2007 12:45 am

Post » Mon May 02, 2011 11:54 pm

Well after just 3 hours; much shorter time length than I was expecting; it has completed pyffing. However when I checked the meshes folder in the Out folder, there were only 7716 files inside instead of the expected 10125 that were in the In folder. Is this expected or have I done something wrong somehow?


No, PyFFI skips many files on purpose due to problems that can crop up due to optimization of certain meshes. Just combine the optimized meshes with the unoptimized (make sure the optimized get overwrite privileges) and re-pack the meshes BSA (and don't forget the trees folder).
User avatar
chirsty aggas
 
Posts: 3396
Joined: Wed Oct 04, 2006 9:23 am

Post » Mon May 02, 2011 9:15 pm

No, PyFFI skips many files on purpose due to problems that can crop up due to optimization of certain meshes. Just combine the optimized meshes with the unoptimized (make sure the optimized get overwrite privileges) and re-pack the meshes BSA (and don't forget the trees folder).


Thanks for the reply, I just figured this out lol. I guess it was just the shock of seeing it taking only 3 hours to do this. I guess some people have pretty ancient hardware so the horror stories of 12 hours to 3 days were what made me assume something had gone wrong.
User avatar
Bee Baby
 
Posts: 3450
Joined: Sun Jun 18, 2006 4:47 am

Post » Mon May 02, 2011 8:32 pm

Not really. Some bugs have been fixed, but they affect only very particular nifs. The changes are documented here:

https://github.com/amorilia/pyffi/blob/python25/CHANGELOG.rst


Thank you, I've updated to 2.1.8 to finish my remaining meshes. I will leave the others as is.
User avatar
Soph
 
Posts: 3499
Joined: Fri Oct 13, 2006 8:24 am

Post » Tue May 03, 2011 3:27 am

Any news on the integration of the optimize_farnif spell into the "Right-click Run PyFFI" method? :) Been thinking of pyffing Reneer's interiors mod (and all of its meshes are far_nifs)

Also, no anomalies to report yet. But is there a chance that a borked mesh might simply not show up in the game? (or be concentrated at a point, or fall through the ground or something) I've been looking for visual cues but that won't help in the above cases.
User avatar
Pawel Platek
 
Posts: 3489
Joined: Sat May 26, 2007 2:08 pm

Post » Mon May 02, 2011 10:45 pm

Not exactly. I installed the pre-optimized meshes for OOO and noticed the Shadowmail helmet mesh was all torn up (someone forgot to skip it), and it was displaying just fine... albeit looking like absolute rubbish that I cured just by running the optimization myself.
User avatar
Kari Depp
 
Posts: 3427
Joined: Wed Aug 23, 2006 3:19 pm

Post » Tue May 03, 2011 4:50 am

Shadowmail helmet mesh was all torn up (someone forgot to skip it), and it was displaying just fine... albeit looking like absolute rubbish

For a while there, I was wondering whether you just contradicted yourself :P (torn up but displaying fine? :D)

I take it you actually could "see" the torn up mesh fine. In which case, I've been really lucky :) (or pyffi's become awesomer!)
User avatar
clelia vega
 
Posts: 3433
Joined: Wed Mar 21, 2007 6:04 pm

Post » Tue May 03, 2011 2:25 am

Edit: 2.1.8 niftoaster.py is working fine now. Nevermind that. Maybe just a 2.1.7 problem or a bizarre problem on my side.

Upon installing 2.1.8, I notice the QScope shortcut won't work until I edit the location. I believe the problem arises from my Python 2.6.6 being installed to Program Files (x86) (UAC is turned off, so that isn't an issue). Specifically the QScope shortcut has to be edited from ["C:\Program Files (x86)\Python26\python.exe" C:\Program Files (x86)\Python26\Scripts\qskope.py] to ["C:\Program Files (x86)\Python26\python.exe" "C:\Program Files (x86)\Python26\Scripts\qskope.py"] adding quote marks. So it would seem that this should be changed if possible to use quotes by default? No big deal though.
User avatar
benjamin corsini
 
Posts: 3411
Joined: Tue Jul 31, 2007 11:32 pm

Post » Mon May 02, 2011 9:13 pm

Any news on the integration of the optimize_farnif spell into the "Right-click Run PyFFI" method?


Could you post this on the tracker under "feature requests"? (I might just keep forgetting about this otherwise...)

Also, no anomalies to report yet. But is there a chance that a borked mesh might simply not show up in the game? (or be concentrated at a point, or fall through the ground or something) I've been looking for visual cues but that won't help in the above cases.


I guess this might happen - if it does, well, then it does, and that's simply it... Let's hope there aren't too many of these. :)

Upon installing 2.1.8, I notice the QScope shortcut won't work until I edit the location.


A bug!! Thanks for mentioning, I've fixed this already in the installer script, and it will be included with the next beta. Here's the patch FYI:

https://github.com/amorilia/pyffi/commit/2c0abcd283ad74f02d0358bc4b94d64b787dd4a1
User avatar
Nancy RIP
 
Posts: 3519
Joined: Mon Jan 29, 2007 5:42 am

Post » Tue May 03, 2011 3:20 am

Could you post this on the tracker under "feature requests"?

Done :) Thanks for considering it. Currently using 2.1.9b2 for further pyffis
User avatar
Juan Cerda
 
Posts: 3426
Joined: Thu Jul 12, 2007 8:49 pm

Post » Tue May 03, 2011 9:48 am

I'm having trouble getting the further Far_Nif''s optimization batch file working. I've declared the source and destination directories, but when I run the batch file, the meshes I optimized aren't in the destination directory. Here's my batch file, maybe someone can spot a mistake I'm making:

"C:\Program Files (x86)\Python26\python.exe" "C:\Program Files (x86)\Python26\Scripts\niftoaster.py" --noninteractive opt_cleanfarnif  --dest-dir="C:\Games\PyFFI\utilities\toaster\out" --source-dir="C:\Users\Mark\Downloads\RAEVWD_Extra_Rocks\meshes" --pause --overwrite "%1" > "PyFFILog.txt"

User avatar
sas
 
Posts: 3435
Joined: Thu Aug 03, 2006 8:40 am

Post » Mon May 02, 2011 9:21 pm

Anybody have a clue as to why the batch script I posted above doesn't work correctly?
User avatar
Brandon Bernardi
 
Posts: 3481
Joined: Tue Sep 25, 2007 9:06 am

Post » Tue May 03, 2011 5:04 am

I'm running 2.1.9 Beta 2, and I don't have the option to "optimize with PyFFI" when right-clicking on optimize_oblivion.ini.

You can forget my last post. I'm just going to make an INI file for cleaning far_nifs.
User avatar
Samantha Jane Adams
 
Posts: 3433
Joined: Mon Dec 04, 2006 4:00 pm

Post » Mon May 02, 2011 8:59 pm

I'm running 2.1.9 Beta 2, and I don't have the option to "optimize with PyFFI" when right-clicking on optimize_oblivion.ini.

You can forget my last post. I'm just going to make an INI file for cleaning far_nifs.


I'm using version 2.18 which I don't think is all that different, and for me it is the 3rd option on my right click menu. It's "Run Pyffi" though which might be what's confusing you.
User avatar
Rob Smith
 
Posts: 3424
Joined: Wed Oct 03, 2007 5:30 pm

Post » Mon May 02, 2011 7:30 pm

I'm using version 2.18 which I don't think is all that different, and for me it is the 3rd option on my right click menu. It's "Run Pyffi" though which might be what's confusing you.


No, I'm not confused. There is no PyFFI option of any kind when I right-click the optimize INI. May be a bug with the beta 2 release...
User avatar
Jimmie Allen
 
Posts: 3358
Joined: Sun Oct 14, 2007 6:39 am

Post » Mon May 02, 2011 10:02 pm

Do you use Notepad++ (or any other 3rd party text editor)? I had that problem when ini files were associated to Notepad++

PS: For the record, both PyFFI 2.1.9b2 and b3 do have the "Run PyFFI" option for me.
User avatar
Kira! :)))
 
Posts: 3496
Joined: Fri Mar 02, 2007 1:07 pm

PreviousNext

Return to IV - Oblivion