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

Post » Mon Apr 26, 2010 1:44 pm

Yeah, that blank space is really silly. Anyway, just wanted to say that the Pyffi team are doing a great job. :foodndrink:
User avatar
Spooky Angel
 
Posts: 3500
Joined: Thu Aug 10, 2006 5:41 pm

Post » Mon Apr 26, 2010 8:57 am

Amorilia and folks

I did a little bit of testing now with the latet PyFFI version 2.1.3 as linked in http://www.gamesas.com/bgsforums/index.php?s=&showtopic=1061938&view=findpost&p=15680128. Just for the record, I did my testing on my PC that still has WinXP 32bit as operating system.

1. default.ini and oblivion_optimize do now open and format correctly in Windows Notepad
2. default.ini and oblivion_optimize do now recognize the toaster\in folder as the default folder to look for meshes to treat
3. PyFFI will start and run normally, treating any meshes or mesh folders from the "in" folder
4. The skiplist is working. Meshes with names that are listed in the the skiplist were not treated. Also, PyFFI did not copy them over into the "out" folder, which is correct.
5. In particular, PyFFI takes care of the problem Baphometal pointed out when the first character is an empty character (or space?). The pyffied meshes do still have that empty character at the beginning of the name. Therefore the reported problem with the .bsa repack and the WTF sign suddenly showing up must come from somewhere else. I suspect it is omitted somewhere during .bsa re-pack by OBMM. I did not do any testing on this, though.

Could someone please run a Pyffi test on a Windows 7 rig. That would be cool.

I think there is no longer any need for the 2 alternative .ini files I uploaded on 4Shared. I will later edit the respective post and delete the download links. So a big thank you Amorilia, for this fine latest version!! :thumbsup:
User avatar
candice keenan
 
Posts: 3510
Joined: Tue Dec 05, 2006 10:43 pm

Post » Mon Apr 26, 2010 5:56 am

cave problem:
Some cave mesh names have a blank character as first character of their name, unpacking - pyffiing - packing and/or copying something removes this first character (blank character). The result is a missing mesh.

5. In particular, PyFFI takes care of the problem Baphometal pointed out when the first character is an empty character (or space?). The pyffied meshes do still have that empty character at the beginning of the name. Therefore the reported problem with the .bsa repack and the WTF sign suddenly showing up must come from somewhere else. I suspect it is omitted somewhere during .bsa re-pack by OBMM. I did not do any testing on this, though.


Now it's unpleasant. At least for the ones who like to make beckup of everything.

Any file copied with a initial space in his name will be pasted without it. The SO are the culprit!! Also you can't name/rename any file with a initial space, so you can't fix the first problem. So, you need to pyffi the unpacked bsa, no the bakcup of it (what I previously did...). I also tested repack with OBMM and it don't mess with the blank character (space).

Tnx Tommy H and Baphometal.
User avatar
Queen Bitch
 
Posts: 3312
Joined: Fri Dec 15, 2006 2:43 pm

Post » Mon Apr 26, 2010 8:22 am

I can't get PyFFI to run. I though it was if you has sub-folders, inside a meshes folder, but it isn't. I can right-click and optimize like that. No problems there, but using the toaster thing - I have my meshes folder in the "in" directory. My optimize and default.ini's are there as well. I right-click the optimize.ini and select run PyFFI and the command prompt opens for a second and then closes. I don't know. It ran for me when I was optimizing my vanilla meshes (once I removed the trees and lod folders). But this is the second thing I've tried to optimize and it hasn't worked.

Here are my ini files:
; PyFFI version 2.1.3; by Amorilia; PyFFI 2.1.3 uses two config files: default.ini and oblivion_otimize.ini; This is the default.ini; It must be present in the \PyFFI\utilities\toaster\in folder; Instructions; ------------; Always keep un-pyffied backups of the meshes you are going to process!; User needs to change two variables in this file, as necessary for him:; 1. Change the "Oblivion =" path to point to where the \toaster\in folder is located on your PC. ;    This is where you will put the meshes or the meshes folder that you want to pyffi.; 2. Under "options", set the number of CPU cores as applicable on your PC.[DEFAULT]Oblivion = C:\Program Files (x86)\PyFFI\utilities\toaster\in;fallout3 = C:\path\to\your\fallout3\nifs;morrowind = C:\path\to\your\morrowind\nifs[main]folder = ./in[options]jobs = 4 ;set this to the number of cores you havesourcedir = ./indestdir = ./outresume = Truepause = True; All credit for PyFFI goes to Amorilia.; File created by Tommy_H on 18.02.2010.; Please advise of any problems with it.


