Jump to content

NifSkope 2.0 Dev


Jon

Recommended Posts

Having a ton of version specific behavior managed outside of Spells is simply not something NifSkope should be doing, nor is it really set up to be able to.   What you said may be true for Skyrim and only Skyrim, or maybe it's true for Skyrim and FO3 but not FO4 or Oblivion.  Things get messy fast when trying to do various things for each version.

 

Like zilav is saying, I'm also not a fan of hand-holding.  There are error messages for things that actually cause errors while modifying various fields.  But those are actual errors, not suggestions.  I especially will not have NifSkope "not perform that translation" because this is just as confusing to users as the behavior you think needs fixing.

 

And as zilav said, that is what Apply Transform is for.  It pushes the transform down the hierarchy as far as it can.

Link to comment
Share on other sites

Hello Jon,

 

First, thank you for maintaining Nifskope and updating it for Fallout 4, it is an amazing, must have utility.  I don't know if you are accepting request or if this is the place to do it, but here goes :)

 

I am curious if you intend to improve support for editing Fallout 4's snap-points.  I saw you mentioned in a previous post that you don't like mucking about with game specific stuff, but it would be great if you could make it possible to delete/add "Connect Points" from anywhere in the hierarchy and add the ability to move them up and down.  These two features alone would increase my productivity ten-fold.

 

I've got a few other suggestions about snap-points, but I'll save them, as I don't want to annoy you too much and I don't know if you have addressed this elsewhere (I couldn't find anything).

Link to comment
Share on other sites

  • 2 weeks later...

Rotation, translation and scale data are not being copied and pasted when copying and pasting an NiTransformInterpolator, it seems. Using dev 5 and working on .nifs for New Vegas. 

Link to comment
Share on other sites

Tricky,  I'll need more elaboration.  NiTransformInterpolator does not hold the rotation, translation, or scale data.  That's the NiTransformData's job.  If you mean the values on that block with the names Translation, Rotation, and Scale, then it's not possible because these are simple types such as Vector3, Quaternion, and float respectively.   If these types are not copying for you, then the same types on any other block would not be copying for you either, meaning the entire program would be busted as pretty much every type vital to a NIF is a float or a Vector3.

 

Furthermore, I cannot reproduce this.  I copied an NiTransformInterpolator in an NiControllerManager from one file into another and both the interpolator and the NiTransformData copied perfectly.  https://i.imgur.com/EVlDcUX.png   ... I entered non-default values into Translation and Scale to make sure they were copying.   This was on a FO3 NIF but it should make no difference.

 

I'll need more specifics to understand your issue, but if I interpreted it correctly and you mean the Vector3, Quaternion, and float in that block, something would be critically wrong with the program for all blocks if they are not copying/pasting.   Copying/pasting just uses the same functions which are run during save/load, so if the issue is as you stated the NIF would just get those values cleared out upon save which I assume is not happening.

 

I assume when you say dev5 you mean the last build I shared in this thread, yes?  There are lots of dev5 builds at this point. :)

Link to comment
Share on other sites

Hey Mr. Jon, Thank you for your hard work with this project. I don't know how to thank you. Do you have a donation page or anything? 

 

I apologize if this is in the wrong spot, and for posting this on the sourceforge page as well.

 

Fallout 4

 

