NifSkope 2.0 Dev

532 posts in this topic

Can someone please help me?.. I'm no PC wizard, I only make followers and a few other small things in Skyrim.. But after a hardware upgrade my drive was wiped clean of the versions of nifskope I used. When I reinstalled nifskope it doesn't matter which version I'm using this is what I get in the picture.. No BSlighting, bsshaders no way to access the texture paths etc.. 

The only obvious thing I can come up with is that i'm missing something but I been trying different solutions with no luck whatsoever.. I'm so sad :(

Any suggestions would be greatly appreciated. 



Share this post

Link to post
Share on other sites

Look at the top of that section. There's 2 tabs called "Name" and "Value". Move the "Value" tab further to the right.

Share this post

Link to post
Share on other sites
3 minutes ago, Kisuke said:

Look at the top of that section. There's 2 tabs called "Name" and "Value". Move the "Value" tab further to the right.

omg... lol 

wow just wow.. I can't believe I missed that... i just face palm... 

thank you..

Share this post

Link to post
Share on other sites

Good morning sir!

 How time consuming would it be to make it to where you could see your mouse x,y coords from the 3d area somewheres? Just had the idea, figured i would ask ya.



Also Since i can't seem to PM you. Ill just say this here.

PS. We appreciate your time man. It's really cool to be able to speak 1 on 1 with you. Most programs... you don't get that privilege. Thanks for every second you spend on this project, we all know you have a life and a day job to worry about, and family/friends etc.. With out your work we would be screwed. Thanks again. And many apologies for my nonsense before.

Share this post

Link to post
Share on other sites

EDIT: having added my custom texture with alpha channel to a vanilla mesh, I discovered that it worked.  The reason was that when I selected the texture with the purple flower, i navigated to a separate folder outside of the Fo3 data folder.  this caused the custom mesh to read the file as only the file name, whereas putting the custom texture onto a vanilla mesh caused the target destination to be rendered as E:/__my_folder/

typing a direct link to the file fixed the problem.  the Fo3 directory was mapped, so that's probably the "bug" if you could call it that.


i seem to be having some problems getting transparency to work on a fo3 nif; its a simple plane, i'm using the pre-fo4 intel photoshop dds plugin, i made a simple solid black color on my background, added an Alpha Channel, then made a number of dots from white to black and varying degrees of grey, this is just a test.  It should be showing up.  I've tried the default niAlphaProperty value of 237, then 4844, 4333, 4109, 4845, 4846, and i've gone through most of the options one by one with blending and testing on and off.


I cannot figure this out.  i've never had this problem before but its been awhile, i may have missed something entirely; the BsLightingPPShaderProp comes from a vanilla mesh, as well as the NiAlphaProperty, just copied over so idk.  i've messed with turning all the render elements on and off (textures, glow, specular, etc).  i've tried with and without random normal maps.  any ideas?



Share this post

Link to post
Share on other sites

Hey Jon, I Partially Decode some more of the Nif. BSSubIndexTriShape, 

Unknown Int 2, Is a Hex represents the Body Part Association for the Dismemberment system in the game. Which is linked to Selected Groups of Vertices

Array Indices = Partition


SSF File is regular String Relative File Path, Ie.  92=\ for 77=M, 101=e, 115=s, 65=A, 114=m 46=. ETC.


This is Meshes\Armor\ScienceScribe\FHelment.ssf


Just getting started

Note "-" means through

Ill keep working on that list there are around 100 of them


Share this post

Link to post
Share on other sites

I don't mean to detract from your work in any way -- it's always good that there are many people working on a certain thing --  but so far that stuff is already known. :P

The SSF File is that way simply because nif.xml doesn't have a string type which can handle it as no other string type uses a short (16-bit) value to hold the length.   Basically, it boils down to laziness.

The 0-6 is a bit more complicated than that, and the values don't strictly associate with a particular area across different Actors.  Look at Deathclaw for example, or Radscorpion.  Anyway those values are readily apparent as that's what I use to highlight the segment in the viewport when you select the Segment in the Segments array. 

The hashes are believed to be a hash of a string for the body part.  Strings can be found in the SSF files which loosely associate with each hash, but we've already tried Bethesda's own string hashing functions on the strings and don't get the same hashes.  Bethesda has their own CRC32 called BSCRC32 and it can be used case insensitively or not.  Also there aren't 100 of them, there are about 264 going from ousnius's collection of them.  I think we have other various analyses and data dumps floating around somewhere, but no real motivation/reason to compile this knowledge.

And going through various outfits you'll notice that there are a few different hashes used for the same areas of the body and IIRC looking at the strings didn't really reveal why the hash would be different.  Also across species sometimes what is considered a "head" has a different hash even though the associated strings in the SSF file still say "Head" and some NIFs don't even have an SSF file at all (e.g. BaseMaleHead) or the SSF file only lists a few of the actual body parts.  So the SSF file is only part of the picture. 

The CK lets you see a lot of this data btw:





In my testing just now I realized that the skeleton.nif has to be alongside the mesh before you load the CK Preview or the Bone dropdown doesn't propagate properly.  You can't just load a new reference skeleton it seems.   Anyway, the dropdown would appear to give all the strings that could possibly be associated with the hashes in the NIF files.  But since we tried turning these strings into hashes a few different ways and didn't get any matches,  the association would have to be made by hand for every single one.  That was the point where I gave up. :)

Some things to note:  

The "Biped Object" acts a lot like the enum from previous games.  Stuff involved with dismemberment is 100+,  there is some stuff between 30-60.  Basically this:


Except some of the values are off. 

Anyway, I suppose I will try to re-analyze the hashes against the bone strings some time in some bulk fashion.  I could compile the hashes and the strings in each file, and for each file that has a specific hash, I would be able to intersect all their strings and if they all have a certain string in common, it will show.   Of course a lot of outfits and things all have the same dummy bones so it wouldn't narrow it down fully.   This is also assuming the dummy bone strings are enough.  If I need to load the reference skeleton to get all the bone names then it will be hard to automate. 

I could also just reapproach the hashing.  Originally I had someone on the F4SE team actually run Bethesda's own hashing functions via the engine DLLs that come with the FO4 exporter and they didn't match.  I've since reversed the hashing function into my own program which I'm 100% sure is correct because they use the hashing functions in the BA2s, so I will retry them on the bone strings again just to be sure. 

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now