; PyFFI version 2.1.3; by Amorilia; PyFFI 2.1.3 uses two config files: default.ini and oblivion_otimize.ini; This is the oblivion_optimze.ini; It must be present in the \PyFFI\utilities\toaster\in folder; Instructions; ------------; Always keep un-pyffied backups of the meshes you are going to process!; The path which points to the meshes you want to treat is set in the default.ini, not here! :); Copy the meshes for treatment in the folder that you have set in the default.ini; Start the PyFFI-fication process by right-clicking the oblivion_optimze.ini file and selecting "Run PyFFI"; Be patient for the run to finish. Depending on the amount of meshes and your PC speed, it may even take several hours.; On a dual core Intel E8400 running at stock 3 GHz, treating some 35 MB of meshes took around 20 minutes.[main]spell = optimizefolder = %(oblivion)s[options]sourcedir = %(oblivion)s; any patterns of files that should be skipped; (without quotes, separate different regular expressions by a space); at the moment:; - skipping hair nifs (vertex ordering!); - skipping roothavok nifs (not sure why, investigating); - skipping any nif that is known to have an egm or tri associated with it;   find . -name "*.egm" -or -name "*.tri" | sed 'sX.*/XXg' | sed 'sX.tri$XXg' | sed 'sX.egm$XXg' | sort | uniq | xargs;   (not necessary if all egm files are included, such as in vanilla Oblivion,;   but some mods only include nifs without egm files, and this makes sure;   these cases are handled as well)skip = hair roothavok argoniandecoratedspikes argonianfins argonianjeweledfins argonianridge argonianspikes argonianspines beard blindfold bretonmaletonsure darkelffemalefringe darkelffemaletopknot darkelfmane darkelfmohawk earsdarkelf earsdarkelf_50 earshighelf earshighelf_50 earshuman earshuman_50 earskhajiit earsorc earsorc_50 earswoodelf earswoodelf_50 emperor eyeleftargonian eyelefthuman eyerightargonian eyerighthuman hairdremora hairdremorab hairdremoralord headargonian headhuman headhuman_50 headkhajiit headorc helmet helmetcaptain helmetelite highelffemalebun highelfmaleclassic highelfmalecone highelfmalepeak highelfmalepony hood humanfemalefringes imperialbald imperialheadband khajiitbraid khajiitcommon khajiitdreds khajiitearrings khajiitfeathers khajiitheadband khajiitjeweled khajiitmane khajiitmouth khajiitteethlower khajiitteethupper khajiittongue khajiitwisps mouthargonian mouthhuman nordfemalebunches nordmalebaldpony orcfemalebraids orcfemalebun orcfemalebunches orcfemaleplaits orcheadband orcmaleromantic orcmalestubs orcmaletopknot orcmouth orconebraid orcteethlower orcteethupper orctongue orctwobraids orcupdo redguardfemalecoil redguardfemaledredz redguardmaleclassic redguardmalecornrows style01 style02 style03 style04 style05 style06 style07 teethlowerargonian teethlowerhuman teethupperargonian teethupperhuman tongueargonian tonguehuman woodelffemalefringes woodelffemalepony woodelfmalepony woodelfmalespiky; All credit for PyFFI goes to Amorilia.; File created by Tommy_H on 18.02.2010.; Please advise of any problems with it.

User avatar
Len swann
 
Posts: 3466
Joined: Mon Jun 18, 2007 5:02 pm

Post » Mon Apr 26, 2010 11:31 am

A message comes up in the command prompt, but it goes by too fast to read it. Sorry about the double post but there was no "edit" option for some reason.

EDIT

Oops, yes there was.
User avatar
XPidgex Jefferson
 
Posts: 3398
Joined: Fri Sep 08, 2006 4:39 pm

Post » Mon Apr 26, 2010 2:25 am

Amorilia released a new version. I suggest you uninstall Pyffi, download the new version from post #159 and do it again.
The two .ini files need to be in the toaster folder, not the toaster\in folder.
User avatar
Maddy Paul
 
