From f7402198799435ee5bcfd4f214800743c3104816 Mon Sep 17 00:00:00 2001 From: jonwd7 <jon.wd7@gmail.com> Date: Fri, 15 Dec 2017 06:53:04 -0500 Subject: [PATCH] [PARSER CHANGES REQUIRED] Use `\` as compound member accessor 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. --- nif.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nif.xml b/nif.xml index f56e118..a92905a 100644 --- a/nif.xml +++ b/nif.xml @@ -4404,7 +4404,7 @@ <add name="Data Size" type="uint" ver="20.2.0.7" userver2="100" /> <add name="Vertex Size" type="uint" ver="20.2.0.7" userver2="100" /> <add name="Vertex Desc" type="BSVertexDesc" ver="20.2.0.7" userver2="100" /> - <add name="Vertex Data" type="BSVertexDataSSE" arg="Vertex Desc" arr1="Data Size / Vertex Size" cond="Data Size > 0" ver="20.2.0.7" userver2="100" /> + <add name="Vertex Data" type="BSVertexDataSSE" arg="Vertex Desc\Vertex Attributes" arr1="Data Size / Vertex Size" cond="Data Size > 0" ver="20.2.0.7" userver2="100" /> <add name="Partition" type="SkinPartition" arr1="Num Skin Partition Blocks" ver="20.2.0.7" userver2="100" /> </niobject> @@ -7099,8 +7099,8 @@ <add name="Num Triangles" type="ushort" vercond="User Version 2 < 130" /> <add name="Num Vertices" type="ushort" /> <add name="Data Size" type="uint" /> - <add name="Vertex Data" type="BSVertexData" arr1="Num Vertices" arg="Vertex Desc" cond="Data Size > 0" userver2="130" /> - <add name="Vertex Data" type="BSVertexDataSSE" arr1="Num Vertices" arg="Vertex Desc" cond="Data Size > 0" userver2="100" /> + <add name="Vertex Data" type="BSVertexData" arr1="Num Vertices" arg="Vertex Desc\Vertex Attributes" cond="Data Size > 0" userver2="130" /> + <add name="Vertex Data" type="BSVertexDataSSE" arr1="Num Vertices" arg="Vertex Desc\Vertex Attributes" cond="Data Size > 0" userver2="100" /> <add name="Triangles" type="Triangle" arr1="Num Triangles" cond="Data Size > 0" /> <add name="Particle Data Size" type="uint" userver2="100" /> <add name="Vertices" type="Vector3" arr1="Num Vertices" cond="Particle Data Size > 0" userver2="100" /> @@ -7254,7 +7254,7 @@ <add name="Num Combined" type="uint" /> <add name="Combined" type="BSPackedGeomDataCombined" arr1="Num Combined" /> <add name="Vertex Desc" type="BSVertexDesc" /> - <add name="Vertex Data" type="BSVertexData" arr1="Num Verts" arg="Vertex Desc" cond="!BSPackedCombinedSharedGeomDataExtra" /> + <add name="Vertex Data" type="BSVertexData" arr1="Num Verts" arg="Vertex Desc\Vertex Attributes" cond="!BSPackedCombinedSharedGeomDataExtra" /> <add name="Triangles" type="Triangle" arr1="Tri Count LOD0 + Tri Count LOD1 + Tri Count LOD2" cond="!BSPackedCombinedSharedGeomDataExtra" /> </compound> -- GitLab