Renamed skin vertex types and adjusted vertex layouts

This commit is contained in:
dexy 2018-12-21 20:11:28 +11:00
parent 1ec09f03be
commit 7660a228eb
4 changed files with 139 additions and 134 deletions

View File

@ -15,8 +15,8 @@ namespace CodeWalker.GameFiles
DefaultEx = 16473, //PNCTX DefaultEx = 16473, //PNCTX
PNCCT = 121, PNCCT = 121,
PNCCTTTT = 1017, PNCCTTTT = 1017,
PCCNCCTTX = 16639, PBBNCCTTX = 16639,
PCCNCCT = 127, PBBNCCT = 127,
PNCTTTX = 16857, PNCTTTX = 16857,
PNCTTX = 16601, PNCTTX = 16601,
PNCTTTX_2 = 19545, PNCTTTX_2 = 19545,
@ -24,9 +24,9 @@ namespace CodeWalker.GameFiles
PNCCTTX = 16633, PNCCTTX = 16633,
PNCCTTX_2 = 17017, PNCCTTX_2 = 17017,
PNCCTTTX = 17145, PNCCTTTX = 17145,
PCCNCCTX = 16511, PBBNCCTX = 16511,
PCCNCTX = 16479, PBBNCTX = 16479,
PCCNCT = 95, PBBNCT = 95,
PNCCTT = 249, PNCCTT = 249,
PNCCTX = 16505, PNCCTX = 16505,
PCT = 81, PCT = 81,
@ -39,16 +39,16 @@ namespace CodeWalker.GameFiles
PNCH2 = 2147483737, //0x80000059 (89 + 0x80000000) Default Cloth? PNCH2 = 2147483737, //0x80000059 (89 + 0x80000000) Default Cloth?
PNCTTTTX = 19673, //normal_spec_detail_dpm_vertdecal_tnt PNCTTTTX = 19673, //normal_spec_detail_dpm_vertdecal_tnt
PNCTTTT = 985, PNCTTTT = 985,
PCCNCCTT = 255, PBBNCCTT = 255,
PCTT = 209, PCTT = 209,
PCCCCT = 119, PBBCCT = 119,
PCCNC = 31, PBBNC = 31,
PCCNCTT = 223, PBBNCTT = 223,
PCCNCTTX = 16607, PBBNCTTX = 16607,
PCCNCTTT = 479, PBBNCTTT = 479,
PNCTT = 217, PNCTT = 217,
PNCTTT = 473, PNCTTT = 473,
PCCNCTTTX = 16863, PBBNCTTTX = 16863,
} }

View File

