- Feb 09, 2018
- Feb 07, 2018
- Jan 22, 2018
-
-
Edoardo Canepa authored
-
- Jan 08, 2018
-
-
jonwd7 authored
-
jonwd7 authored
nifxml_doc was completely rewritten into nifdoc nifxml has not been cleaned up much yet, though everything was converted to Python 3, and almost everything relevant solely to niflib was moved out of nifxml.py and into gen_niflib, which will reside in the niflib repo. Removed all the HTML template files and simply use Python string formatting with block strings. nifxml no longer runs on import, so `parse_xml()` must be called from the calling script.
-
jonwd7 authored
-
jonwd7 authored
Removes extraneous comma from default attr list. Removes assumptions that the parser can handle `cond` checks against an NiObject type from inside of a `compound`. This required splitting up BSPackedCombinedSharedGeomDataExtra and BSPackedCombinedGeomDataExtra and repeating some of the data.
-
jonwd7 authored
10.0.1.2 does not have a User Version to check against, so the >= 3 of the condition previously wasn't even catching 10.0.1.2 since the User Version was 0. Fixes Havok for all files under 10.1.0.0.
-
- Dec 23, 2017
- Dec 17, 2017
-
-
jonwd7 authored
nifxml 0.9. Please read PR message for new features and required parser changes.
-
jonwd7 authored
-
jonwd7 authored
The game, Entropia Universe, only used Gamebryo between 2004 and 2009, when it switched to CryEngine 2. http://www.entropiawiki.com/Info.aspx?chart=VU&name=10.0
-
jonwd7 authored
Rename LOD levels in BSLODTriShape to match BSMeshLODTriShape. Made NiMeshModifier abstract. Named NiGeometryData Group ID, which is never used but is at least known.
-
- Dec 15, 2017
-
-
jonwd7 authored
Instead of requiring all parsers to special-case the arg passing for BSVertexDesc, have just adopted the `\` syntax for compound member accessor. So at least for parsers that do not internalize BSVertexDesc to be `uint64_t` or equivalent to mirror the game, all you need to do is support `\`. For C++ this would go from `Vertex Desc\Vertex Attributes` to `vertexDesc.vertexAttributes` The period syntax was decided against because it is not very visible and `\` is familiar from filepaths / directory trees.
-
- Dec 14, 2017
-
-
jonwd7 authored
Added NiSequenceData and NiEvaluator for 20.5.0.0+. In 20.5.0.0 NiSequenceData is an alias for NiControllerSequence. The XML does not handle this and will defer to parser support. It does not seem to happen in practice. For 20.5.0.1, NiSequenceData is a hybrid of old and new, pre-NiEvaluator. For 20.5.0.2+, NiEvaluator replaces NiInterpolator for everything. Data wise they are almost exactly the same. Also improved the default values for Blend and BSpline interpolators.
-
jonwd7 authored
BSPackedCombinedGeomDataExtra is the version of precombined produced by the CK, whereas all vanilla precombined was BSPackedCombinedGeomDataExtra. The latter is much smaller because it only includes a reference to the geometry. The CK precombined bakes all geometry into the file.
-
jonwd7 authored
Combined GeomMaterialData and MaterialData into one compound and changed NiRenderObject and NiGeometry to compensate, since they used the exact same format for material data. Moved more rows into MaterialData as well which simplified the conditioning/duplication on NiGeometry greatly.
-
jonwd7 authored
The header conditions did not apply to 20.0.0.4.10 which is apparently present in Steam distributions. The correct files are 20.0.0.5.11 which is a newer format. Fixed a condition in NiParticlesData that was accidentally applying to non-Bethesda NIFs.
-
- Nov 07, 2017
-
-
jonwd7 authored
Aids in proper creation of new blocks by having sound default values. Also splits Glossiness/Smoothness in BSLightingShaderProperty to have correct defaults and documentation on ranges. Unknown Float 1 was changed to Rimlight Power as well, and the next line, Backlight Power, relies on its value being FLT_MAX. So `Rimlight Power == 0x7F7FFFFF` is used as a `cond` for Backlight Power and this may require the parser to deal with a float to hex comparison.
-
- Oct 19, 2017
-
-
jonwd7 authored
The type was actually Bounding Volume, with the "unknown int" being the bound type. This compound already existed in the XML for other blocks.
-
jonwd7 authored
Missed field when transferring decoding from 010 templates.
-
jonwd7 authored
With gen_niflib supporting the prefix attribute, enums can be shifted to using it where needed. In this case the name attributes of the bitflags take up a lot of space in the UI and removing the prefix compacts this. Also made them more consistent. FO3 is now F3SF1/F3SF2 and FO4 is F4SF1/F4SF2.
-
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.
-