Posts: 3430
Joined: Wed Feb 14, 2007 4:20 pm

Post » Mon Apr 26, 2010 9:44 am

Amorilia released a new version. I suggest you uninstall Pyffi, download the new version from post #159 and do it again.
The two .ini files need to be in the toaster folder, not the toaster\in folder.


The instructions said to put it in the "in" folder though. Booboo on your part. And it did work for me once though. It works now though. Thanks.
User avatar
Kay O'Hara
 
Posts: 3366
Joined: Sun Jan 14, 2007 8:04 pm

Post » Mon Apr 26, 2010 3:41 am

The instructions said to put it in the "in" folder though. Booboo on your part. And it did work for me once though. It works now though. Thanks.

Booboo? :huh: Booboo?? : :lmao: Booboouuaahaha! Hahaha Ha ha ha ha :lol: That was a good one! I have :rofl: to stop reading you or it will kill me... :rofl:
User avatar
Emilie M
 
Posts: 3419
Joined: Fri Mar 16, 2007 9:08 am

Post » Mon Apr 26, 2010 1:01 pm

cave problem:
Some cave mesh names have a blank character as first character of their name, unpacking - pyffiing - packing and/or copying something removes this first character (blank character). The result is a missing mesh.
...yawn


I found the same thing. However, I did a quick test with PyFFI and I can confirm that PyFFI does not remove the space from the beginning of the name. I then packed the PyFFIed meshes into an archive using 7z and the spaces were again not removed. I eventually found that it is cutting then pasting the meshes somewhere else that removes the spaces.

My suggestion then is to pack the meshes into a BSA or 7z archive directly from PyFFI's Out folder.

EDIT: This all doesn't really matter though. The UOP already contains all of those meshes. And the UOP meshes are already PyFFIed and may have some additional optimisation done to them too.

@Tommy_H
I have Windows 7 and I've used PyFFI on some meshes. What did you want to know?
User avatar
Dean
 
Posts: 3438
Joined: Fri Jul 27, 2007 4:58 pm

Post » Mon Apr 26, 2010 7:58 am

@Tommy_H
I have Windows 7 and I've used PyFFI on some meshes. What did you want to know?

Nothing in particular, really just to know if the new PyffI works normally also under Windows 7. Thank you, JdeRau :)
User avatar
Trevi
 
Posts: 3404
Joined: Fri Apr 06, 2007 8:26 pm

Post » Mon Apr 26, 2010 12:32 am

Nothing in particular, really just to know if the new PyffI works normally also under Windows 7. Thank you, JdeRau :)


It sure does. I have W7x64. Aside from those issues with the Optimize.ini not running. I have had no problems with the actual PyFFI'ing process. Just getting it to run in the first place. Seems to be okay now though.
User avatar
Leticia Hernandez
 
Posts: 3426
Joined: Tue Oct 23, 2007 9:46 am

Post » Mon Apr 26, 2010 11:03 am

Just to say thanks for all the testing, folks! I'm happy that everything appears to be working well for everyone. As suggested, the folder-right-click-method should ideally also look at the .ini file for the jobs and skip settings (it doesn't at the moment...), and I'll try to implement this next weekend.

Then I hope that l can finally continue with my vertex cache experiments to produce better strips, hopefully resulting in yet another (small?) fps boost.
User avatar
Silvia Gil
 
Posts: 3433
Joined: Mon Nov 20, 2006 9:31 pm

Post » Mon Apr 26, 2010 1:29 am

Ok, I think I'm ready to try PyFFing again.

So, I have the latest PyFFI version (2.1.3) and the PyFFI Automation Utility Alpha5.
I also made sure that I have the latest default.ini and Oblivion_Optimize.ini

The part I am confused on though is this...

Am I supposed to use the Automation Utility to run PyFFi? If so, than shouldn't I
be editing the pyffi_script.ini instead of being worried about the Oblivion_Optimize.ini?

The last time I did this, I never even knew about the Oblivion_Optimize.ini


Thanks for putting up with my dumb question.
User avatar
Matthew Aaron Evans
 
Posts: 3361
Joined: Wed Jul 25, 2007 2:59 am

Post » Mon Apr 26, 2010 8:49 am

@Far327
No, you don't have to use the Automation utility to PyFFI your meshes since Amorilia has now included some aspects of that tool into PyFFI.

