- Oct 19, 2017
-
-
jonwd7 authored
-
- Oct 17, 2017
- Oct 16, 2017
-
-
jonwd7 authored
Narrow and correct the template types used for refs where possible. Give correct inheritance to shader properties for Skyrim and later.
-
- Oct 15, 2017
-
-
jonwd7 authored
Oblivion appears to use TransformA and TransformB just like FO3 and later but the orders of the vectors appear to be swapped for each transform. At least this makes the constraints render consistent with FO3+.
-
- Oct 14, 2017
-
-
jonwd7 authored
The mapping will now be done in nifdocsys.
-
jonwd7 authored
Changed to be more in line with the real names. Combined the FO4 BSGeometrySegmentData with the old BSGeometrySegmentData in the same compound so that they would be the same type/variable for niflib on BSSubIndexTriShape and removed the suffix attr for it.
-
- Oct 09, 2017
-
-
jonwd7 authored
Use BSVertexDesc everywhere applicable. Now passing in the entire compound as an ARG. This means that a parser either has to treat BSVertexDesc as a uint64 and then shift to VF6-VF7, use & overloads for the class, or special case the class in some way. Changed BS Properties fixed-size link array to two flat Refs as they are always a Shader Property and an Alpha Property and are dealt with flatly in-engine as well.
-
- Oct 07, 2017
-
-
jonwd7 authored
nifdocsys will cast duplicate names as long as the types are integral and the largest type is first.
-
jonwd7 authored
"Signed" turned into `signed` which is a reserved keyword in C++. A ref was missing a template.
-
jonwd7 authored
Also some decoding and major corrections. NiParticlesData and NiPSysData were almost completely wrong. NiGeometryData was wrong. NiGeometry was wrong. This was mostly due to Bethesda changing or breaking inheritance for derived types. For Bethesda 20.2 NIFs NiParticlesData now inherits from NiObject directly. NiParticleSystem changes between BSGeometry or NiGeometry based on version. This resulted in NiPSysData and NiParticleSystem being almost completely wrong for later Bethesda versions. Also changed all misuses of `User Version` to differentiate Bethesda versions to `User Version 2`.
-
jonwd7 authored
-
jonwd7 authored
-
- Oct 04, 2017
-
-
jonwd7 authored
Removal of extraneous or inaccurate "Unknown" descriptions, removal of unhelpful, repetitive and unnecessary descriptions. Clarification of many descriptions. Clarification of some names. Focus on more useful descriptions for particle system blocks.
-
- Sep 23, 2017
-
-
jonwd7 authored
Prefix actual Havok lib types with 'hk', remove 'hk' from TriangleData as it is a Bethesda type.
-
- Sep 19, 2017
- Sep 16, 2017
-
-
jonwd7 authored
Corrected naming, filled unknowns, and redid documentation for NiControllerSequence/NiSequence incl the ControlledBlock compound. Added documentation regarding Controller ID and Interpolator ID (previously "Variable 1" and "Variable 2"). Added a few missing controllers. Fixed NiLightColorController to not be related to NiMaterialColorController. Fixed BSPSysMultiTargetEmitterCtlr inheritance.
-
- Sep 15, 2017
-
-
jonwd7 authored
Filled out and fixed enum and some compound documentation, changed names to match engine types. Started marking some enums/compounds as Bethesda-specific. Also shifted NiPoint3InterpController members to NiMaterialColorController where they belonged.
-
- Sep 14, 2017
- Sep 13, 2017
-
-
jonwd7 authored
Offset and Half Range are the correct names for the compact control point data used to decompress the compact control points. Beware for NiBSplineTransformInterpolator and NiBSplineCompTransformInterpolator the naming has shifted for "Offset". "Offset" is now "Handle" and "Bias" is now "Offset". This means the same names still exist but for different rows. Also shifted some types around to the correct classes and filled out some unknowns.
-
- Sep 12, 2017
-
-
jonwd7 authored
Fixed a few enum types to bitflags. Renamed some compounds to match the types in engine. Removed MTransform because it doesn't exist. The NiAVObject transform is simply an NiTransform written out of order. Switched types to use NiQuatTransform where applicable. Made an NiPlane compound to match the type used in engine. Switched types to use NiPlane where applicable. Removed some unused compounds and commented code.
-
- Sep 10, 2017
-
-
jonwd7 authored
Major cleanup to the niobject documentation as well as addition of deprecation and removal info where applicable.
-
- Sep 08, 2017
-
-
jonwd7 authored
Also added an enum value from FO4.
-
jonwd7 authored
-
jonwd7 authored
Redid most of NiPixelData and NiPersistentSrcTextureRendererData. Cleaned up NiTexturingProperty naming and versions, merged NiMultiTextureProperty with NiTexturingProperty as the separate declarations were unnecessary and repetitive. Filled out incomplete enums.
-
- Sep 06, 2017
- Aug 16, 2017
-
-
jonwd7 authored
-
jonwd7 authored
-
jonwd7 authored
-
jonwd7 authored
The blocks were almost entirely undecoded before, with incomplete linkage (Ref fields). They are now completely decoded and I do not believe there were any regressions for past NIF versions, but it would be hard to test as I do not have NIFs before 30.1 with these blocks. However the version conditions were all maintained and corrected on the fields that were already decoded for 20.x.
-
- Aug 14, 2017
-
-
jonwd7 authored
Almost completely redone with correct version ranges, fixed names, fixed types, and corrections for 30.x NIFs. 30.x NIFs with embedded thumbnail metadata would not load before these fixes. Also, BSStreamHeader was annotated but a compound for it was not feasible for several reasons, namely the nesting of `User Version 2` which would break existing parsers. This also leads to the ugly repetition of the cond expression for it.
-
- Aug 02, 2017
-
-
jonwd7 authored
Duplicate name avoidance was too strict and unnecessary in these cases. Nifdocsys will now attempt to cast subsequent duplicate names to the correct types in order to ensure correct read/write size. As such the first type should always be the largest, so the "Flags" fields on NiAVObject were switched. So in the case of Flags and Body Flags, a uint data member will be created on the class and will be read/written to with a cast during I/O. The suffix is still required when the types are not castable between one another.
-
jonwd7 authored
-
- Jun 27, 2017
-
-
jonwd7 authored
Enforce that niflib must use a completely native type for BSVertexData using NifStream istream/ostream overloads. See: https://github.com/niftools/nifdocsys/pull/6#issuecomment-311345131
-
jonwd7 authored
-
jonwd7 authored
Updates for niflib. Implemented a prefix and suffix attribute in the XML spec to allow gen_niflib.py to deal with name uniqueness issues for enums and `<add>` names. Closes #63 Closes #64
-