@ -214,38 +214,43 @@ namespace CodeWalker.Rendering
//supported layouts - requires Position, Normal, Colour, Texcoord //supported layouts - requires Position, Normal, Colour, Texcoord
layouts.Add(VertexType.Default, new InputLayout(device, vspnctbytes, VertexTypeDefault.GetLayout())); layouts.Add(VertexType.Default, new InputLayout(device, vspnctbytes, VertexTypeDefault.GetLayout()));
layouts.Add(VertexType.PNCH2, new InputLayout(device, vspnctbytes, VertexTypePNCH2.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.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.PNCCTT, new InputLayout(device, vspnccttbytes, VertexTypePNCCTT.GetLayout()));
layouts.Add(VertexType.PNCCTTTT, new InputLayout(device, vspncctttbytes, VertexTypePNCCTTTT.GetLayout())); layouts.Add(VertexType.PNCCTTTT, new InputLayout(device, vspncctttbytes, VertexTypePNCCTTTT.GetLayout()));
//normalmap layouts - requires Position, Normal, Colour, Texcoord, Tangent (X) //normalmap layouts - requires Position, Normal, Colour, Texcoord, Tangent (X)
layouts.Add(VertexType.DefaultEx, new InputLayout(device, vspnctxbytes, VertexTypeDefaultEx.GetLayout())); layouts.Add(VertexType.DefaultEx, new InputLayout(device, vspnctxbytes, VertexTypeDefaultEx.GetLayout()));
layouts.Add(VertexType.PCCH2H4, new InputLayout(device, vspnctxbytes, VertexTypePCCH2H4.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.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.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, new InputLayout(device, vspnccttxbytes, VertexTypePNCCTTX.GetLayout()));
layouts.Add(VertexType.PNCCTTX_2, new InputLayout(device, vspnccttxbytes, VertexTypePNCCTTX_2.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, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTX.GetLayout()));
layouts.Add(VertexType.PNCTTTX_2, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTX_2.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.PNCTTTX_3, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTX_3.GetLayout()));
layouts.Add(VertexType.PNCTTTTX, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTTX.GetLayout())); layouts.Add(VertexType.PNCTTTTX, new InputLayout(device, vspnctttxbytes, VertexTypePNCTTTTX.GetLayout()));
layouts.Add(VertexType.PNCCTTTX, new InputLayout(device, vspncctttxbytes, VertexTypePNCCTTTX.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.PNCH2:
case VertexType.PNCTT: case VertexType.PNCTT:
case VertexType.PNCTTT: case VertexType.PNCTTT:
case VertexType.PBBNCT:
case VertexType.PBBNCTT:
case VertexType.PBBNCTTT:
vs = basicvspnct; vs = basicvspnct;
break; break;
case VertexType.PCCNCT:
case VertexType.PCCNCCT:
case VertexType.PNCCT: case VertexType.PNCCT:
case VertexType.PBBNCCT:
vs = basicvspncct; vs = basicvspncct;
break; break;
case VertexType.PNCCTT://not used? case VertexType.PNCCTT://not used?
case VertexType.PCCNCTT:
vs = basicvspncctt; vs = basicvspncctt;
break; break;
case VertexType.PNCCTTTT://not used? case VertexType.PNCCTTTT://not used?
case VertexType.PCCNCTTT:
vs = basicvspnccttt; vs = basicvspnccttt;
break; break;
case VertexType.DefaultEx: case VertexType.DefaultEx:
case VertexType.PCCH2H4: case VertexType.PCCH2H4:
case VertexType.PBBNCTX:
vs = basicvspnctx; vs = basicvspnctx;
break; break;
case VertexType.PCCNCTX: case VertexType.PBBNCCTX:
case VertexType.PCCNCCTX:
case VertexType.PNCCTX: case VertexType.PNCCTX:
vs = basicvspncctx; vs = basicvspncctx;
break; break;
case VertexType.PNCTTX: case VertexType.PNCTTX:
case VertexType.PBBNCTTX:
vs = basicvspncttx; vs = basicvspncttx;
break; break;
case VertexType.PNCCTTX://not used? case VertexType.PNCCTTX://not used?
case VertexType.PNCCTTX_2://not used? case VertexType.PNCCTTX_2://not used?
case VertexType.PCCNCCTTX://not used? case VertexType.PBBNCCTTX://not used?
case VertexType.PCCNCTTX:
vs = basicvspnccttx; vs = basicvspnccttx;
break; break;
@ -398,11 +403,11 @@ namespace CodeWalker.Rendering
case VertexType.PNCTTTX_2: case VertexType.PNCTTTX_2:
case VertexType.PNCTTTX_3: case VertexType.PNCTTTX_3:
case VertexType.PNCTTTTX: //not using last texcoords! case VertexType.PNCTTTTX: //not using last texcoords!
case VertexType.PBBNCTTTX:
vs = basicvspnctttx; vs = basicvspnctttx;
break; break;
case VertexType.PNCCTTTX://not used? case VertexType.PNCCTTTX://not used?
case VertexType.PCCNCTTTX:
vs = basicvspncctttx; vs = basicvspncctttx;
break; break;

View File

@ -93,8 +93,8 @@ namespace CodeWalker.Rendering
layouts.Add(VertexType.DefaultEx, new InputLayout(device, vsbytes, VertexTypeDefaultEx.GetLayout())); layouts.Add(VertexType.DefaultEx, new InputLayout(device, vsbytes, VertexTypeDefaultEx.GetLayout()));
layouts.Add(VertexType.PNCCT, new InputLayout(device, vsbytes, VertexTypePNCCT.GetLayout())); layouts.Add(VertexType.PNCCT, new InputLayout(device, vsbytes, VertexTypePNCCT.GetLayout()));
layouts.Add(VertexType.PNCCTTTT, new InputLayout(device, vsbytes, VertexTypePNCCTTTT.GetLayout())); layouts.Add(VertexType.PNCCTTTT, new InputLayout(device, vsbytes, VertexTypePNCCTTTT.GetLayout()));
layouts.Add(VertexType.PCCNCCTTX, new InputLayout(device, vsbytes, VertexTypePCCNCCTTX.GetLayout())); layouts.Add(VertexType.PBBNCCTTX, new InputLayout(device, vsbytes, VertexTypePBBNCCTTX.GetLayout()));
layouts.Add(VertexType.PCCNCCT, new InputLayout(device, vsbytes, VertexTypePCCNCCT.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, new InputLayout(device, vsbytes, VertexTypePNCTTTX.GetLayout()));
layouts.Add(VertexType.PNCTTTX_2, new InputLayout(device, vsbytes, VertexTypePNCTTTX_2.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())); 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, new InputLayout(device, vsbytes, VertexTypePNCCTTX.GetLayout()));
layouts.Add(VertexType.PNCCTTX_2, new InputLayout(device, vsbytes, VertexTypePNCCTTX_2.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.PNCCTTTX, new InputLayout(device, vsbytes, VertexTypePNCCTTTX.GetLayout()));
layouts.Add(VertexType.PCCNCCTX, new InputLayout(device, vsbytes, VertexTypePCCNCCTX.GetLayout())); layouts.Add(VertexType.PBBNCCTX, new InputLayout(device, vsbytes, VertexTypePBBNCCTX.GetLayout()));
layouts.Add(VertexType.PCCNCTX, new InputLayout(device, vsbytes, VertexTypePCCNCTX.GetLayout())); layouts.Add(VertexType.PBBNCTX, new InputLayout(device, vsbytes, VertexTypePBBNCTX.GetLayout()));
layouts.Add(VertexType.PCCNCT, new InputLayout(device, vsbytes, VertexTypePCCNCT.GetLayout())); layouts.Add(VertexType.PBBNCT, new InputLayout(device, vsbytes, VertexTypePBBNCT.GetLayout()));
layouts.Add(VertexType.PNCCTT, new InputLayout(device, vsbytes, VertexTypePNCCTT.GetLayout())); layouts.Add(VertexType.PNCCTT, new InputLayout(device, vsbytes, VertexTypePNCCTT.GetLayout()));
layouts.Add(VertexType.PNCCTX, new InputLayout(device, vsbytes, VertexTypePNCCTX.GetLayout())); layouts.Add(VertexType.PNCCTX, new InputLayout(device, vsbytes, VertexTypePNCCTX.GetLayout()));
layouts.Add(VertexType.PNCH2, new InputLayout(device, vsbytes, VertexTypePNCH2.GetLayout())); layouts.Add(VertexType.PNCH2, new InputLayout(device, vsbytes, VertexTypePNCH2.GetLayout()));
layouts.Add(VertexType.PCCH2H4, new InputLayout(device, vsbytes, VertexTypePCCH2H4.GetLayout())); layouts.Add(VertexType.PCCH2H4, new InputLayout(device, vsbytes, VertexTypePCCH2H4.GetLayout()));
layouts.Add(VertexType.PCCNCTT, new InputLayout(device, vsbytes, VertexTypePCCNCTT.GetLayout())); layouts.Add(VertexType.PBBNCTT, new InputLayout(device, vsbytes, VertexTypePBBNCTT.GetLayout()));
layouts.Add(VertexType.PCCNCTTX, new InputLayout(device, vsbytes, VertexTypePCCNCTTX.GetLayout())); layouts.Add(VertexType.PBBNCTTX, new InputLayout(device, vsbytes, VertexTypePBBNCTTX.GetLayout()));
layouts.Add(VertexType.PCCNCTTT, new InputLayout(device, vsbytes, VertexTypePCCNCTTT.GetLayout())); layouts.Add(VertexType.PBBNCTTT, new InputLayout(device, vsbytes, VertexTypePBBNCTTT.GetLayout()));
layouts.Add(VertexType.PNCTT, new InputLayout(device, vsbytes, VertexTypePNCTT.GetLayout())); layouts.Add(VertexType.PNCTT, new InputLayout(device, vsbytes, VertexTypePNCTT.GetLayout()));
layouts.Add(VertexType.PNCTTT, new InputLayout(device, vsbytes, VertexTypePNCTTT.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()));

View File

@ -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 Vector3 Position;
public uint BlendWeights;
public uint BlendIndices;
public Vector3 Normal;
public uint Colour0; public uint Colour0;
public uint Colour1; public uint Colour1;
public Vector3 Normal;
public uint Colour2;
public uint Colour3;
public Vector2 Texcoord0; public Vector2 Texcoord0;
public Vector2 Texcoord1; public Vector2 Texcoord1;
public Vector4 Tangents; public Vector4 Tangents;
@ -117,11 +117,11 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0),
new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0),
new InputElement("TEXCOORD", 1, Format.R32G32_Float, 48, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 48, 0),
new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 56, 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 Vector3 Position;
public uint BlendWeights;
public uint BlendIndices;
public Vector3 Normal;
public uint Colour0; public uint Colour0;
public uint Colour1; public uint Colour1;
public Vector3 Normal;
public uint Colour2;
public uint Colour3;
public Vector2 Texcoord; public Vector2 Texcoord;
public static InputElement[] GetLayout() public static InputElement[] GetLayout()
@ -144,11 +144,11 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0),
new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 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 Vector3 Position;
public uint BlendWeights;
public uint BlendIndices;
public Vector3 Normal;
public uint Colour0; public uint Colour0;
public uint Colour1; public uint Colour1;
public Vector3 Normal;
public uint Colour2;
public uint Colour3;
public Vector2 Texcoord; public Vector2 Texcoord;
public Vector4 Tangent; public Vector4 Tangent;
@ -320,11 +320,11 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0),
new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0),
new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 48, 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour0;
public Vector2 Texcoord; public Vector2 Texcoord;
public Vector4 Tangent; public Vector4 Tangent;
@ -371,10 +371,10 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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", 0, Format.R32G32_Float, 36, 0),
new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 44, 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour0;
public Vector2 Texcoord; public Vector2 Texcoord;
public static InputElement[] GetLayout() public static InputElement[] GetLayout()
@ -507,10 +507,10 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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", 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour2;
public uint Colour3; public uint Colour3;
@ -589,11 +589,11 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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("COLOR", 3, Format.R8G8B8A8_UNorm, 36, 0), new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 36, 0),
new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0), new InputElement("TEXCOORD", 0, Format.R32G32_Float, 40, 0),
new InputElement("TEXCOORD", 1, Format.R32G32_Float, 48, 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 Vector3 Position;
public uint BlendWeights;
public uint BlendIndices;
public uint Colour0; public uint Colour0;
public uint Colour1; public uint Colour1;
public uint Colour2;
public uint Colour3;
public Vector2 Texcoord; public Vector2 Texcoord;
public static InputElement[] GetLayout() public static InputElement[] GetLayout()
@ -660,32 +660,32 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("COLOR", 2, Format.R8G8B8A8_UNorm, 20, 0), new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 20, 0),
new InputElement("COLOR", 3, Format.R8G8B8A8_UNorm, 24, 0), new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 24, 0),
new InputElement("TEXCOORD", 0, Format.R32G32_Float, 28, 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour0;
public static InputElement[] GetLayout() public static InputElement[] GetLayout()
{ {
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour0;
public Vector2 Texcoord0; public Vector2 Texcoord0;
public Vector2 Texcoord1; public Vector2 Texcoord1;
@ -756,23 +756,23 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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", 0, Format.R32G32_Float, 36, 0),
new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour0;
public Vector2 Texcoord0; public Vector2 Texcoord0;
public Vector2 Texcoord1; public Vector2 Texcoord1;
public Vector4 Tangent; public Vector4 Tangent;
@ -782,10 +782,10 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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", 0, Format.R32G32_Float, 36, 0),
new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0),
new InputElement("TANGENT", 0, Format.R32G32B32A32_Float, 52, 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 Vector3 Position;
public uint Colour0; public uint BlendWeights;
public uint Colour1; public uint BlendIndices;
public Vector3 Normal; public Vector3 Normal;
public uint Colour2; public uint Colour0;
public Vector2 Texcoord0; public Vector2 Texcoord0;
public Vector2 Texcoord1; public Vector2 Texcoord1;
public Vector2 Texcoord2; public Vector2 Texcoord2;
@ -809,10 +809,10 @@ namespace CodeWalker.Rendering
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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", 0, Format.R32G32_Float, 36, 0),
new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0),
new InputElement("TEXCOORD", 2, Format.R32G32_Float, 52, 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 Vector3 Position;
public uint Component2; public uint BlendWeights;
public uint Component3; public uint BlendIndices;
public Vector3 Component4; public Vector3 Normal;
public uint Component5; public uint Colour0;
public Vector2 Component6; public Vector2 Texcoord0;
public Vector2 Component7; public Vector2 Texcoord1;
public Vector2 Component8; public Vector2 Texcoord2;
public Vector4 Component9; public Vector4 Tangent;
public static InputElement[] GetLayout() public static InputElement[] GetLayout()
{ {
return new[] return new[]
{ {
new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0), new InputElement("POSITION", 0, Format.R32G32B32_Float, 0, 0),
new InputElement("COLOR", 0, Format.R8G8B8A8_UNorm, 12, 0), new InputElement("BLENDWEIGHTS", 0, Format.R8G8B8A8_UNorm, 12, 0),
new InputElement("COLOR", 1, Format.R8G8B8A8_UNorm, 16, 0), new InputElement("BLENDINDICES", 0, Format.R8G8B8A8_UNorm, 16, 0),
new InputElement("NORMAL", 0, Format.R32G32B32_Float, 20, 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", 0, Format.R32G32_Float, 36, 0),
new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0), new InputElement("TEXCOORD", 1, Format.R32G32_Float, 44, 0),
new InputElement("TEXCOORD", 2, Format.R32G32_Float, 52, 0), new InputElement("TEXCOORD", 2, Format.R32G32_Float, 52, 0),