terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
SurfaceMap.cs
Go to the documentation of this file.
1using System;
2
4{
5 // Token: 0x0200090A RID: 2314
6 public class SurfaceMap
7 {
8 // Token: 0x170007FB RID: 2043
9 // (get) Token: 0x0600467E RID: 18046 RVA: 0x00259CB8 File Offset: 0x00257EB8
10 public int Width
11 {
12 get
13 {
14 /*
15An exception occurred when decompiling this method (0600467E)
16
17ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Biomes.Desert.SurfaceMap::get_Width()
18
19 ---> System.Exception: Basic block has to end with unconditional control flow.
20{
21 Block_0:
22 stloc:int16[](var_0_06, ldfld:int16[](SurfaceMap::_heights, ldloc:SurfaceMap(this)))
23}
24
25 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
26 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
27 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
28 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
29 --- End of inner exception stack trace ---
30 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
31 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 1683
32*/;
33 }
34 }
35
36 // Token: 0x0600467F RID: 18047 RVA: 0x00259CCC File Offset: 0x00257ECC
37 private SurfaceMap(short[] heights, int x)
38 {
39 int num = 1;
40 long num2 = 0L;
41 base..ctor();
42 this._heights = heights;
43 this.X = x;
44 long num3 = 0L;
45 if (num == 0)
46 {
47 }
48 int num4 = Math.Max((int)num3, (int)num2);
49 int num5 = Math.Min(x, (int)num2);
50 }
51
52 // Token: 0x170007FC RID: 2044
53 public short this[int absoluteX]
54 {
55 get
56 {
57 /*
58An exception occurred when decompiling this method (06004680)
59
60ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int16 Terraria.GameContent.Biomes.Desert.SurfaceMap::get_Item(System.Int32)
61
62 ---> System.Exception: Basic block has to end with unconditional control flow.
63{
64 Block_0:
65 stloc:int32(var_0_06, ldfld:int32(SurfaceMap::X, ldloc:SurfaceMap(this)))
66 stloc:int16[](var_1_0D, ldfld:int16[](SurfaceMap::_heights, ldloc:SurfaceMap(this)))
67}
68
69 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
70 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
71 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
72 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
73 --- End of inner exception stack trace ---
74 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
75 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 1683
76*/;
77 }
78 }
79
80 // Token: 0x06004681 RID: 18049 RVA: 0x00259D48 File Offset: 0x00257F48
81 public static SurfaceMap FromArea(int startX, int width)
82 {
83 if (!true)
84 {
85 return;
86 }
87 }
88
89 // Token: 0x0400828D RID: 33421
90 public readonly double Average;
91
92 // Token: 0x0400828E RID: 33422
93 public readonly int Bottom;
94
95 // Token: 0x0400828F RID: 33423
96 public readonly int Top;
97
98 // Token: 0x04008290 RID: 33424
99 public readonly int X;
100
101 // Token: 0x04008291 RID: 33425
102 private readonly short[] _heights;
103 }
104}
class f__AnonymousType0<< Count > j__TPar
static byte Min(byte val1, byte val2)
Definition Math.cs:152
static byte Max(byte val1, byte val2)
Definition Math.cs:111
static SurfaceMap FromArea(int startX, int width)
Definition SurfaceMap.cs:81