Comments (7)
@BadDogSkyrim As you can see based on the following commits, that part of the code is a bit prone to errors and regression.
eae5755
bb1f7a6
I don't feel comfortable touching that function with a 10-foot pole without doing extensive tests with different NIF files and combinations of segments. Unfortunately nifly doesn't have much FO4 or any segmentation tests currently.
If you have the time and interest, do you think you could possibly do some testing with different ways of filling segments?
- Shape without segments (or just one segment)
- Shape with empty segments before used segments
- Shape with used segments and empty trailing segments
- Shape with empty segments inbetween used segments (gaps)
- Resaving and editing various vanilla FO4 NIFs with different types of segmentation
- more...
from nifly.
Sure, I can do. I've got a set of regression tests in place already--cuz I'm too much of a klutz to do this stuff without a safety net--and I can make sure your scenarios are covered. I know heads do your #4 (empty segments between used segments) bc heads are seg 1 and necks are seg 3 in the head nifs (that's 0-based).
from nifly.
I ran full regression tests on that fix I posted, covering all your scenarios, and they all check out. So I'm as confident in it as I can be.
I can share the tests, but they call in through my DLL wrapper layer so they may not be that useful to you.
from nifly.
@BadDogSkyrim Thanks for testing it thoroughly. Feel free to make a PR anytime, I will do some of my own testing then as well.
from nifly.
@BadDogSkyrim @sts1skj Fixed this with #26
from nifly.
Cool, thx. I had pulled in the latest changes preparatory to a PR, but I'll pull down these changes instead and run them through my test suite.
from nifly.
The new updates check out on my end.
from nifly.
Related Issues (12)
- request for reuse HOT 2
- static library size is too big. HOT 5
- Copy particleNorms before resizing? HOT 1
- bulk convert nif static meshes to fbx? HOT 1
- how to read other game's nif file? HOT 3
- NifFile::SetVertsForShape resets shape's flags under certain conditions HOT 1
- Minor inconsistency of parameters in "Get/Set...ForShape" methods of NifFile class HOT 4
- Auto-correct env map and external emittance flags in optimization HOT 3
- FO76 - NifFile::GetTextureSlot returning empty strings HOT 3
- Nifly doesn't read NIFs with skinned meshes without Vertex Weights in NiSkinData properly HOT 1
- NifFile::Save removing/reordering strings in the header HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nifly.