From 7660a228eb2813678223f4c1e364d42e713674bc Mon Sep 17 00:00:00 2001 From: dexy Date: Fri, 21 Dec 2018 20:11:28 +1100 Subject: [PATCH] Renamed skin vertex types and adjusted vertex layouts --- .../GameFiles/Resources/VertexType.cs | 24 +-- Rendering/Shaders/BasicShader.cs | 45 +++-- Rendering/Shaders/ShadowShader.cs | 18 +- Rendering/VertexTypes.cs | 186 +++++++++--------- 4 files changed, 139 insertions(+), 134 deletions(-) diff --git a/CodeWalker.Core/GameFiles/Resources/VertexType.cs b/CodeWalker.Core/GameFiles/Resources/VertexType.cs index 1c5fefc..3957f7f 100644 --- a/CodeWalker.Core/GameFiles/Resources/VertexType.cs +++ b/CodeWalker.Core/GameFiles/Resources/VertexType.cs @@ -15,8 +15,8 @@ namespace CodeWalker.GameFiles DefaultEx = 16473, //PNCTX PNCCT = 121, PNCCTTTT = 1017, - PCCNCCTTX = 16639, - PCCNCCT = 127, + PBBNCCTTX = 16639, + PBBNCCT = 127, PNCTTTX = 16857, PNCTTX = 16601, PNCTTTX_2 = 19545, @@ -24,9 +24,9 @@ namespace CodeWalker.GameFiles PNCCTTX = 16633, PNCCTTX_2 = 17017, PNCCTTTX = 17145, - PCCNCCTX = 16511, - PCCNCTX = 16479, - PCCNCT = 95, + PBBNCCTX = 16511, + PBBNCTX = 16479, + PBBNCT = 95, PNCCTT = 249, PNCCTX = 16505, PCT = 81, @@ -39,16 +39,16 @@ namespace CodeWalker.GameFiles PNCH2 = 2147483737, //0x80000059 (89 + 0x80000000) Default Cloth? PNCTTTTX = 19673, //normal_spec_detail_dpm_vertdecal_tnt PNCTTTT = 985, - PCCNCCTT = 255, + PBBNCCTT = 255, PCTT = 209, - PCCCCT = 119, - PCCNC = 31, - PCCNCTT = 223, - PCCNCTTX = 16607, - PCCNCTTT = 479, + PBBCCT = 119, + PBBNC = 31, + PBBNCTT = 223, + PBBNCTTX = 16607, + PBBNCTTT = 479, PNCTT = 217, PNCTTT = 473, - PCCNCTTTX = 16863, + PBBNCTTTX = 16863, } diff --git a/Rendering/Shaders/BasicShader.cs b/Rendering/Shaders/BasicShader.cs index ad1f93b..99246ca 100644 --- a/Rendering/Shaders/BasicShader.cs +++ b/Rendering/Shaders/BasicShader.cs @@ -214,38 +214,43 @@ namespace CodeWalker.Rendering //supported layouts - requires Position, Normal, Colour, Texcoord layouts.Add(VertexType.Default, new InputLayout(device, vspnctbytes, VertexTypeDefault.GetLayout())); layouts.Add(VertexType.PNCH2, new InputLayout(device, vspnctbytes, VertexTypePNCH2.GetLayout())); + layouts.Add(VertexType.PNCTT, new InputLayout(device, vspnctbytes, VertexTypePNCTT.GetLayout())); + layouts.Add(VertexType.PNCTTT, new InputLayout(device, vspnctbytes, VertexTypePNCTTT.GetLayout())); + layouts.Add(VertexType.PBBNCT, new InputLayout(device, vspnctbytes, VertexTypePBBNCT.GetLayout())); + layouts.Add(VertexType.PBBNCTT, new InputLayout(device, vspnctbytes, VertexTypePBBNCTT.GetLayout())); + layouts.Add(VertexType.PBBNCTTT, new InputLayout(device, vspnctbytes, VertexTypePBBNCTTT.GetLayout())); - layouts.Add(VertexType.PCCNCT, new InputLayout(device, vspncctbytes, VertexTypePCCNCT.GetLayout())); - layouts.Add(VertexType.PCCNCCT, new InputLayout(device, vspncctbytes, VertexTypePCCNCCT.GetLayout())); layouts.Add(VertexType.PNCCT, new InputLayout(device, vspncctbytes, VertexTypePNCCT.GetLayout())); + layouts.Add(VertexType.PBBNCCT, new InputLayout(device, vspncctbytes, VertexTypePBBNCCT.GetLayout())); + layouts.Add(VertexType.PNCCTT, new InputLayout(device, vspnccttbytes, VertexTypePNCCTT.GetLayout())); + layouts.Add(VertexType.PNCCTTTT, new InputLayout(device, vspncctttbytes, VertexTypePNCCTTTT.GetLayout())); + //normalmap layouts - requires Position, Normal, Colour, Texcoord, Tangent (X) layouts.Add(VertexType.DefaultEx, new InputLayout(device, vspnctxbytes, VertexTypeDefaultEx.GetLayout())); layouts.Add(VertexType.PCCH2H4, new InputLayout(device, vspnctxbytes, VertexTypePCCH2H4.GetLayout())); + layouts.Add(VertexType.PBBNCTX, new InputLayout(device, vspnctxbytes, VertexTypePBBNCTX.GetLayout())); - layouts.Add(VertexType.PCCNCTX, new InputLayout(device, vspncctxbytes, VertexTypePCCNCTX.GetLayout())); - layouts.Add(VertexType.PCCNCCTX, new InputLayout(device, vspncctxbytes, VertexTypePCCNCCTX.GetLayout())); layouts.Add(VertexType.PNCCTX, new InputLayout(device, vspncctxbytes, VertexTypePNCCTX.GetLayout())); + layouts.Add(VertexType.PBBNCCTX, new InputLayout(device, vspncctxbytes, VertexTypePBBNCCTX.GetLayout())); + layouts.Add(VertexType.PNCTTX, new InputLayout(device, vspncttxbytes, VertexTypePNCTTX.GetLayout())); + layouts.Add(VertexType.PBBNCTTX, new InputLayout(device, vspncttxbytes, VertexTypePBBNCTTX.GetLayout())); + layouts.Add(VertexType.PBBNCTTTX, new InputLayout(device, vspncttxbytes, VertexTypePBBNCTTTX.GetLayout())); + layouts.Add(VertexType.PNCCTTX, new InputLayout(device, vspnccttxbytes, VertexTypePNCCTTX.GetLayout())); layouts.Add(VertexType.PNCCTTX_2, new InputLayout(device, vspnccttxbytes, VertexTypePNCCTTX_2.GetLayout())); - layouts.Add(VertexType.PCCNCCTTX, new InputLayout(device, vspnccttxbytes, VertexTypePCCNCCTTX.GetLayout())); layouts.Add(VertexType.PNCTTTX, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTX.GetLayout())); layouts.Add(VertexType.PNCTTTX_2, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTX_2.GetLayout())); layouts.Add(VertexType.PNCTTTX_3, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTX_3.GetLayout())); layouts.Add(VertexType.PNCTTTTX, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTTX.GetLayout())); layouts.Add(VertexType.PNCCTTTX, new InputLayout(device, vspncctttxbytes, VertexTypePNCCTTTX.GetLayout())); - layouts.Add(VertexType.PCCNCTTTX, new InputLayout(device, vspncctttxbytes, VertexTypePCCNCTTTX.GetLayout())); + layouts.Add(VertexType.PBBNCCTTX, new InputLayout(device, vspnccttxbytes, VertexTypePBBNCCTTX.GetLayout())); - layouts.Add(VertexType.PCCNCTT, new InputLayout(device, vspnccttbytes, VertexTypePCCNCTT.GetLayout())); - layouts.Add(VertexType.PCCNCTTX, new InputLayout(device, vspnccttxbytes, VertexTypePCCNCTTX.GetLayout())); - layouts.Add(VertexType.PCCNCTTT, new InputLayout(device, vspncctttbytes, VertexTypePCCNCTTT.GetLayout())); - layouts.Add(VertexType.PNCTT, new InputLayout(device, vspnctbytes, VertexTypePNCTT.GetLayout())); - layouts.Add(VertexType.PNCTTT, new InputLayout(device, vspnctbytes, VertexTypePNCTTT.GetLayout())); @@ -357,40 +362,40 @@ namespace CodeWalker.Rendering case VertexType.PNCH2: case VertexType.PNCTT: case VertexType.PNCTTT: + case VertexType.PBBNCT: + case VertexType.PBBNCTT: + case VertexType.PBBNCTTT: vs = basicvspnct; break; - case VertexType.PCCNCT: - case VertexType.PCCNCCT: case VertexType.PNCCT: + case VertexType.PBBNCCT: vs = basicvspncct; break; case VertexType.PNCCTT://not used? - case VertexType.PCCNCTT: vs = basicvspncctt; break; case VertexType.PNCCTTTT://not used? - case VertexType.PCCNCTTT: vs = basicvspnccttt; break; case VertexType.DefaultEx: case VertexType.PCCH2H4: + case VertexType.PBBNCTX: vs = basicvspnctx; break; - case VertexType.PCCNCTX: - case VertexType.PCCNCCTX: + case VertexType.PBBNCCTX: case VertexType.PNCCTX: vs = basicvspncctx; break; case VertexType.PNCTTX: + case VertexType.PBBNCTTX: vs = basicvspncttx; break; case VertexType.PNCCTTX://not used? case VertexType.PNCCTTX_2://not used? - case VertexType.PCCNCCTTX://not used? - case VertexType.PCCNCTTX: + case VertexType.PBBNCCTTX://not used? vs = basicvspnccttx; break; @@ -398,11 +403,11 @@ namespace CodeWalker.Rendering case VertexType.PNCTTTX_2: case VertexType.PNCTTTX_3: case VertexType.PNCTTTTX: //not using last texcoords! + case VertexType.PBBNCTTTX: vs = basicvspnctttx; break; case VertexType.PNCCTTTX://not used? - case VertexType.PCCNCTTTX: vs = basicvspncctttx; break; diff --git a/Rendering/Shaders/ShadowShader.cs b/Rendering/Shaders/ShadowShader.cs index e3b82cf..54514ff 100644 --- a/Rendering/Shaders/ShadowShader.cs +++ b/Rendering/Shaders/ShadowShader.cs @@ -93,8 +93,8 @@ namespace CodeWalker.Rendering layouts.Add(VertexType.DefaultEx, new InputLayout(device, vsbytes, VertexTypeDefaultEx.GetLayout())); layouts.Add(VertexType.PNCCT, new InputLayout(device, vsbytes, VertexTypePNCCT.GetLayout())); layouts.Add(VertexType.PNCCTTTT, new InputLayout(device, vsbytes, VertexTypePNCCTTTT.GetLayout())); - layouts.Add(VertexType.PCCNCCTTX, new InputLayout(device, vsbytes, VertexTypePCCNCCTTX.GetLayout())); - layouts.Add(VertexType.PCCNCCT, new InputLayout(device, vsbytes, VertexTypePCCNCCT.GetLayout())); + layouts.Add(VertexType.PBBNCCTTX, new InputLayout(device, vsbytes, VertexTypePBBNCCTTX.GetLayout())); + layouts.Add(VertexType.PBBNCCT, new InputLayout(device, vsbytes, VertexTypePBBNCCT.GetLayout())); layouts.Add(VertexType.PNCTTTX, new InputLayout(device, vsbytes, VertexTypePNCTTTX.GetLayout())); layouts.Add(VertexType.PNCTTTX_2, new InputLayout(device, vsbytes, VertexTypePNCTTTX_2.GetLayout())); layouts.Add(VertexType.PNCTTTX_3, new InputLayout(device, vsbytes, VertexTypePNCTTTX_3.GetLayout())); @@ -103,19 +103,19 @@ namespace CodeWalker.Rendering layouts.Add(VertexType.PNCCTTX, new InputLayout(device, vsbytes, VertexTypePNCCTTX.GetLayout())); layouts.Add(VertexType.PNCCTTX_2, new InputLayout(device, vsbytes, VertexTypePNCCTTX_2.GetLayout())); layouts.Add(VertexType.PNCCTTTX, new InputLayout(device, vsbytes, VertexTypePNCCTTTX.GetLayout())); - layouts.Add(VertexType.PCCNCCTX, new InputLayout(device, vsbytes, VertexTypePCCNCCTX.GetLayout())); - layouts.Add(VertexType.PCCNCTX, new InputLayout(device, vsbytes, VertexTypePCCNCTX.GetLayout())); - layouts.Add(VertexType.PCCNCT, new InputLayout(device, vsbytes, VertexTypePCCNCT.GetLayout())); + layouts.Add(VertexType.PBBNCCTX, new InputLayout(device, vsbytes, VertexTypePBBNCCTX.GetLayout())); + layouts.Add(VertexType.PBBNCTX, new InputLayout(device, vsbytes, VertexTypePBBNCTX.GetLayout())); + layouts.Add(VertexType.PBBNCT, new InputLayout(device, vsbytes, VertexTypePBBNCT.GetLayout())); layouts.Add(VertexType.PNCCTT, new InputLayout(device, vsbytes, VertexTypePNCCTT.GetLayout())); layouts.Add(VertexType.PNCCTX, new InputLayout(device, vsbytes, VertexTypePNCCTX.GetLayout())); layouts.Add(VertexType.PNCH2, new InputLayout(device, vsbytes, VertexTypePNCH2.GetLayout())); layouts.Add(VertexType.PCCH2H4, new InputLayout(device, vsbytes, VertexTypePCCH2H4.GetLayout())); - layouts.Add(VertexType.PCCNCTT, new InputLayout(device, vsbytes, VertexTypePCCNCTT.GetLayout())); - layouts.Add(VertexType.PCCNCTTX, new InputLayout(device, vsbytes, VertexTypePCCNCTTX.GetLayout())); - layouts.Add(VertexType.PCCNCTTT, new InputLayout(device, vsbytes, VertexTypePCCNCTTT.GetLayout())); + layouts.Add(VertexType.PBBNCTT, new InputLayout(device, vsbytes, VertexTypePBBNCTT.GetLayout())); + layouts.Add(VertexType.PBBNCTTX, new InputLayout(device, vsbytes, VertexTypePBBNCTTX.GetLayout())); + layouts.Add(VertexType.PBBNCTTT, new InputLayout(device, vsbytes, VertexTypePBBNCTTT.GetLayout())); layouts.Add(VertexType.PNCTT, new InputLayout(device, vsbytes, VertexTypePNCTT.GetLayout())); layouts.Add(VertexType.PNCTTT, new InputLayout(device, vsbytes, VertexTypePNCTTT.GetLayout())); - layouts.Add(VertexType.PCCNCTTTX, new InputLayout(device, vsbytes, VertexTypePCCNCTTTX.GetLayout())); + layouts.Add(VertexType.PBBNCTTTX, new InputLayout(device, vsbytes, VertexTypePBBNCTTTX.GetLayout())); diff --git a/Rendering/VertexTypes.cs b/Rendering/VertexTypes.cs index 459e1a0..67eeb72 100644 --- a/Rendering/VertexTypes.cs +++ b/Rendering/VertexTypes.cs @@ -100,14 +100,14 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCCTTX //id: 1520003478, stride: 72, flags: 16639, refs: 11178 + public struct VertexTypePBBNCCTTX //id: 1520003478, stride: 72, flags: 16639, refs: 11178 { public Vector3 Position; + public uint BlendWeights; + public uint BlendIndices; + public Vector3 Normal; public uint Colour0; public uint Colour1; - public Vector3 Normal; - public uint Colour2; - public uint Colour3; public Vector2 Texcoord0; public Vector2 Texcoord1; public Vector4 Tangents; @@ -117,11 +117,11 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), - new InputElement("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 48, 0), new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 56, 0), @@ -129,14 +129,14 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCCT //id: 93940118, stride: 48, flags: 127, refs: 10396 + public struct VertexTypePBBNCCT //id: 93940118, stride: 48, flags: 127, refs: 10396 { public Vector3 Position; + public uint BlendWeights; + public uint BlendIndices; + public Vector3 Normal; public uint Colour0; public uint Colour1; - public Vector3 Normal; - public uint Colour2; - public uint Colour3; public Vector2 Texcoord; public static InputElement[] GetLayout() @@ -144,11 +144,11 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), - new InputElement("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), }; } @@ -304,14 +304,14 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCCTX //id: 177826198, stride: 64, flags: 16511, refs: 1990 + public struct VertexTypePBBNCCTX //id: 177826198, stride: 64, flags: 16511, refs: 1990 { public Vector3 Position; + public uint BlendWeights; + public uint BlendIndices; + public Vector3 Normal; public uint Colour0; public uint Colour1; - public Vector3 Normal; - public uint Colour2; - public uint Colour3; public Vector2 Texcoord; public Vector4 Tangent; @@ -320,11 +320,11 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), - new InputElement("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 48, 0), }; @@ -356,13 +356,13 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCTX //id: 168389014, stride: 60, flags: 16479, refs: 1736 + public struct VertexTypePBBNCTX //id: 168389014, stride: 60, flags: 16479, refs: 1736 { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; - public uint Colour2; + public uint Colour0; public Vector2 Texcoord; public Vector4 Tangent; @@ -371,10 +371,10 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 36, 0), new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 44, 0), }; @@ -493,13 +493,13 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCT //id: 84502934, stride: 44, flags: 95, refs: 806 + public struct VertexTypePBBNCT //id: 84502934, stride: 44, flags: 95, refs: 806 { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; - public uint Colour2; + public uint Colour0; public Vector2 Texcoord; public static InputElement[] GetLayout() @@ -507,10 +507,10 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 36, 0), }; } @@ -573,11 +573,11 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCCTT //id: 1436117398, stride: 56, flags: 255, refs: 99 + public struct VertexTypePBBNCCTT //id: 1436117398, stride: 56, flags: 255, refs: 99 { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; public uint Colour2; public uint Colour3; @@ -589,11 +589,11 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), - new InputElement("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 48, 0), }; @@ -646,13 +646,13 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCCCT //id: 93915542, stride: 36, flags: 119, refs: 2 + public struct VertexTypePBBCCT //id: 93915542, stride: 36, flags: 119, refs: 2 { public Vector3 Position; + public uint BlendWeights; + public uint BlendIndices; public uint Colour0; public uint Colour1; - public uint Colour2; - public uint Colour3; public Vector2 Texcoord; public static InputElement[] GetLayout() @@ -660,32 +660,32 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 20, 0), - new InputElement("COLOR", 3, Format.R8G8B8A8_UNorm, 24, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 20, 0), + new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 24, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 28, 0), }; } } - public struct VertexTypePCCNC //id: 616854, stride: 36, flags: 31, refs: 1 + public struct VertexTypePBBNC //id: 616854, stride: 36, flags: 31, refs: 1 { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; - public uint Colour2; + public uint Colour0; public static InputElement[] GetLayout() { return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), }; } } @@ -741,13 +741,13 @@ namespace CodeWalker.Rendering - public struct VertexTypePCCNCTT //id: 1426680214, stride: 52, flags: 223, types: 8598872888530528662, refs: 1470 + public struct VertexTypePBBNCTT //id: 1426680214, stride: 52, flags: 223, types: 8598872888530528662, refs: 1470 { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; - public uint Colour2; + public uint Colour0; public Vector2 Texcoord0; public Vector2 Texcoord1; @@ -756,23 +756,23 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 36, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), }; } } - public struct VertexTypePCCNCTTX //id: 1510566294, stride: 68, flags: 16607, types: 8598872888530528662, refs: 1478 (+9) + public struct VertexTypePBBNCTTX //id: 1510566294, stride: 68, flags: 16607, types: 8598872888530528662, refs: 1478 (+9) { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; - public uint Colour2; + public uint Colour0; public Vector2 Texcoord0; public Vector2 Texcoord1; public Vector4 Tangent; @@ -782,10 +782,10 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 36, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 52, 0), @@ -793,13 +793,13 @@ namespace CodeWalker.Rendering } } - public struct VertexTypePCCNCTTT //id: 1426680220, stride: 60, flags: 479, types: 8598872888530528662, refs: 1290 + public struct VertexTypePBBNCTTT //id: 1426680220, stride: 60, flags: 479, types: 8598872888530528662, refs: 1290 { public Vector3 Position; - public uint Colour0; - public uint Colour1; + public uint BlendWeights; + public uint BlendIndices; public Vector3 Normal; - public uint Colour2; + public uint Colour0; public Vector2 Texcoord0; public Vector2 Texcoord1; public Vector2 Texcoord2; @@ -809,10 +809,10 @@ namespace CodeWalker.Rendering return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 36, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), new InputElement("TEXCOORD", 2, Format.R32G32_Float, 52, 0), @@ -866,27 +866,27 @@ namespace CodeWalker.Rendering - public struct VertexTypePCCNCTTTX //id: 1510566300, stride: 76, flags: 16863, types: 8598872888530528662, refs: 38 + public struct VertexTypePBBNCTTTX //id: 1510566300, stride: 76, flags: 16863, types: 8598872888530528662, refs: 38 { - public Vector3 Component1; - public uint Component2; - public uint Component3; - public Vector3 Component4; - public uint Component5; - public Vector2 Component6; - public Vector2 Component7; - public Vector2 Component8; - public Vector4 Component9; + public Vector3 Position; + public uint BlendWeights; + public uint BlendIndices; + public Vector3 Normal; + public uint Colour0; + public Vector2 Texcoord0; + public Vector2 Texcoord1; + public Vector2 Texcoord2; + public Vector4 Tangent; public static InputElement[] GetLayout() { return new[] { new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), - new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), - new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), + new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0), + new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 0), - new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 32, 0), + new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 32, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 36, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), new InputElement("TEXCOORD", 2, Format.R32G32_Float, 52, 0),