265 lines
15 KiB
C#
265 lines
15 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Unity.Burst;
|
|
using Unity.Collections;
|
|
using Unity.Collections.LowLevel.Unsafe;
|
|
using Unity.Jobs;
|
|
using Unity.Mathematics;
|
|
|
|
namespace ClusterLOD
|
|
{
|
|
// Token: 0x02000C8E RID: 3214
|
|
[Token(Token = "0x2000C8E")]
|
|
[BurstCompile]
|
|
[StructLayout(0)]
|
|
public struct AppendComponentsJob : IJobParallelFor
|
|
{
|
|
// Token: 0x06004D5F RID: 19807 RVA: 0x001205DC File Offset: 0x0011E7DC
|
|
[Token(Token = "0x6004D5F")]
|
|
[Address(RVA = "0x23E770", Offset = "0x23DB70", VA = "0x18023E770")]
|
|
public AppendComponentsJob(NativeClusterMesh srcMesh, NativeClusterMesh destMesh, NativeList<PrimitiveComponentInfo> components, MeshOptimizationData optimData, bool cullEncapsulated, float rootScale, bool useMaterials)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004D60 RID: 19808 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6004D60")]
|
|
[Address(RVA = "0x23E640", Offset = "0x23DA40", VA = "0x18023E640", Slot = "4")]
|
|
public void Execute(int componentIdx)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06004D61 RID: 19809 RVA: 0x001205EC File Offset: 0x0011E7EC
|
|
[Token(Token = "0x6004D61")]
|
|
[Address(RVA = "0x23E650", Offset = "0x23DA50", VA = "0x18023E650")]
|
|
private float2 GenerateUV(float3 scaleOS, float3 normalOS, float3 posOS)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06004D61)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling Unity.Mathematics.float2 ClusterLOD.AppendComponentsJob::GenerateUV(Unity.Mathematics.float3,Unity.Mathematics.float3,Unity.Mathematics.float3)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:float32(var_0_06, ldfld:float32(float3::z, ldloc:float3[exp:valuetype [Unity.Mathematics]Unity.Mathematics.float3&](posOS)))
|
|
stloc:float32(var_1_0D, ldfld:float32(float3::z, ldloc:float3[exp:valuetype [Unity.Mathematics]Unity.Mathematics.float3&](normalOS)))
|
|
stloc:float32(var_2_14, ldfld:float32(float3::z, ldloc:float3[exp:valuetype [Unity.Mathematics]Unity.Mathematics.float3&](scaleOS)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06004D62 RID: 19810 RVA: 0x00120610 File Offset: 0x0011E810
|
|
[Token(Token = "0x6004D62")]
|
|
[Address(RVA = "0x23E4B0", Offset = "0x23D8B0", VA = "0x18023E4B0")]
|
|
private float DistanceToShapeEdge(float3 pos, PrimitiveComponentInfo info, AppendComponentsJob.EncapsulateMode mode)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06004D62)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single ClusterLOD.AppendComponentsJob::DistanceToShapeEdge(Unity.Mathematics.float3,ClusterLOD.PrimitiveComponentInfo,ClusterLOD.AppendComponentsJob/EncapsulateMode)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:int32(var_0_06, ldfld:int32(PrimitiveComponentInfo::scalingMode, ldloc:PrimitiveComponentInfo[exp:valuetype ClusterLOD.PrimitiveComponentInfo&](info)))
|
|
stloc:float32(var_1_0D, ldfld:float32(float3::z, ldloc:float3[exp:valuetype [Unity.Mathematics]Unity.Mathematics.float3&](pos)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06004D63 RID: 19811 RVA: 0x0012062C File Offset: 0x0011E82C
|
|
[Token(Token = "0x6004D63")]
|
|
[Address(RVA = "0x23E6C0", Offset = "0x23DAC0", VA = "0x18023E6C0")]
|
|
private AppendComponentsJob.EncapsulateMode GetEncapsulateMode(PrimitiveComponentInfo info)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06004D63)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling ClusterLOD.AppendComponentsJob/EncapsulateMode ClusterLOD.AppendComponentsJob::GetEncapsulateMode(ClusterLOD.PrimitiveComponentInfo)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stloc:float32(var_0_06, ldfld:float32(PrimitiveComponentInfo::authoredBevelRatio, ldloc:PrimitiveComponentInfo[exp:valuetype ClusterLOD.PrimitiveComponentInfo&](info)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06004D64 RID: 19812 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6004D64")]
|
|
[Address(RVA = "0x23E4A0", Offset = "0x23D8A0", VA = "0x18023E4A0")]
|
|
private void ClipEncapsulatedTriangles(int primitiveIdx, int startIndex, int indexCount)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06004D65 RID: 19813 RVA: 0x00120640 File Offset: 0x0011E840
|
|
[Token(Token = "0x6004D65")]
|
|
[Address(RVA = "0x23E590", Offset = "0x23D990", VA = "0x18023E590")]
|
|
private void ExecuteScaledVerts(int componentIdx, int destStartVertex, float4x4 mat, float4x4 matInvTranspose, float3 localSpaceWorldScale)
|
|
{
|
|
}
|
|
|
|
// Token: 0x04003959 RID: 14681
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
[Token(Token = "0x4003959")]
|
|
[ReadOnly]
|
|
private NativeList<float3> srcVerts;
|
|
|
|
// Token: 0x0400395A RID: 14682
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400395A")]
|
|
[ReadOnly]
|
|
private NativeArray<float3> srcNormals;
|
|
|
|
// Token: 0x0400395B RID: 14683
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400395B")]
|
|
[ReadOnly]
|
|
private NativeArray<float4> srcTangents;
|
|
|
|
// Token: 0x0400395C RID: 14684
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400395C")]
|
|
[ReadOnly]
|
|
private NativeArray<float2> srcUVs;
|
|
|
|
// Token: 0x0400395D RID: 14685
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400395D")]
|
|
[ReadOnly]
|
|
private NativeList<int> srcIndices;
|
|
|
|
// Token: 0x0400395E RID: 14686
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400395E")]
|
|
[ReadOnly]
|
|
private NativeList<MeshComponentInfo> srcComponentInfo;
|
|
|
|
// Token: 0x0400395F RID: 14687
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400395F")]
|
|
[ReadOnly]
|
|
private NativeList<PrimitiveComponentInfo> srcComponents;
|
|
|
|
// Token: 0x04003960 RID: 14688
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4003960")]
|
|
[ReadOnly]
|
|
private bool cullEncapsulated;
|
|
|
|
// Token: 0x04003961 RID: 14689
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x74")]
|
|
[Token(Token = "0x4003961")]
|
|
[ReadOnly]
|
|
private float rootScale;
|
|
|
|
// Token: 0x04003962 RID: 14690
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4003962")]
|
|
[ReadOnly]
|
|
private bool useMaterials;
|
|
|
|
// Token: 0x04003963 RID: 14691
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4003963")]
|
|
[WriteOnly]
|
|
private NativeArray<MeshComponentInfo> destComponentInfo;
|
|
|
|
// Token: 0x04003964 RID: 14692
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4003964")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<float3> destVerts;
|
|
|
|
// Token: 0x04003965 RID: 14693
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x4003965")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<float3> destNormals;
|
|
|
|
// Token: 0x04003966 RID: 14694
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")]
|
|
[Token(Token = "0x4003966")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<float4> destTangents;
|
|
|
|
// Token: 0x04003967 RID: 14695
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
|
|
[Token(Token = "0x4003967")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<float4> destMaterialIndices;
|
|
|
|
// Token: 0x04003968 RID: 14696
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
|
|
[Token(Token = "0x4003968")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<float2> destUVs;
|
|
|
|
// Token: 0x04003969 RID: 14697
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
|
|
[Token(Token = "0x4003969")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<int> destIndices;
|
|
|
|
// Token: 0x0400396A RID: 14698
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
|
|
[Token(Token = "0x400396A")]
|
|
[NativeDisableContainerSafetyRestriction]
|
|
private NativeArray<int> triangleRemoved;
|
|
|
|
// Token: 0x0400396B RID: 14699
|
|
[Token(Token = "0x400396B")]
|
|
public const int SCALING_ENABLED = 1;
|
|
|
|
// Token: 0x0400396C RID: 14700
|
|
[Token(Token = "0x400396C")]
|
|
public const int PYRAMID_SCALING_MODE = 2;
|
|
|
|
// Token: 0x0400396D RID: 14701
|
|
[Token(Token = "0x400396D")]
|
|
public const int LOD_SCALE = 3;
|
|
|
|
// Token: 0x02000C8F RID: 3215
|
|
[Token(Token = "0x2000C8F")]
|
|
private enum EncapsulateMode
|
|
{
|
|
// Token: 0x0400396F RID: 14703
|
|
[Token(Token = "0x400396F")]
|
|
BOX,
|
|
// Token: 0x04003970 RID: 14704
|
|
[Token(Token = "0x4003970")]
|
|
SPHERE,
|
|
// Token: 0x04003971 RID: 14705
|
|
[Token(Token = "0x4003971")]
|
|
NONE
|
|
}
|
|
}
|
|
}
|