To use PyFFI's automation utility, you must first find your PyFFI installation directory. Then open the Utilities/Toaster folder. After that, put your meshes into the In folder, make the relevant changes to Default.ini and Oblivion_Optimise.ini, right-click on Oblivion_optimise.ini and click on "Run PyFFI".

@Amorilia
I have finally finished optimising all my Oblivion and mod added meshes and quickly tried it out in my game. Unfortunately, I have not seen any changes to my FPS. Or at least none while standing still in the Leyawiin Fighters Guild (where my FPS hovers around 4-5). I'm guessing though that this would be due to non-graphics related components being Oblivion's bottleneck in my case (I have a Pentium 4 3GHz HT CPU, 2GB DDR 400 RAM and a Geforce 7950 512MB).
User avatar
Dominic Vaughan
 
Posts: 3531
Joined: Mon May 14, 2007 1:47 pm

Post » Mon Apr 26, 2010 11:41 am

Thank you JdeRau.

So the changes needed to be made in the Oblivion_Optimise.ini are relevant on a per mod basis?
Or, does this Optimise.ini contain all the necessary file types that will automatically get skipped regardless of the mod I run through PyFFi?

If I just used the Automation Utility, what are the files or files types I need to tell PyFFi to skip?
Last I read by Tommy_H, it is "hair" and "roothavok" - are there any others besides these?
If I only listed these in the skip list, would I be safe to run PyFFi on all my meshes without worry?

Sorry for all questions.

Thanks again
User avatar
Skivs
 
Posts: 3550
Joined: Sat Dec 01, 2007 10:06 pm

Post » Mon Apr 26, 2010 1:44 pm

The Optimise.ini already contains what you need. The only reason you would need to change the Optimise.ini is because you have some changes to make to the skip list.

From what I have seen, it is only hair meshes and the RootHavok 01 to 08 meshes that needs to be skipped. The thing is I recently PyFFIed all of my meshes recently and I used an empty skip list. I then used the character creation screen to check some of the hair styles available and I can't see any problems at all. I don't know what to make of this exactly but maybe having hair styles in the skip list isn't necessary. Unless there is some other problem that I can't see. I haven't managed to check PyFFI's effect on the RootHavok meshes yet.

Edit: Changed 2 words to eliminate misunderstandings.
User avatar
Kellymarie Heppell
 
Posts: 3456
Joined: Mon Jul 24, 2006 4:37 am

Post » Mon Apr 26, 2010 10:16 am

Thanks again! You've answered all of my questions. :) There are many helpful posters on this thread. Nice to see some helpful support with such a complex tool. However, it is way less complex than it used to be.
User avatar
Kill Bill
 
Posts: 3355
Joined: Wed Aug 30, 2006 2:22 am

Post » Mon Apr 26, 2010 4:56 am

Hello far327, I would recommend to not use the Automation / Alpha tool and do the pyffification directly with pyffi itself (right-clicking on oblivion_optimize.ini). It is also quicker than the Alpha tool.

EDIT: The jury is still out whether it is safe to pyffi hair - or any of the other skip words in the ob_opt.ini. If you are patient enough, you can definitely try pyffi everything and see if you spot any defects in-game then. What I understand any defects should be small anyway and may require a keen eye and knowing what to look for. As long as you always can fall back on unpyffied backup meshes, you are totally free to try the "unsafe" meshes too. In fact, Amorilia would very much welcome feedback on this. But the skiplist is what historically used to be unsafe.

To make the perfect skiplist for your installation, you make an explorer search of your OB\data\ folder, including all subfolders, for all files with the extension .egm or .tri. Then compare the search results list with the words contained in ob_opt.ini and append any missing words (without extension). However, even if some words *ARE* absent from the ob_opt.ini, as long as the absent .egm and .tri files are in the same directory as the .nif file, pyffi will skip the .nif file anyway.

To be safe, I would recommend to use all the skip words from the skip list and do not use a very short skiplist. Beyond that, it is your decision as to how adventurous you want to be with pyffification. :) Hope it helps.
User avatar
Lloyd Muldowney
 
Posts: 3497
Joined: Wed May 23, 2007 2:08 pm

Post » Mon Apr 26, 2010 9:42 am

