Header compound overhaul. Wider version support, correct versioning, unknown decoding.
Removal of niflibtype - generators must map this internally.
NiPhysX block decoding
NiPS* block decoding
NiEvaluator (20.5+ KF) decoding
NiMesh skinning block decoding
Added 30.2.0.3 support to <version>
Major documentation changes at block and row level
Type narrowing for Ref and Ptr where possible
Major structural changes to:
NiBSpline* blocks
NiControllerSequence
NiSourceTexture
NiPixelData and NiPersistentSrcTextureRendererData
NiMesh/NiGeometry - moved shared data into a compound
New Attributes
prefix for enum/bitflags. It is used for prepending to each enum option name where necessary.
suffix for add. It is appended to the name of the add where necessary.
Required Parser Changes
[ALL PARSERS] For arg attribute, you must support \ to mean compound member accessor. For example Vertex Desc\Vertex Attributes for the compound BSVertexDesc.
If using C-style enums that need unique enumerator names, you must combine the prefix and the name on enum/bitflags.
If generating class variables in a strongly typed language, you must append the suffix to the variable name. The suffix is provided when multiple <add> use the same name but the type differs per version. They are always exclusive by version but sometimes the type changes.
Release version 0.9.0
niflibtype
- generators must map this internally.<version>
New Attributes
prefix
forenum
/bitflags
. It is used for prepending to each enum option name where necessary.suffix
foradd
. It is appended to the name of theadd
where necessary.Required Parser Changes
arg
attribute, you must support\
to mean compound member accessor. For exampleVertex Desc\Vertex Attributes
for the compoundBSVertexDesc
.enum
/bitflags
.<add>
use the same name but the type differs per version. They are always exclusive by version but sometimes the type changes.