mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2025-01-09 23:28:03 +08:00
Fix for hair rendering, update peds meta types to be expandable objects
This commit is contained in:
parent
12c8fca74e
commit
9fc219e332
@ -5878,7 +5878,7 @@ namespace CodeWalker.GameFiles
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public struct CStreamingRequestRecord //40 bytes, Key:3825587854 //SRL YMT ROOT - in /streaming/ folder
|
[TC(typeof(EXP))] public struct CStreamingRequestRecord //40 bytes, Key:3825587854 //SRL YMT ROOT - in /streaming/ folder
|
||||||
{
|
{
|
||||||
public Array_Structure Frames { get; set; } //0 0: Array: 0: Frames {0: Structure: CStreamingRequestFrame: 256}
|
public Array_Structure Frames { get; set; } //0 0: Array: 0: Frames {0: Structure: CStreamingRequestFrame: 256}
|
||||||
public Array_Structure CommonSets { get; set; } //16 16: Array: 0: CommonSets {0: Structure: CStreamingRequestCommonSet: 256}
|
public Array_Structure CommonSets { get; set; } //16 16: Array: 0: CommonSets {0: Structure: CStreamingRequestCommonSet: 256}
|
||||||
@ -5888,7 +5888,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public uint Unused2 { get; set; }//36
|
public uint Unused2 { get; set; }//36
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CStreamingRequestFrame //112 bytes, Key:1112444512 //SRL frame...
|
[TC(typeof(EXP))] public struct CStreamingRequestFrame //112 bytes, Key:1112444512 //SRL frame...
|
||||||
{
|
{
|
||||||
public Array_uint AddList { get; set; } //0 0: Array: 0: AddList//327274266 {0: Hash: 0: 256}
|
public Array_uint AddList { get; set; } //0 0: Array: 0: AddList//327274266 {0: Hash: 0: 256}
|
||||||
public Array_uint RemoveList { get; set; } //16 16: Array: 0: RemoveList//3372321331 {0: Hash: 0: 256}
|
public Array_uint RemoveList { get; set; } //16 16: Array: 0: RemoveList//3372321331 {0: Hash: 0: 256}
|
||||||
@ -5904,7 +5904,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public uint Unused4 { get; set; }//108
|
public uint Unused4 { get; set; }//108
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CStreamingRequestFrame_v2 //96 bytes, Key:3672937465 //SRL frame...
|
[TC(typeof(EXP))] public struct CStreamingRequestFrame_v2 //96 bytes, Key:3672937465 //SRL frame...
|
||||||
{
|
{
|
||||||
public Array_uint AddList { get; set; } //0 0: Array: 0: AddList//327274266 {0: Hash: 0: 256}
|
public Array_uint AddList { get; set; } //0 0: Array: 0: AddList//327274266 {0: Hash: 0: 256}
|
||||||
public Array_uint RemoveList { get; set; } //16 16: Array: 0: RemoveList//3372321331 {0: Hash: 0: 256}
|
public Array_uint RemoveList { get; set; } //16 16: Array: 0: RemoveList//3372321331 {0: Hash: 0: 256}
|
||||||
@ -5919,7 +5919,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public uint Unused4 { get; set; }//92
|
public uint Unused4 { get; set; }//92
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CStreamingRequestCommonSet //16 bytes, Key:3710200606 //SRL common set
|
[TC(typeof(EXP))] public struct CStreamingRequestCommonSet //16 bytes, Key:3710200606 //SRL common set
|
||||||
{
|
{
|
||||||
public Array_uint Requests { get; set; } //0 0: Array: 0: Requests {0: Hash: 0: 256}
|
public Array_uint Requests { get; set; } //0 0: Array: 0: Requests {0: Hash: 0: 256}
|
||||||
}
|
}
|
||||||
@ -5937,7 +5937,7 @@ namespace CodeWalker.GameFiles
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public struct CCreatureMetaData //56 bytes, Key:2181653572
|
[TC(typeof(EXP))] public struct CCreatureMetaData //56 bytes, Key:2181653572
|
||||||
{
|
{
|
||||||
public uint Unused0 { get; set; }//0
|
public uint Unused0 { get; set; }//0
|
||||||
public uint Unused1 { get; set; }//4
|
public uint Unused1 { get; set; }//4
|
||||||
@ -5946,7 +5946,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public Array_Structure pedCompExpressions { get; set; } //40 40: Array: 0: pedCompExpressions {0: Structure: CPedCompExpressionData: 256}
|
public Array_Structure pedCompExpressions { get; set; } //40 40: Array: 0: pedCompExpressions {0: Structure: CPedCompExpressionData: 256}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CShaderVariableComponent //72 bytes, Key:3085831725
|
[TC(typeof(EXP))] public struct CShaderVariableComponent //72 bytes, Key:3085831725
|
||||||
{
|
{
|
||||||
public uint Unused0 { get; set; }//0
|
public uint Unused0 { get; set; }//0
|
||||||
public uint Unused1 { get; set; }//4
|
public uint Unused1 { get; set; }//4
|
||||||
@ -5959,7 +5959,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public Array_byte components { get; set; } //56 56: Array: 0: components {0: UnsignedByte: 0: 256}
|
public Array_byte components { get; set; } //56 56: Array: 0: components {0: UnsignedByte: 0: 256}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CPedPropExpressionData //88 bytes, Key:1355135810
|
[TC(typeof(EXP))] public struct CPedPropExpressionData //88 bytes, Key:1355135810
|
||||||
{
|
{
|
||||||
public uint Unused0 { get; set; }//0
|
public uint Unused0 { get; set; }//0
|
||||||
public uint Unused1 { get; set; }//4
|
public uint Unused1 { get; set; }//4
|
||||||
@ -5973,7 +5973,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public Array_byte components { get; set; } //72 72: Array: 0: components {0: UnsignedByte: 0: 256}
|
public Array_byte components { get; set; } //72 72: Array: 0: components {0: UnsignedByte: 0: 256}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CPedCompExpressionData //88 bytes, Key:3458164745
|
[TC(typeof(EXP))] public struct CPedCompExpressionData //88 bytes, Key:3458164745
|
||||||
{
|
{
|
||||||
public uint Unused0 { get; set; }//0
|
public uint Unused0 { get; set; }//0
|
||||||
public uint Unused1 { get; set; }//4
|
public uint Unused1 { get; set; }//4
|
||||||
@ -5990,7 +5990,7 @@ namespace CodeWalker.GameFiles
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public struct CPedVariationInfo : IPsoSwapEnd //112 bytes, Key:4030871161 //COMPONENT PEDS YMT ROOT - in componentpeds .rpf's
|
[TC(typeof(EXP))] public struct CPedVariationInfo : IPsoSwapEnd //112 bytes, Key:4030871161 //COMPONENT PEDS YMT ROOT - in componentpeds .rpf's
|
||||||
{
|
{
|
||||||
public byte bHasTexVariations { get; set; } //0 0: Boolean: 0: bHasTexVariations
|
public byte bHasTexVariations { get; set; } //0 0: Boolean: 0: bHasTexVariations
|
||||||
public byte bHasDrawblVariations { get; set; } //1 1: Boolean: 0: bHasDrawblVariations
|
public byte bHasDrawblVariations { get; set; } //1 1: Boolean: 0: bHasDrawblVariations
|
||||||
@ -6013,7 +6013,7 @@ namespace CodeWalker.GameFiles
|
|||||||
dlcName = MetaTypes.SwapBytes(dlcName);
|
dlcName = MetaTypes.SwapBytes(dlcName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class MCPedVariationInfo : MetaWrapper
|
[TC(typeof(EXP))] public class MCPedVariationInfo : MetaWrapper
|
||||||
{
|
{
|
||||||
public CPedVariationInfo _Data;
|
public CPedVariationInfo _Data;
|
||||||
public CPedVariationInfo Data { get { return _Data; } }
|
public CPedVariationInfo Data { get { return _Data; } }
|
||||||
@ -6119,7 +6119,7 @@ namespace CodeWalker.GameFiles
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Unk_3538495220 //24 bytes, Key:2024084511 //COMPONENT PEDS component variations item
|
[TC(typeof(EXP))] public struct Unk_3538495220 //24 bytes, Key:2024084511 //COMPONENT PEDS component variations item
|
||||||
{
|
{
|
||||||
public byte numAvailTex { get; set; } //0 0: UnsignedByte: 0: numAvailTex
|
public byte numAvailTex { get; set; } //0 0: UnsignedByte: 0: numAvailTex
|
||||||
public byte Unused0 { get; set; }//1
|
public byte Unused0 { get; set; }//1
|
||||||
@ -6127,7 +6127,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public uint Unused2 { get; set; }//4
|
public uint Unused2 { get; set; }//4
|
||||||
public Array_Structure aDrawblData3 { get; set; } //8 8: Array: 0: aDrawblData3 {0: Structure: 1535046754: 256}
|
public Array_Structure aDrawblData3 { get; set; } //8 8: Array: 0: aDrawblData3 {0: Structure: 1535046754: 256}
|
||||||
}
|
}
|
||||||
public class MUnk_3538495220 : MetaWrapper
|
[TC(typeof(EXP))] public class MUnk_3538495220 : MetaWrapper
|
||||||
{
|
{
|
||||||
public MCPedVariationInfo Owner { get; set; }
|
public MCPedVariationInfo Owner { get; set; }
|
||||||
|
|
||||||
@ -6196,7 +6196,7 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Unk_1535046754 //48 bytes, Key:124073662 //COMPONENT PEDS drawable info
|
[TC(typeof(EXP))] public struct Unk_1535046754 //48 bytes, Key:124073662 //COMPONENT PEDS drawable info
|
||||||
{
|
{
|
||||||
public byte propMask { get; set; } //0 0: UnsignedByte: 0: propMask
|
public byte propMask { get; set; } //0 0: UnsignedByte: 0: propMask
|
||||||
public byte numAlternatives { get; set; } //1 1: UnsignedByte: 0: 2806194106
|
public byte numAlternatives { get; set; } //1 1: UnsignedByte: 0: 2806194106
|
||||||
@ -6205,7 +6205,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public Array_Structure aTexData { get; set; } //8 8: Array: 0: aTexData {0: Structure: 1036962405: 256}
|
public Array_Structure aTexData { get; set; } //8 8: Array: 0: aTexData {0: Structure: 1036962405: 256}
|
||||||
public Unk_2236980467 clothData { get; set; } //24 24: Structure: 2236980467: clothData
|
public Unk_2236980467 clothData { get; set; } //24 24: Structure: 2236980467: clothData
|
||||||
}
|
}
|
||||||
public class MUnk_1535046754 : MetaWrapper
|
[TC(typeof(EXP))] public class MUnk_1535046754 : MetaWrapper
|
||||||
{
|
{
|
||||||
public MUnk_3538495220 Owner { get; set; }
|
public MUnk_3538495220 Owner { get; set; }
|
||||||
|
|
||||||
@ -6273,14 +6273,14 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Unk_1036962405 //3 bytes, Key:4272717794 //COMPONENT PEDS (cloth?) aTexData
|
[TC(typeof(EXP))] public struct Unk_1036962405 //3 bytes, Key:4272717794 //COMPONENT PEDS (cloth?) aTexData
|
||||||
{
|
{
|
||||||
public byte texId { get; set; } //0 0: UnsignedByte: 0: texId
|
public byte texId { get; set; } //0 0: UnsignedByte: 0: texId
|
||||||
public byte distribution { get; set; } //1 1: UnsignedByte: 0: distribution//914976023
|
public byte distribution { get; set; } //1 1: UnsignedByte: 0: distribution//914976023
|
||||||
public byte Unused0 { get; set; }//2
|
public byte Unused0 { get; set; }//2
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct Unk_2236980467 //24 bytes, Key:508935687 //COMPONENT PEDS clothData
|
[TC(typeof(EXP))] public struct Unk_2236980467 //24 bytes, Key:508935687 //COMPONENT PEDS clothData
|
||||||
{
|
{
|
||||||
public byte ownsCloth { get; set; } //0 0: Boolean: 0: ownsCloth
|
public byte ownsCloth { get; set; } //0 0: Boolean: 0: ownsCloth
|
||||||
public byte Unused0 { get; set; }//1
|
public byte Unused0 { get; set; }//1
|
||||||
@ -6292,7 +6292,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public uint Unused6 { get; set; }//20
|
public uint Unused6 { get; set; }//20
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CPedSelectionSet //48 bytes, Key:3120284999 //COMPONENT PEDS
|
[TC(typeof(EXP))] public struct CPedSelectionSet //48 bytes, Key:3120284999 //COMPONENT PEDS
|
||||||
{
|
{
|
||||||
public MetaHash name { get; set; } //0 0: Hash: 0: name
|
public MetaHash name { get; set; } //0 0: Hash: 0: name
|
||||||
public ArrayOfBytes12 Unk_173599222 { get; set; } //4 4: ArrayOfBytes: 12: 173599222
|
public ArrayOfBytes12 Unk_173599222 { get; set; } //4 4: ArrayOfBytes: 12: 173599222
|
||||||
@ -6302,7 +6302,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public ArrayOfBytes6 Unk_672172037 { get; set; } //40 40: ArrayOfBytes: 6: 672172037
|
public ArrayOfBytes6 Unk_672172037 { get; set; } //40 40: ArrayOfBytes: 6: 672172037
|
||||||
public ushort Unused0 { get; set; }//46
|
public ushort Unused0 { get; set; }//46
|
||||||
}
|
}
|
||||||
public class MCPedSelectionSet : MetaWrapper
|
[TC(typeof(EXP))] public class MCPedSelectionSet : MetaWrapper
|
||||||
{
|
{
|
||||||
public MCPedVariationInfo Owner { get; set; }
|
public MCPedVariationInfo Owner { get; set; }
|
||||||
|
|
||||||
@ -6327,7 +6327,7 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CComponentInfo //48 bytes, Key:3693847250 //COMPONENT PEDS
|
[TC(typeof(EXP))] public struct CComponentInfo //48 bytes, Key:3693847250 //COMPONENT PEDS
|
||||||
{
|
{
|
||||||
public MetaHash Unk_802196719 { get; set; } //0 0: Hash: 0: 802196719
|
public MetaHash Unk_802196719 { get; set; } //0 0: Hash: 0: 802196719
|
||||||
public MetaHash Unk_4233133352 { get; set; } //4 4: Hash: 0: 4233133352
|
public MetaHash Unk_4233133352 { get; set; } //4 4: Hash: 0: 4233133352
|
||||||
@ -6346,7 +6346,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public byte Unk_4196345791 { get; set; } //45 45: UnsignedByte: 0: 4196345791
|
public byte Unk_4196345791 { get; set; } //45 45: UnsignedByte: 0: 4196345791
|
||||||
public ushort Unused5 { get; set; }//46
|
public ushort Unused5 { get; set; }//46
|
||||||
}
|
}
|
||||||
public class MCComponentInfo : MetaWrapper
|
[TC(typeof(EXP))] public class MCComponentInfo : MetaWrapper
|
||||||
{
|
{
|
||||||
public MCPedVariationInfo Owner { get; set; }
|
public MCPedVariationInfo Owner { get; set; }
|
||||||
|
|
||||||
@ -6381,7 +6381,7 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CPedPropInfo //40 bytes, Key:1792487819 //COMPONENT PEDS
|
[TC(typeof(EXP))] public struct CPedPropInfo //40 bytes, Key:1792487819 //COMPONENT PEDS
|
||||||
{
|
{
|
||||||
public byte numAvailProps { get; set; } //0 0: UnsignedByte: 0: numAvailProps
|
public byte numAvailProps { get; set; } //0 0: UnsignedByte: 0: numAvailProps
|
||||||
public byte Unused0 { get; set; }//1
|
public byte Unused0 { get; set; }//1
|
||||||
@ -6396,7 +6396,7 @@ namespace CodeWalker.GameFiles
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class MCPedPropInfo : MetaWrapper
|
[TC(typeof(EXP))] public class MCPedPropInfo : MetaWrapper
|
||||||
{
|
{
|
||||||
public MCPedVariationInfo Owner { get; set; }
|
public MCPedVariationInfo Owner { get; set; }
|
||||||
|
|
||||||
@ -6447,7 +6447,7 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CPedPropMetaData //56 bytes, Key:2029738350 //COMPONENT PEDS
|
[TC(typeof(EXP))] public struct CPedPropMetaData //56 bytes, Key:2029738350 //COMPONENT PEDS
|
||||||
{
|
{
|
||||||
public MetaHash audioId { get; set; } //0 0: Hash: 0: audioId
|
public MetaHash audioId { get; set; } //0 0: Hash: 0: audioId
|
||||||
public ArrayOfBytes5 expressionMods { get; set; } //4 4: ArrayOfBytes: 5: expressionMods//942761829
|
public ArrayOfBytes5 expressionMods { get; set; } //4 4: ArrayOfBytes: 5: expressionMods//942761829
|
||||||
@ -6466,7 +6466,7 @@ namespace CodeWalker.GameFiles
|
|||||||
public byte Unused5 { get; set; }//53
|
public byte Unused5 { get; set; }//53
|
||||||
public ushort Unused6 { get; set; }//54
|
public ushort Unused6 { get; set; }//54
|
||||||
}
|
}
|
||||||
public class MCPedPropMetaData : MetaWrapper
|
[TC(typeof(EXP))] public class MCPedPropMetaData : MetaWrapper
|
||||||
{
|
{
|
||||||
public MCPedPropInfo Owner { get; set; }
|
public MCPedPropInfo Owner { get; set; }
|
||||||
|
|
||||||
@ -6494,7 +6494,7 @@ namespace CodeWalker.GameFiles
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CPedPropTexData //12 bytes, Key:2767296137 //COMPONENT PEDS
|
[TC(typeof(EXP))] public struct CPedPropTexData //12 bytes, Key:2767296137 //COMPONENT PEDS
|
||||||
{
|
{
|
||||||
public int inclusions { get; set; } //0 0: IntFlags2: 0: inclusions
|
public int inclusions { get; set; } //0 0: IntFlags2: 0: inclusions
|
||||||
public int exclusions { get; set; } //4 4: IntFlags2: 0: exclusions
|
public int exclusions { get; set; } //4 4: IntFlags2: 0: exclusions
|
||||||
@ -6504,13 +6504,13 @@ namespace CodeWalker.GameFiles
|
|||||||
public byte distribution { get; set; } //11 11: UnsignedByte: 0: distribution
|
public byte distribution { get; set; } //11 11: UnsignedByte: 0: distribution
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct CAnchorProps //24 bytes, Key:403574180 //COMPONENT PEDS CAnchorProps
|
[TC(typeof(EXP))] public struct CAnchorProps //24 bytes, Key:403574180 //COMPONENT PEDS CAnchorProps
|
||||||
{
|
{
|
||||||
public Array_byte props { get; set; } //0 0: Array: 0: props {0: UnsignedByte: 0: 256}
|
public Array_byte props { get; set; } //0 0: Array: 0: props {0: UnsignedByte: 0: 256}
|
||||||
public eAnchorPoints anchor { get; set; } //16 16: IntEnum: eAnchorPoints: anchor
|
public eAnchorPoints anchor { get; set; } //16 16: IntEnum: eAnchorPoints: anchor
|
||||||
public uint Unused0 { get; set; }//20
|
public uint Unused0 { get; set; }//20
|
||||||
}
|
}
|
||||||
public class MCAnchorProps : MetaWrapper
|
[TC(typeof(EXP))] public class MCAnchorProps : MetaWrapper
|
||||||
{
|
{
|
||||||
public MCPedPropInfo Owner { get; set; }
|
public MCPedPropInfo Owner { get; set; }
|
||||||
|
|
||||||
|
@ -743,6 +743,8 @@ namespace CodeWalker.Rendering
|
|||||||
public bool HDTextureEnable = true;
|
public bool HDTextureEnable = true;
|
||||||
public bool globalAnimUVEnable = false;
|
public bool globalAnimUVEnable = false;
|
||||||
public ClipMapEntry ClipMapEntryUV = null;
|
public ClipMapEntry ClipMapEntryUV = null;
|
||||||
|
public bool isHair = false;
|
||||||
|
public bool disableRendering = false;
|
||||||
|
|
||||||
public static ShaderParamNames[] GetTextureSamplerList()
|
public static ShaderParamNames[] GetTextureSamplerList()
|
||||||
{
|
{
|
||||||
@ -854,6 +856,9 @@ namespace CodeWalker.Rendering
|
|||||||
case 600733812://{decal_amb_only.sps}
|
case 600733812://{decal_amb_only.sps}
|
||||||
SpecOnly = true; //this needs more work.
|
SpecOnly = true; //this needs more work.
|
||||||
break;
|
break;
|
||||||
|
case 100720695://{ped_hair_spiked.sps}
|
||||||
|
isHair = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -942,6 +947,10 @@ namespace CodeWalker.Rendering
|
|||||||
case ShaderParamNames.DirtDecalMask:
|
case ShaderParamNames.DirtDecalMask:
|
||||||
DirtDecalMask = ((Vector4)param.Data);
|
DirtDecalMask = ((Vector4)param.Data);
|
||||||
break;
|
break;
|
||||||
|
case ShaderParamNames.orderNumber:
|
||||||
|
//stops drawing hair geoms that apparently shouldn't be rendered... any better way to do this?
|
||||||
|
if (isHair && (((Vector4)param.Data).X > 0.0f)) disableRendering = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2652,6 +2652,11 @@ namespace CodeWalker.Rendering
|
|||||||
if (SelectionGeometryDrawFlags.ContainsKey(dgeom))
|
if (SelectionGeometryDrawFlags.ContainsKey(dgeom))
|
||||||
{ continue; } //filter out geometries in selected item that aren't flagged for drawing.
|
{ continue; } //filter out geometries in selected item that aren't flagged for drawing.
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (geom.disableRendering)
|
||||||
|
{ continue; } //filter out certain geometries like certain hair parts that shouldn't render by default
|
||||||
|
}
|
||||||
|
|
||||||
rginst.Geom = geom;
|
rginst.Geom = geom;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user