Release version 0.9.0
- Header compound overhaul. Wider version support, correct versioning, decoding of all unknowns.
- 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
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
- [ALL PARSERS] For
arg
attribute, you must support\
to mean compound member accessor. For exampleVertex Desc\Vertex Attributes
for the compoundBSVertexDesc
. - 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.
Addition and Complete Decoding
20.5+ Animation
NiSequenceData NiConstBoolEvaluator NiBSplinePoint3Evaluator
NiEvaluator NiConstFloatEvaluator NiBSplineCompPoint3Evaluator
NiKeyBasedEvaluator NiConstPoint3Evaluator NiBSplineTransformEvaluator
NiBoolEvaluator NiConstQuaternionEvaluator NiBSplineCompTransformEvaluator
NiBoolTimelineEvaluator NiConstTransformEvaluator NiLookAtEvaluator
NiColorEvaluator NiBSplineEvaluator NiPathEvaluator
NiFloatEvaluator NiBSplineColorEvaluator
NiPoint3Evaluator NiBSplineCompColorEvaluator
NiQuaternionEvaluator NiBSplineFloatEvaluator
NiTransformEvaluator NiBSplineCompFloatEvaluator
20.5+ Particles
NiPSParticleSystem NiPSEmitterCtlr NiPSEmitterRotSpeedCtlr
NiPSMeshParticleSystem NiPSEmitterFloatCtlr NiPSEmitterRotSpeedVarCtlr
NiPSFacingQuadGenerator NiPSEmitParticlesCtlr NiPSEmitterLifeSpanCtlr
NiPSAlignedQuadGenerator NiPSForceCtlr NiPSResetOnLoopCtlr
NiPSSimulator NiPSForceBoolCtlr NiPSCollider
NiPSBoundUpdater NiPSForceFloatCtlr NiPSPlanarCollider
NiPSForce NiPSForceActiveCtlr NiPSSphericalCollider
NiPSDragForce NiPSGravityStrengthCtlr NiPSSpawner
NiPSGravityForce NiPSEmitterSpeedCtlr
NiPSBombForce NiPSEmitterRadiusCtlr
NiPSEmitter NiPSEmitterDeclinationCtlr
NiPSVolumeEmitter NiPSEmitterDeclinationVarCtlr
NiPSBoxEmitter NiPSEmitterPlanarAngleCtlr
NiPSSphereEmitter NiPSEmitterPlanarAngleVarCtlr
NiPSCylinderEmitter NiPSEmitterRotAngleCtlr
NiPSMeshEmitter NiPSEmitterRotAngleVarCtlr
20.2.0.8+ PhysX
NiPhysXProp NiPhysXDest
NiPhysXPropDesc NiPhysXRigidBodyDest
NiPhysXActorDesc NiPhysXTransformDest
NiPhysXBodyDesc NiPhysXSrc
NiPhysXJointDesc NiPhysXRigidBodySrc
NiPhysXD6JointDesc NiPhysXKinematicSrc
NiPhysXShapeDesc NiPhysXDynamicSrc
NiPhysXMeshDesc
NiPhysXMaterialDesc