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
HitTile.cs
Go to the documentation of this file.
1using System;
4
5namespace Terraria
6{
7 // Token: 0x020003ED RID: 1005
8 public class HitTile
9 {
10 // Token: 0x06001AEA RID: 6890 RVA: 0x00072600 File Offset: 0x00070800
11 public static void ClearAllTilesAtThisLocation(int x, int y)
12 {
13 int num = 1;
14 if (num == 0)
15 {
16 }
17 if (num != 0)
18 {
19 }
20 }
21
22 // Token: 0x06001AEB RID: 6891 RVA: 0x00072618 File Offset: 0x00070818
23 public void ClearThisTile(int x, int y)
24 {
25 this.Clear(x);
26 this.Prune();
27 }
28
29 // Token: 0x06001AEC RID: 6892 RVA: 0x00072634 File Offset: 0x00070834
30 public HitTile()
31 {
33 int num = this.NextCrackStyle();
35 int[] array = this.order;
36 }
37
38 // Token: 0x06001AED RID: 6893 RVA: 0x00072674 File Offset: 0x00070874
39 private int NextCrackStyle()
40 {
41 if (!true)
42 {
43 }
44 return 43139072;
45 }
46
47 // Token: 0x06001AEE RID: 6894 RVA: 0x0007268C File Offset: 0x0007088C
48 public int TryFinding(int x, int y, int hitType)
49 {
50 /*
51An exception occurred when decompiling this method (06001AEE)
52
53ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.HitTile::TryFinding(System.Int32,System.Int32,System.Int32)
54
55 ---> System.Exception: Basic block has to end with unconditional control flow.
56{
57 IL_0000:
58 stloc:int32[](var_0_06, ldfld:int32[](HitTile::HitTileObjectData, ldloc:HitTile(this)))
59 stloc:int32[](var_1_0D, ldfld:int32[](HitTile::order, ldloc:HitTile(this)))
60 brtrue(IL_0000, logicnot:bool(ldc.i4:bool(0)))
61}
62
63 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
64 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
65 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
66 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
67 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
68 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
69 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
70 --- End of inner exception stack trace ---
71 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
72 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
73*/;
74 }
75
76 // Token: 0x06001AEF RID: 6895 RVA: 0x000726AC File Offset: 0x000708AC
77 public void TryClearingAndPruning(int x, int y, int hitType)
78 {
79 int num = this.TryFinding(x, y, hitType);
80 }
81
82 // Token: 0x06001AF0 RID: 6896 RVA: 0x000726C4 File Offset: 0x000708C4
83 public int HitObject(int x, int y, int hitType)
84 {
86 int[] array = this.order;
87 if (false)
88 {
89 }
90 int num = this.bufferLocation;
94 return this.bufferLocation;
95 }
96
97 // Token: 0x06001AF1 RID: 6897 RVA: 0x00072704 File Offset: 0x00070904
98 public void UpdatePosition(int tileId, int x, int y)
99 {
101 }
102
103 // Token: 0x06001AF2 RID: 6898 RVA: 0x00072718 File Offset: 0x00070918
104 public int AddDamage(int tileId, int damageAmount, bool updateAmount = true)
105 {
106 if (damageAmount == 0)
107 {
108 int num = this.bufferLocation;
109 return;
110 }
111 }
112
113 // Token: 0x06001AF3 RID: 6899 RVA: 0x00072734 File Offset: 0x00070934
114 private void ClearEntryData(int tileId)
115 {
117 int num = this.NextCrackStyle();
119 }
120
121 // Token: 0x06001AF4 RID: 6900 RVA: 0x00072758 File Offset: 0x00070958
122 private void SortSlots(int tileId)
123 {
124 int num = this.bufferLocation;
125 int[] array = this.order;
127 this.ClearEntryData(num);
128 int[] array2 = this.order;
129 int num2 = this.bufferLocation;
130 }
131
132 // Token: 0x06001AF5 RID: 6901 RVA: 0x00072794 File Offset: 0x00070994
133 public void Clear(int tileId)
134 {
135 this.ClearEntryData(tileId);
136 int[] array = this.order;
137 }
138
139 // Token: 0x06001AF6 RID: 6902 RVA: 0x000727B4 File Offset: 0x000709B4
140 public void Prune()
141 {
143 }
144
145 // Token: 0x06001AF7 RID: 6903 RVA: 0x000727FC File Offset: 0x000709FC
146 public void DrawFreshAnimations(SpriteBatch spriteBatch)
147 {
148 int num = 1;
149 if (num == 0)
150 {
151 }
153 if (num == 0)
154 {
155 }
156 if (!true)
157 {
158 }
159 if (!true)
160 {
161 }
162 bool flag = Main.ShouldShowInvisibleWalls();
163 long num2 = 0L;
164 bool flag2 = WorldGen.InWorld(int.MinValue, 536870912, (int)num2);
165 Tile tile;
166 bool isLoaded = tile.IsLoaded;
167 }
168
169 // Token: 0x06001AF8 RID: 6904 RVA: 0x000728F0 File Offset: 0x00070AF0
170 // Note: this type is marked as 'beforefieldinit'.
171 static HitTile()
172 {
173 }
174
175 // Token: 0x0400281F RID: 10271
176 private static int lastCrack;
177
178 // Token: 0x04002820 RID: 10272
179 public const int xIndex = 0;
180
181 // Token: 0x04002821 RID: 10273
182 public const int yIndex = 1;
183
184 // Token: 0x04002822 RID: 10274
185 public const int damageIndex = 2;
186
187 // Token: 0x04002823 RID: 10275
188 public const int typeIndex = 3;
189
190 // Token: 0x04002824 RID: 10276
191 public const int timeToLiveIndex = 4;
192
193 // Token: 0x04002825 RID: 10277
194 public const int crackStyleIndex = 5;
195
196 // Token: 0x04002826 RID: 10278
197 public const int animationTimeElapsedIndex = 6;
198
199 // Token: 0x04002827 RID: 10279
200 public const int HitTileObjectCount = 7;
201
202 // Token: 0x04002828 RID: 10280
203 internal const int UNUSED = 0;
204
205 // Token: 0x04002829 RID: 10281
206 internal const int TILE = 1;
207
208 // Token: 0x0400282A RID: 10282
209 internal const int WALL = 2;
210
211 // Token: 0x0400282B RID: 10283
212 internal const int MAX_HITTILES = 500;
213
214 // Token: 0x0400282C RID: 10284
215 internal const int TIMETOLIVE = 60;
216
217 // Token: 0x0400282D RID: 10285
218 private static UnifiedRandom rand;
219
220 // Token: 0x0400282E RID: 10286
222
223 // Token: 0x0400282F RID: 10287
224 private readonly int[] order;
225
226 // Token: 0x04002830 RID: 10288
227 private int bufferLocation;
228 }
229}
class f__AnonymousType0<< Count > j__TPar
int NextCrackStyle()
Definition HitTile.cs:39
const int TILE
Definition HitTile.cs:206
static void ClearAllTilesAtThisLocation(int x, int y)
Definition HitTile.cs:11
const int MAX_HITTILES
Definition HitTile.cs:212
readonly int[] order
Definition HitTile.cs:224
const int yIndex
Definition HitTile.cs:182
static int lastCrack
Definition HitTile.cs:176
const int animationTimeElapsedIndex
Definition HitTile.cs:197
void DrawFreshAnimations(SpriteBatch spriteBatch)
Definition HitTile.cs:146
void Clear(int tileId)
Definition HitTile.cs:133
void TryClearingAndPruning(int x, int y, int hitType)
Definition HitTile.cs:77
int TryFinding(int x, int y, int hitType)
Definition HitTile.cs:48
void SortSlots(int tileId)
Definition HitTile.cs:122
static UnifiedRandom rand
Definition HitTile.cs:218
int AddDamage(int tileId, int damageAmount, bool updateAmount=true)
Definition HitTile.cs:104
void ClearEntryData(int tileId)
Definition HitTile.cs:114
const int WALL
Definition HitTile.cs:209
readonly int[] HitTileObjectData
Definition HitTile.cs:221
const int timeToLiveIndex
Definition HitTile.cs:191
const int HitTileObjectCount
Definition HitTile.cs:200
const int xIndex
Definition HitTile.cs:179
const int UNUSED
Definition HitTile.cs:203
const int damageIndex
Definition HitTile.cs:185
const int typeIndex
Definition HitTile.cs:188
int HitObject(int x, int y, int hitType)
Definition HitTile.cs:83
const int TIMETOLIVE
Definition HitTile.cs:215
const int crackStyleIndex
Definition HitTile.cs:194
void UpdatePosition(int tileId, int x, int y)
Definition HitTile.cs:98
static HitTile()
Definition HitTile.cs:171
void ClearThisTile(int x, int y)
Definition HitTile.cs:23
static bool ShouldShowInvisibleWalls()
Definition Main.cs:15228
static bool SettingsEnabled_MinersWobble
Definition Main.cs:142
static bool InWorld(int x, int y, int fluff=0)
Definition WorldGen.cs:1952
bool IsLoaded
Definition Tile.cs:34