Thanks Tommy_H! I think I'll just go crazy and PyFFi all my meshes all at once and keep backups. I'm more of a tester of sorts anyways, so if I can provide some helpful feedback on this thread, than that would be better for everyone. Thanks for your instructions and suggestions :)
User avatar
Samantha Jane Adams
 
Posts: 3433
Joined: Mon Dec 04, 2006 4:00 pm

Post » Mon Apr 26, 2010 11:37 am

http://www.sendspace.com/file/t1no48

Another update, with improved skip list (contributed by Tommy_H), and...

Unrelated: Any word on when the vertex reduction code will be available for the spell that makes _far.nifs?


Pacific Morrowind implemented a opt_reducegeometry spell, which is now included. It's very rudimentary and will not always produce very nice results, therefore it's not yet part of the makefar spell. But it brings it one step closer to reality.

I haven't been following along as closely as I should be, but this optimize.ini file. Does it take effect for those of us using the right-click-on-folder method? If not, is there any chance it could?


The right-click method now looks at the default.ini and oblivion_optimize.ini files as well, and therefore will also take into account the skip list, the jobs setting, etc. (it will ignore the resume setting, obviously, because it overwrites files and resume works by not overwriting files...).
User avatar
Josh Trembly
 
Posts: 3381
Joined: Fri Nov 02, 2007 9:25 am

Post » Mon Apr 26, 2010 5:57 am

Alrighty question time.
I downloaded python2.6.4.msi installed it.
Then I installed PyFFI-2.1.3.
I also downloaded Alpha5 of the automated PyFFI program.
Assuming I'm running on a fresh install of Oblivion to the default C:/Program Files/, and using Windows XP Pro SP3. I went into the automated programs INI and changed the "D:\" to "C:\". But I didn't see any further instructions in the Readme. What's next?

Ravin
User avatar
Claire Mclaughlin
 
Posts: 3361
Joined: Mon Jul 31, 2006 6:55 am

Post » Mon Apr 26, 2010 1:02 pm

You don't need the alpha tool anymore, pyffi has its own skip list and pause/resume features
User avatar
Charlie Sarson
 
Posts: 3445
Joined: Thu May 17, 2007 12:38 pm

Post » Mon Apr 26, 2010 11:28 am

http://www.sendspace.com/file/t1no48
The right-click method now looks at the default.ini and oblivion_optimize.ini files as well, and therefore will also take into account the skip list, the jobs setting, etc. (it will ignore the resume setting, obviously, because it overwrites files and resume works by not overwriting files...).
This is good news! Looking forward to trying this out now!

Thanks for fixing this issue

@RavinXX - It seems that the right click method is the way to go. Or, you can copy the meshes you wish to run with PyFFI into the "In" folder within the PyFFi installation file location. I don't have it in front of me right now, but the "in" and "out" folders should be located in the same path as the default.ini and oblivion_optimise.ini

I prefer just to right click on the meshes folder as I go thru each mod, but that's just me.
User avatar
kennedy
 
Posts: 3299
Joined: Mon Oct 16, 2006 1:53 am

Post » Mon Apr 26, 2010 4:54 am

You don't need the alpha tool anymore, pyffi has its own skip list and pause/resume features


So.... now I know what to do even less?

EDIT@Far327: So to optimize Vanilla meshes I should unpack them with the BSA unpacker that comes with OBMM?

Ravin
User avatar
Tha King o Geekz
 
Posts: 3556
Joined: Mon May 07, 2007 9:14 pm

Post » Mon Apr 26, 2010 5:23 am

So.... now I know what to do even less?

EDIT@Far327: So to optimize Vanilla meshes I should unpack them with the BSA unpacker that comes with OBMM?

Ravin


Yes. Just choose "Unpack all" when doing to BSA unpacking with OBMM. When uppacking the Oblivion - Meshes.bsa file you should end up with 3 folders...

Meshes
Trees
Distant LOD

Just right click on the meshes folder and choose "Optimize with PyFFi"

Or

you could unpack the Oblivion - Meshes.bsa to the "In" folder within the PyFFi installation location. Once unpacked there, you would need to right click on the Oblivion_optimise.ini file to run the "Optimise with PyFFi" option on the files you placed within the "in" folder.

Either way should work according to the latest PyFFI update.
User avatar
Elea Rossi
 
Posts: 3554
Joined: Tue Mar 27, 2007 1:39 am

PreviousNext

Return to IV - Oblivion