If you could sir, I need your help on a bug (apparently it's not effecting many users) I am having issues with the rendering Reflections on glass are not showing, and all the textures are loading in what looks like lower quality. I have been working on a mod (embedding real glass into nifs then moving the vertices to "make room" for the glass, near impossible to see the overlap without the reflection on the glass rendering) up until recently (which also randomly stopped working on public dev5) opening nifskope.exe directly Then opening the nif would "force" the renderer to work properly for me. I am on the 8-8-16 pre pre alpha now as per your previous suggestion to fix the double clicking to open bug from dev5 public release. Currently using my Alienware M18X R2 with dual nVidia 980m in SLI (i have tried disabling sli for testing. turning of shader caching. down grading drivers to a previous one that "worked-ish" and just today updating to the newest 372.70. I haven't had any luck yet. 

 

I am not a hard core programmer like you so I'm not sure what to tell you to help you help me. A couple things i have noticed (very sorry if they are irrelevant!!) toggling vertex colors doesn't do anything visually for me neither does cube mapping. Again, not sure if those matter for What i am trying to see. sorry again. It seems like one of the shaders aren't working for me.

 

Here are some examples of my modding partners render window vs. mine (he is also using Geforce cards in his computer)

Friends Working

iSBZcJC.jpg

 

 

And mine not working :(

xVyT7dx.jpg

 

I am at a loss, I also tried running as admin and several compatiblity modes for good measure.

Also deleted the previous folder completely and re-extracted the files.

 

Thank you for your time and help Jon, You da man!

Link to comment
Share on other sites

Yes, last version posted. Copying an NiTransformInterpolator with its "data, linked to, and pasting it again did not preserve any values in NiTransformData. I've tried this again within the same .nif and wasn't able to reproduce it just as of now, but I also don't have schizophrenia and hallucinate things happening that aren't real. If it happens again, I'll let you know. 

 

I've also noticed that values aren't being entered correctly when entering numbers for translation/rotation for nodes.

 

Example: input '100.2' is actually registered as '100.199997' instead.

Link to comment
Share on other sites

I can confirm this issue when adjusting vertex points in BsTrishape as well. It's not consistent and seems to happen on save. Some times the number will be slightly off from what was inputed 2.0 will sometimes come back as 1.99997 or something similar. Just a hair off.

Link to comment
Share on other sites

You guys realize floating point numbers are imprecise, right?  https://en.wikipedia.org/wiki/Single-precision_floating-point_format

 

100.2 -> 100.199997 is perfectly likely to happen with floating point numbers.

 

KK, I assume your 2.0 example is made up?  2.0 can be perfectly represented with a floating point value, considering it's just 2^1.  In fact every integer between -2^24 and 2^24 can be perfectly represented.

 

KK, regarding your previous post, your shaders are being completely disabled.  I have a 980Ti so I'm not sure why your 980M would really be any different.  Unfortunately I have no idea how to fix the shaders since glslLangValidator says they are fine, yet random card/driver combinations seem to choke and die on them.   I'll PM you later with a more in-depth reply on the matter, and perhaps you will be willing to test out different shaders I send to find what part of the shader code is the culprit. 

Link to comment
Share on other sites

Yes sir Jon. That example was made up. I couldn't remember the exact numbers it happened on. Thanks for the info on the single float. Good read!

Also yes I would be willing to test anything you need at anytime. Worst case I'll reinstall Windows. Lol. Just saying ready and willing. I appreciate you looking into it sir.

Link to comment
Share on other sites

Yep, I know what they are. If they're actually floating point values and which only get tied down to 6 significant figures after being inputted, then I wonder what was different in previous versions, because It never used to happen, and actually is a hindrance to being able to - in real-time - preview translation changes. 

Link to comment
Share on other sites

Well, the amount of digits was 4 before, so I increased it.  I'm not sure what your issue is then. They were floats, getting truncated to 4 places, which is really mega ultra bad.  It meant that just double clicking on a field and not changing anything and then clicking out would truncate virtually any floating point value from single precision to half precision, roughly. 

 

This was the extent of my changes relevant to this:

 

9rq8ezc.png

 

So I think the "never used to happen" is just faulty memory on your part, unless I'm still misunderstanding something.   Was it better that it was getting truncated to 4 for you?    The amount that the values change when using the up/down arrows didn't change either.

 

So what exactly is the hindrance?  All I can see is benefits, i.e. not decimating your floating point values and allowing for smaller changes.

 

I suppose I can have settings to allow users to customize how much the up/down arrows increase a floating point value.  This would make changes even easier I think,  though I'm still not getting how going from 4 -> 6 is worse for you. 

Link to comment
Share on other sites

I understand what you're saying, but perhaps we're not talking about the same thing. More precision is obviously better. I use NifSkope on an almost daily basis and I think it's fantastic that you're actively developing it. 

 

How I mean that it - whatever it is, related to this floating point business or not - is hindering is similar to a previous post where I describe using the Transform → Edit dialog to rotate things, but rotation values past a certain amount become redefined like in another quadrant, with -90º being replaced with 270º, etc.

 

So, when manually entering in translation values using the same dialog, typing out '2.x' gets replaced with '1.999...' as soon as the decimal is entered, which doesn't let me move the thing by the desired 2.x. While I would agree that a 2 may as well be a 1.999... in this specific case, it actually should be a 2 so that I can continue entering a value greater than 2 when using the dialog.

 

This is when I would want to move something by a tiny amount and don't actually know what value to use, so I try and approximate it and refine it while looking at the thing updating in real-time.

 

It may seem like I'm complaining, and I probably am. I could use the block details to move something instead, but it's something I've noticed and thought I'd mention. 

 

------------------------------------------------------------------

 

Edit: it seems like any time after I mention something I can't repeat it... I may have faulty RAM. 

 

Edit 2: I ran a memory test and results came back clean. 

Link to comment
Share on other sites

Hey there, Jon. I apologize if this has been asked before but I was wondering about a Flip Faces option. I remember using that quite a bit with Skyrim meshes and there didn't seem to be an option there for it with the 2.0 dev 4 version that I have while working with a Fallout 4 mesh. Am I missing it or is it not available anymore? 

 

Thanks so much for all your hard work! Nifskope has been pretty invaluable to me over the years. :) 

Link to comment
Share on other sites

All the stuff you get from the context menu are Spells, and Spells are specific to NIF versions.  FO4 NIFs are very different and those spells just don't work on them yet.  I only have a few of the spells in the Mesh category working for FO4 NIFs.  There is no reason that Flip Faces hasn't been updated other than I just haven't bothered to do it yet.

Link to comment
Share on other sites

Hello Jon.

 

I just tried the 08-08 build coming from the 04-20 build.  I'm experiencing a program crash when I try to change the length of an array.  More specifically the number of objects in a NiAVDefaultObjectPalette block. I reduced the number of objects in the block and when I click the reorder/refresh icon, crash.  I tried the same in the 04-20 build with no issue I could see.  Is the reorder link arrays spell not compatible with FO4 nifs?

 

Sorry if this is already a known issue, I didn't see it since the 08-08 release post.

Link to comment
Share on other sites

Odd. It's something specific to NiAVDefaultObjectPalette though.  It doesn't happen for arrays on any other block I've tested.  Some builds between 4-20 and 8-08 did have issues with array updating, but I resolved them.   I can reproduce the crash though, so I'll be able to debug it.

 

Btw, the spell that runs with the button is Array > Update.  Reorder Link Arrays is something completely different.

 

Edit:  Just looking at it again, I'm guessing because it's an array of compounds. A "compound" is a complex type and it's functionally similar to having an array of arrays, except with a compound the types of each row can vary.  

 

Arrays of compounds are fairly rare, which is why I never caught it. 

 

Edit2: Actually, Vertex Data is an array of compounds on FO4 NIFs, and I can reduce the vertex count just fine.  So it might be something a bit more specific to NiAVDefaultObjectPalette.  I'll know once I debug later. 

Link to comment
Share on other sites

NifSkope Experimental 2016-09-15

 

For those using the 2016-08-08 experimental, though I do suggest if you are reading this and are still using the 4-20 release that you upgrade and test this build for me.

 

Fixed the crash reported above.  Was actually a very simple null check issue (assumed something could never be null in a certain place).

 

Since that's the first actual bug reported in over a month I think I'm finally ready to do an official GitHub release with all the refactoring.  I kept it as "experimental" / pre-pre-alpha for so long because I wanted to be sure that the refactoring was stable.  The only bugs for months have been funky UI issues, i.e. non-critical.

 

For anyone who hasn't really tracked the refactor it entails:

 

- Faster loading

- Much faster data manipulation after loading (copy/paste, delete branch)

- Reimplemented row hiding that doesn't bring the program to a crawl.  Row hiding is hiding all the grayed out rows.  Before it only used to hide the grayed out rows that were grayed out because they were for another NIF version.

 

 

There were also a lot of other improvements I will list in the changelog when I put it up on GitHub. 

Link to comment
Share on other sites

Hey Mr. Jon, Would it be at all possible to get a spell to Calculate object bounds. Have been doing a lot buildable objects and smashing together BSTriShapes. I know this feature exsists in CK but every time i run it, my esps end up shrinking by about 30k, Im not sure what the CK is deleting but it freaks me out, since the esp is 100% xEdit. :)

Link to comment
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
×
×
  • Create New...