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
TileDrawing.cs
Go to the documentation of this file.
1using System;
13
15{
16 // Token: 0x020009E8 RID: 2536
17 public class TileDrawing
18 {
19 // Token: 0x17000858 RID: 2136
20 // (get) Token: 0x06004ACE RID: 19150 RVA: 0x000021DB File Offset: 0x000003DB
21 // (set) Token: 0x06004ACF RID: 19151 RVA: 0x00268274 File Offset: 0x00266474
22 private int[] _specialsCount
23 {
24 get
25 {
26 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
27 }
28 set
29 {
30 }
31 }
32
33 // Token: 0x17000859 RID: 2137
34 // (get) Token: 0x06004AD0 RID: 19152 RVA: 0x000021DB File Offset: 0x000003DB
35 // (set) Token: 0x06004AD1 RID: 19153 RVA: 0x00268284 File Offset: 0x00266484
37 {
38 get
39 {
40 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
41 }
42 set
43 {
44 }
45 }
46
47 // Token: 0x06004AD2 RID: 19154 RVA: 0x00268294 File Offset: 0x00266494
48 private void AddSpecialPoint(int x, int y, TileDrawing.TileCounterType type)
49 {
50 int num = Interlocked.Increment(this._specialsCount);
51 }
52
53 // Token: 0x1700085A RID: 2138
54 // (get) Token: 0x06004AD3 RID: 19155 RVA: 0x002682B0 File Offset: 0x002664B0
56 {
57 get
58 {
60 return threadLocal.Value._displayDollTileEntityPositions;
61 }
62 }
63
64 // Token: 0x1700085B RID: 2139
65 // (get) Token: 0x06004AD4 RID: 19156 RVA: 0x002682C8 File Offset: 0x002664C8
67 {
68 get
69 {
71 return threadLocal.Value._hatRackTileEntityPositions;
72 }
73 }
74
75 // Token: 0x1700085C RID: 2140
76 // (get) Token: 0x06004AD5 RID: 19157 RVA: 0x002682E0 File Offset: 0x002664E0
78 {
79 get
80 {
82 return threadLocal.Value._trainingDummyTileEntityPositions;
83 }
84 }
85
86 // Token: 0x1700085D RID: 2141
87 // (get) Token: 0x06004AD6 RID: 19158 RVA: 0x002682F8 File Offset: 0x002664F8
89 {
90 get
91 {
93 return threadLocal.Value._itemFrameTileEntityPositions;
94 }
95 }
96
97 // Token: 0x1700085E RID: 2142
98 // (get) Token: 0x06004AD7 RID: 19159 RVA: 0x00268310 File Offset: 0x00266510
100 {
101 get
102 {
104 return threadLocal.Value._foodPlatterTileEntityPositions;
105 }
106 }
107
108 // Token: 0x1700085F RID: 2143
109 // (get) Token: 0x06004AD8 RID: 19160 RVA: 0x00268328 File Offset: 0x00266528
111 {
112 get
113 {
115 return threadLocal.Value._weaponRackTileEntityPositions;
116 }
117 }
118
119 // Token: 0x17000860 RID: 2144
120 // (get) Token: 0x06004AD9 RID: 19161 RVA: 0x00268340 File Offset: 0x00266540
122 {
123 get
124 {
126 return threadLocal.Value._chestPositions;
127 }
128 }
129
130 // Token: 0x17000861 RID: 2145
131 // (get) Token: 0x06004ADA RID: 19162 RVA: 0x00268358 File Offset: 0x00266558
133 {
134 get
135 {
137 return threadLocal.Value._rand;
138 }
139 }
140
141 // Token: 0x17000862 RID: 2146
142 // (get) Token: 0x06004ADB RID: 19163 RVA: 0x000021DB File Offset: 0x000003DB
143 // (set) Token: 0x06004ADC RID: 19164 RVA: 0x00268370 File Offset: 0x00266570
145 {
146 get
147 {
148 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
149 }
150 set
151 {
152 }
153 }
154
155 // Token: 0x17000863 RID: 2147
156 // (get) Token: 0x06004ADD RID: 19165 RVA: 0x000021DB File Offset: 0x000003DB
157 // (set) Token: 0x06004ADE RID: 19166 RVA: 0x00268380 File Offset: 0x00266580
159 {
160 get
161 {
162 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
163 }
164 set
165 {
166 }
167 }
168
169 // Token: 0x17000864 RID: 2148
170 // (get) Token: 0x06004ADF RID: 19167 RVA: 0x000021DB File Offset: 0x000003DB
171 // (set) Token: 0x06004AE0 RID: 19168 RVA: 0x00268390 File Offset: 0x00266590
173 {
174 get
175 {
176 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
177 }
178 set
179 {
180 }
181 }
182
183 // Token: 0x17000865 RID: 2149
184 // (get) Token: 0x06004AE1 RID: 19169 RVA: 0x002683A0 File Offset: 0x002665A0
185 private bool[] _tileSolid
186 {
187 get
188 {
189 /*
190An exception occurred when decompiling this method (06004AE1)
191
192ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean[] Terraria.GameContent.Drawing.TileDrawing::get__tileSolid()
193
194 ---> System.Exception: Basic block has to end with unconditional control flow.
195{
196 IL_0000:
197 brtrue(IL_0000, ldc.i4:bool(1))
198}
199
200 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
201 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
202 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
203 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
204 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
205 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
206 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
207 --- End of inner exception stack trace ---
208 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
209 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
210*/;
211 }
212 }
213
214 // Token: 0x17000866 RID: 2150
215 // (get) Token: 0x06004AE2 RID: 19170 RVA: 0x002683B0 File Offset: 0x002665B0
216 private bool[] _tileSolidTop
217 {
218 get
219 {
220 /*
221An exception occurred when decompiling this method (06004AE2)
222
223ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean[] Terraria.GameContent.Drawing.TileDrawing::get__tileSolidTop()
224
225 ---> System.Exception: Basic block has to end with unconditional control flow.
226{
227 IL_0000:
228 brtrue(IL_0000, ldc.i4:bool(1))
229}
230
231 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
232 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
233 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
234 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
235 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
236 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
237 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
238 --- End of inner exception stack trace ---
239 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
240 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
241*/;
242 }
243 }
244
245 // Token: 0x17000867 RID: 2151
246 // (get) Token: 0x06004AE3 RID: 19171 RVA: 0x002683C0 File Offset: 0x002665C0
247 private Dust[] _dust
248 {
249 get
250 {
251 /*
252An exception occurred when decompiling this method (06004AE3)
253
254ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.Dust[] Terraria.GameContent.Drawing.TileDrawing::get__dust()
255
256 ---> System.Exception: Basic block has to end with unconditional control flow.
257{
258 IL_0000:
259 brtrue(IL_0000, ldc.i4:bool(1))
260}
261
262 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
263 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
264 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
265 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
266 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
267 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
268 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
269 --- End of inner exception stack trace ---
270 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
271 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
272*/;
273 }
274 }
275
276 // Token: 0x17000868 RID: 2152
277 // (get) Token: 0x06004AE4 RID: 19172 RVA: 0x002683D0 File Offset: 0x002665D0
278 private Gore[] _gore
279 {
280 get
281 {
282 /*
283An exception occurred when decompiling this method (06004AE4)
284
285ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.Gore[] Terraria.GameContent.Drawing.TileDrawing::get__gore()
286
287 ---> System.Exception: Basic block has to end with unconditional control flow.
288{
289 IL_0000:
290 brtrue(IL_0000, ldc.i4:bool(1))
291}
292
293 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
294 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
295 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
296 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
297 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
298 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
299 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
300 --- End of inner exception stack trace ---
301 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
302 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
303*/;
304 }
305 }
306
307 // Token: 0x06004AE5 RID: 19173 RVA: 0x002683E0 File Offset: 0x002665E0
309 {
310 int num = 1;
311 if (num == 0)
312 {
313 }
314 int num2 = 34464;
317 if (num == 0)
318 {
319 }
321 this._martianGlow = num;
322 this._meteorGlow = num;
323 this._lavaMossGlow = num;
328 if (num2 == 0)
329 {
330 }
331 if (true)
332 {
333 return;
334 }
335 if (true)
336 {
337 return;
338 }
339 if (true)
340 {
341 return;
342 }
343 if (true)
344 {
345 return;
346 }
347 if (true)
348 {
349 return;
350 }
351 if (true)
352 {
353 return;
354 }
355 if (true)
356 {
357 return;
358 }
359 if (true)
360 {
361 return;
362 }
363 if (!true)
364 {
365 }
366 base..ctor();
369 }
370
371 // Token: 0x06004AE6 RID: 19174 RVA: 0x00268514 File Offset: 0x00266714
373 {
374 if (!true)
375 {
376 }
377 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
378 if (!true)
379 {
380 }
381 if (!true)
382 {
383 }
384 }
385
386 // Token: 0x06004AE7 RID: 19175 RVA: 0x0026855C File Offset: 0x0026675C
387 public void PrepareForAreaDrawing(int firstTileX, int lastTileX, int firstTileY, int lastTileY, bool prepareLazily)
388 {
389 int num = 1;
390 if (num == 0)
391 {
392 }
393 if (num == 0)
394 {
395 }
396 int num2 = 1;
397 int num3 = 1;
398 WorldGen.TileFrame(1073741824, firstTileY, num2 != 0, num3 != 0);
399 int num4 = 1;
400 Framing.WallFrame(1073741824, firstTileY, num4 != 0);
401 }
402
403 // Token: 0x06004AE8 RID: 19176 RVA: 0x00268590 File Offset: 0x00266790
404 public void Update()
405 {
406 int num = 1;
407 if (num == 0)
408 {
409 }
410 if (num != 0)
411 {
412 return;
413 }
414 if (num == 0)
415 {
416 }
417 if (!true)
418 {
419 }
420 this.UpdateLeafFrequency();
423 bool flag = Main.ShouldShowInvisibleWalls();
425 }
426
427 // Token: 0x06004AE9 RID: 19177 RVA: 0x002685E0 File Offset: 0x002667E0
429 {
430 }
431
432 // Token: 0x06004AEA RID: 19178 RVA: 0x00268600 File Offset: 0x00266800
434 {
435 if (!true)
436 {
437 }
439 Matrix transform = Main.Transform;
440 this.DrawMultiTileVines();
441 this.DrawMultiTileGrass();
442 this.DrawVoidLenses();
444 this.DrawMasterTrophies();
445 this.DrawGrass();
447 this.DrawTrees();
448 this.DrawVines();
449 this.DrawReverseVines();
452 }
453
454 // Token: 0x17000869 RID: 2153
455 // (get) Token: 0x06004AEB RID: 19179 RVA: 0x000021DB File Offset: 0x000003DB
456 // (set) Token: 0x06004AEC RID: 19180 RVA: 0x00268668 File Offset: 0x00266868
458 {
459 get
460 {
461 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
462 }
463 set
464 {
465 }
466 }
467
468 // Token: 0x06004AED RID: 19181 RVA: 0x00268678 File Offset: 0x00266878
469 private int DrawTilesThreaded(Vector2 screenPosition, Vector2 offSet, int firstTileX, int firstTileY, int lastTileX, int lastTileY, bool solidLayer, bool forRenderTargets, bool intoRenderTargets, int waterStyleOverride = -1)
470 {
471 if (!true)
472 {
473 }
474 SpriteBatch spriteBatch = this._threadManager.DrawThreads.spriteBatch;
475 Matrix transform = Main.Transform;
478 SpriteBatch spriteBatch2 = drawThreads.spriteBatch2;
480 if (drawThreads == null)
481 {
482 }
483 if (this._threadManager.DrawThreads == null)
484 {
485 return;
486 }
487 }
488
489 // Token: 0x06004AEE RID: 19182 RVA: 0x002686D8 File Offset: 0x002668D8
490 private void ProcessBatchFinished(int index)
491 {
492 TileDrawing tileDrawing = this._threadManager.DrawThreads.tileDrawing;
493 double treeWindCounter = tileDrawing._treeWindCounter;
494 double treeWindCounter2 = tileDrawing._treeWindCounter;
495 double grassWindCounter = tileDrawing._grassWindCounter;
496 double grassWindCounter2 = tileDrawing._grassWindCounter;
497 }
498
499 // Token: 0x1700086A RID: 2154
500 // (get) Token: 0x06004AEF RID: 19183 RVA: 0x00268714 File Offset: 0x00266914
502 {
503 get
504 {
505 /*
506An exception occurred when decompiling this method (06004AEF)
507
508ICSharpCode.Decompiler.DecompilerException: Error decompiling ThreadedRenderManager/BatchProcessCallback Terraria.GameContent.Drawing.TileDrawing::get_ProcessBatchFinishedCallback()
509
510 ---> System.Exception: Basic block has to end with unconditional control flow.
511{
512 IL_0000:
513 brtrue(IL_0000, ldfld:BatchProcessCallback[exp:bool](TileDrawing::_processBatchFinishedCallback, ldloc:TileDrawing(this)))
514}
515
516 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
517 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
518 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
519 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
520 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
521 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
522 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
523 --- End of inner exception stack trace ---
524 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
525 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
526*/;
527 }
528 }
529
530 // Token: 0x06004AF0 RID: 19184 RVA: 0x00268728 File Offset: 0x00266928
534
535 // Token: 0x06004AF1 RID: 19185 RVA: 0x0026874C File Offset: 0x0026694C
556
557 // Token: 0x06004AF2 RID: 19186 RVA: 0x002687C8 File Offset: 0x002669C8
558 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
559 [Il2CppSetOption(Option.NullChecks, false)]
560 public void DrawTiles(Vector2 screenPosition, Vector2 offSet, int firstTileX, int firstTileY, int lastTileX, int lastTileY, bool solidLayer, bool forRenderTargets, bool intoRenderTargets, int waterStyleOverride = -1)
561 {
562 if (!true)
563 {
564 }
567 if (!true)
568 {
569 }
570 if (!true)
571 {
572 }
574 Vector3[] colors = lightMap._colors;
575 if (colors != null)
576 {
577 return;
578 }
579 if (colors == null)
580 {
581 }
582 value.tileTypeFrameY = colors;
583 value.lightColors = colors;
584 value.lightMinX = colors;
585 int num;
586 value.lightMaxX = num;
587 int num2;
589 int <Height>k__BackingField = lightMap.<Height>k__BackingField;
590 value.lightMapHeight = <Height>k__BackingField;
591 if (<Height>k__BackingField == 0)
592 {
593 }
594 if (!true)
595 {
596 }
597 int lightMaxY = value.lightMaxY;
598 int lightMinY = value.lightMinY;
599 int lightMapHeight = value.lightMapHeight;
600 if (255 == 0)
601 {
602 }
603 int num3 = 1;
604 if (num3 == 0)
605 {
606 }
607 if (num3 == 0)
608 {
609 }
612 SpriteBatch spriteBatch = value.spriteBatch;
613 SpriteBatch spriteBatch2 = value.spriteBatch2;
614 int num4 = 1;
615 if (num4 == 0)
616 {
617 }
618 if (num4 == 0)
619 {
620 }
621 }
622
623 // Token: 0x06004AF3 RID: 19187 RVA: 0x002694E0 File Offset: 0x002676E0
625 {
626 if (!true)
627 {
628 }
629 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
630 int num = 1;
631 if (num == 0)
632 {
633 }
634 int value = num.m_value;
635 if (num == 0)
636 {
637 }
641 Vector3[] colors = lightMap._colors;
642 if (colors != null)
643 {
644 }
645 value2.lightColors = colors;
646 value2.lightMinX = colors;
647 int num2;
649 int num3;
651 int <Height>k__BackingField = lightMap.<Height>k__BackingField;
652 value2.lightMapHeight = <Height>k__BackingField;
653 if (<Height>k__BackingField == 0)
654 {
655 }
656 if (!true)
657 {
658 }
659 int num4 = 17279;
662 value2.typeCache = (ushort)num4;
663 ushort typeCache = value2.typeCache;
664 }
665
666 // Token: 0x06004AF4 RID: 19188 RVA: 0x00269590 File Offset: 0x00267790
667 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
668 [Il2CppSetOption(Option.NullChecks, false)]
670 {
671 if (!true)
672 {
673 }
674 }
675
676 // Token: 0x06004AF5 RID: 19189 RVA: 0x002696F0 File Offset: 0x002678F0
677 private void CrawlToTopOfVineAndAddSpecialPoint(int j, int i)
678 {
679 if (!true)
680 {
681 }
682 }
683
684 // Token: 0x06004AF6 RID: 19190 RVA: 0x00269704 File Offset: 0x00267904
686 {
687 if (!true)
688 {
689 }
690 }
691
692 // Token: 0x06004AF7 RID: 19191 RVA: 0x00269718 File Offset: 0x00267918
693 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
694 [Il2CppSetOption(Option.NullChecks, false)]
696 {
697 int num = 1;
698 if (num == 0)
699 {
700 }
701 if (num == 0)
702 {
703 }
704 return 0;
705 }
706
707 // Token: 0x06004AF8 RID: 19192 RVA: 0x00269748 File Offset: 0x00267948
708 private bool IsVisible(Tile tile)
709 {
710 bool flag;
711 return flag;
712 }
713
714 // Token: 0x06004AF9 RID: 19193 RVA: 0x0026975C File Offset: 0x0026795C
715 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
716 [Il2CppSetOption(Option.NullChecks, false)]
718 {
719 int num = 1;
720 ushort typeCache = drawInfo.typeCache;
721 if (num == 0)
722 {
723 }
724 if (num == 0)
725 {
726 }
727 return 0;
728 }
729
730 // Token: 0x06004AFA RID: 19194 RVA: 0x002697A8 File Offset: 0x002679A8
731 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
732 [Il2CppSetOption(Option.NullChecks, false)]
733 public Texture2D GetTileDrawTexture(int tileX, int tileY, ushort tileType, short frameX, short frameY, byte tileColor, [Out] EffectPass pass)
734 {
735 /*
736An exception occurred when decompiling this method (06004AFA)
737
738ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Texture2D Terraria.GameContent.Drawing.TileDrawing::GetTileDrawTexture(System.Int32,System.Int32,System.UInt16,System.Int16,System.Int16,System.Byte,Microsoft.Xna.Framework.Graphics.EffectPass)
739
740 ---> System.Exception: Basic block has to end with unconditional control flow.
741{
742 IL_0003:
743 stloc:int32(var_0_0C, call:int32(TileDrawing::GetTreeBiome, ldloc:int32(tileX), ldloc:int32(tileY), ldloc:int32(tileY), ldloc:uint16[exp:int32](tileType)))
744 stloc:int32(var_1_15, call:int32(TileDrawing::GetPalmTreeBiome, ldloc:TileDrawing(this), ldloc:int32(tileX), ldloc:int32(tileY)))
745 stloc:int64(var_4_1D, ldc.i4:int64(0))
746 stloc:int32(var_5_21, ldc.i4:int32(83))
747 stloc:EffectPass(var_6_33, call:EffectPass(TilePaintSystemV2::GetTileEffect, ldfld:TilePaintSystemV2(TileDrawing::_paintSystem, ldloc:TileDrawing(this)), ldloc:int32(var_5_21), ldloc:int64[exp:int32](var_4_1D), ldloc:uint16[exp:int32](tileType)))
748}
749
750 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
751 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
752 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
753 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
754 --- End of inner exception stack trace ---
755 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
756 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
757*/;
758 }
759
760 // Token: 0x06004AFB RID: 19195 RVA: 0x002697EC File Offset: 0x002679EC
761 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
762 [Il2CppSetOption(Option.NullChecks, false)]
764 {
765 /*
766An exception occurred when decompiling this method (06004AFB)
767
768ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Texture2D Terraria.GameContent.Drawing.TileDrawing::GetTileDrawTexture(Terraria.Tile,System.Int32,System.Int32,Microsoft.Xna.Framework.Graphics.EffectPass)
769
770 ---> System.Exception: Basic block has to end with unconditional control flow.
771{
772 IL_0003:
773 stloc:int32(var_5_0C, call:int32(TileDrawing::GetTreeBiome, ldloc:int32(tileX), ldloc:int32(tileY), ldloc:int32(tileX), ldloc:int32(tileY)))
774 stloc:int32(var_6_16, call:int32(TileDrawing::GetPalmTreeBiome, ldloc:TileDrawing(this), ldloc:int32(tileX), ldloc:int32(tileY)))
775 stloc:int32(var_10_1D, ldc.i4:int32(84))
776 stloc:int64(var_11_20, ldc.i4:int64(0))
777 stloc:EffectPass(var_13_32, call:EffectPass(TilePaintSystemV2::GetTileEffect, ldfld:TilePaintSystemV2(TileDrawing::_paintSystem, ldloc:TileDrawing(this)), ldloc:int32(var_10_1D), ldloc:int64[exp:int32](var_11_20), ldloc:int32(tileY)))
778}
779
780 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
781 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
782 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
783 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
784 --- End of inner exception stack trace ---
785 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
786 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
787*/;
788 }
789
790 // Token: 0x06004AFC RID: 19196 RVA: 0x0026982C File Offset: 0x00267A2C
792 {
793 /*
794An exception occurred when decompiling this method (06004AFC)
795
796ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Texture2D Terraria.GameContent.Drawing.TileDrawing::GetTileDrawTexture(Terraria.Tile,System.Int32,System.Int32,System.Int32,Microsoft.Xna.Framework.Graphics.EffectPass)
797
798 ---> System.Exception: Basic block has to end with unconditional control flow.
799{
800 IL_0003:
801 stloc:int32(var_5_0C, call:int32(TileDrawing::GetTreeBiome, ldloc:int32(tileX), ldloc:int32(tileY), ldloc:int32(tileX), ldloc:int32(tileY)))
802 stloc:int32(var_6_16, call:int32(TileDrawing::GetPalmTreeBiome, ldloc:TileDrawing(this), ldloc:int32(tileX), ldloc:int32(tileY)))
803 stloc:int32(var_10_1D, ldc.i4:int32(84))
804 stloc:int64(var_11_20, ldc.i4:int64(0))
805 stloc:EffectPass(var_12_33, call:EffectPass(TilePaintSystemV2::GetTileEffect, ldfld:TilePaintSystemV2(TileDrawing::_paintSystem, ldloc:TileDrawing(this)), ldloc:int32(var_10_1D), ldloc:int64[exp:int32](var_11_20), ldloc:int32(paintOverride)))
806}
807
808 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
809 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
810 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
811 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
812 --- End of inner exception stack trace ---
813 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
814 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
815*/;
816 }
817
818 // Token: 0x06004AFD RID: 19197 RVA: 0x00269870 File Offset: 0x00267A70
820 {
821 /*
822An exception occurred when decompiling this method (06004AFD)
823
824ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Drawing.TileDrawing::GetPalmTreeBiome(Terraria.DataStructures.TileDrawInfo,System.Int32)
825
826 ---> System.Exception: Basic block has to end with unconditional control flow.
827{
828 IL_0027:
829 brtrue(IL_0000, ldfld:int32[exp:bool](Rectangle::Width, ldfld:Rectangle[exp:valuetype Microsoft.Xna.Framework.Rectangle&](TileDrawInfo::glowSourceRect, ldloc:TileDrawInfo(drawInfo))))
830}
831
832 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
833 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
834 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
835 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
836 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
837 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
838 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
839 --- End of inner exception stack trace ---
840 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
841 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
842*/;
843 }
844
845 // Token: 0x06004AFE RID: 19198 RVA: 0x002698B0 File Offset: 0x00267AB0
846 private int GetPalmTreeBiome(int tileX, int tileY)
847 {
848 int num = 1;
849 if (num == 0)
850 {
851 }
852 Tile tile;
853 bool flag = tile.active();
854 if (num == 0)
855 {
856 }
857 Tile tile2;
858 ushort type = tile2.type;
859 int num2;
860 return num2;
861 }
862
863 // Token: 0x06004AFF RID: 19199 RVA: 0x002698D8 File Offset: 0x00267AD8
864 [Il2CppSetOption(Option.NullChecks, false)]
865 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
867 {
868 int tileIndex = drawInfo.tileIndex;
869 ushort typeCache = drawInfo.typeCache;
870 short tileFrameX = drawInfo.tileFrameX;
871 uint* tileLookup = drawInfo.tileLookup;
872 short* tileTypeSHeader = drawInfo.tileTypeSHeader;
873 ushort* tileTypeData = drawInfo.tileTypeData;
874 if (typeCache == 0)
875 {
876 }
877 return 4;
878 }
879
880 // Token: 0x06004B00 RID: 19200 RVA: 0x00269920 File Offset: 0x00267B20
881 [Il2CppSetOption(Option.NullChecks, false)]
882 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
883 private static int GetTreeBiome(int tileX, int tileY, int tileFrameX, int tileFrameY)
884 {
885 int num = 1;
886 if (num == 0)
887 {
888 }
889 Tile tile;
890 ushort type = tile.type;
891 if (num == 0)
892 {
893 }
894 Tile tile2;
895 bool flag = tile2.active();
896 if (num == 0)
897 {
898 }
899 Tile tile3;
900 ushort type2 = tile3.type;
901 if (num == 0)
902 {
903 }
905 }
906
907 // Token: 0x06004B01 RID: 19201 RVA: 0x00269968 File Offset: 0x00267B68
908 [Il2CppSetOption(Option.NullChecks, false)]
909 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
910 public static int GetTreeVariant(int x, int y)
911 {
912 if (!true)
913 {
914 }
915 Tile tile;
916 bool flag = tile.active();
917 Tile tile2;
918 ushort type = tile2.type;
919 return 4;
920 }
921
922 // Token: 0x06004B02 RID: 19202 RVA: 0x00269998 File Offset: 0x00267B98
923 private TileDrawing.TileFlameData GetTileFlameData(int tileX, int tileY, int type, int tileFrameY)
924 {
925 /*
926An exception occurred when decompiling this method (06004B02)
927
928ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.GameContent.Drawing.TileDrawing/TileFlameData Terraria.GameContent.Drawing.TileDrawing::GetTileFlameData(System.Int32,System.Int32,System.Int32,System.Int32)
929
930 ---> System.Exception: Basic block has to end with unconditional control flow.
931{
932 IL_0045:
933 stloc:int16(var_8_4C, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_7)))
934 stloc:int16(var_14_64, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_13)))
935 stloc:int16(var_16_6D, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_15)))
936 stloc:int16(var_18_76, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_17)))
937 stloc:int64(var_38_C2, ldc.i4:int64(0))
938 stloc:int32(var_63_11F, ldc.i4:int32(7))
939 stfld:Texture2D(TileFlameData::flameTexture, ldloc:TileFlameData[exp:valuetype Terraria.GameContent.Drawing.TileDrawing/TileFlameData&](var_0), ldloc:int32[exp:Texture2D](type))
940 stfld:int32(TileFlameData::flameCount, ldloc:TileFlameData[exp:valuetype Terraria.GameContent.Drawing.TileDrawing/TileFlameData&](var_0), ldloc:int32(var_63_11F))
941 stfld:int32(TileFlameData::flameRangeXMin, ldloc:TileFlameData[exp:valuetype Terraria.GameContent.Drawing.TileDrawing/TileFlameData&](var_0), ldloc:int64[exp:int32](var_38_C2))
942}
943
944 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
945 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
946 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
947 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
948 --- End of inner exception stack trace ---
949 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
950 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
951*/;
952 }
953
954 // Token: 0x06004B03 RID: 19203 RVA: 0x00269B38 File Offset: 0x00267D38
956 {
957 if (!true)
958 {
959 }
960 if (32640 == 0)
961 {
962 }
963 if (32640 == 0)
964 {
965 }
966 if (32640 == 0)
967 {
968 }
969 if (32640 == 0)
970 {
971 }
972 if (32640 == 0)
973 {
974 }
975 }
976
977 // Token: 0x06004B04 RID: 19204 RVA: 0x0026AB88 File Offset: 0x00268D88
978 private int GetPalmTreeVariant(int x, int y)
979 {
980 /*
981An exception occurred when decompiling this method (06004B04)
982
983ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Drawing.TileDrawing::GetPalmTreeVariant(System.Int32,System.Int32)
984
985 ---> System.Exception: Basic block has to end with unconditional control flow.
986{
987 IL_0067:
988 stloc:bool(var_18_6D, call:bool(WorldGen::IsPalmOasisTree, ldloc:int32(x)))
989}
990
991 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
992 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
993 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
994 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
995 --- End of inner exception stack trace ---
996 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
997 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
998*/;
999 }
1000
1001 // Token: 0x06004B05 RID: 19205 RVA: 0x0026AC04 File Offset: 0x00268E04
1002 private void DrawXmasTree(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
1003 {
1004 if (true)
1005 {
1006 return;
1007 }
1008 Tile tile;
1009 short frameX = tile.frameX;
1010 long num = 0L;
1011 Tile tile2;
1012 short frameY = tile2.frameY;
1013 Color color = Lighting.GetColor(1073741824, (int)num);
1014 if (frameY != 0)
1015 {
1016 }
1017 int num2 = 66;
1018 if (num2 == 0)
1019 {
1020 }
1021 int value = num2.m_value;
1022 if (num2 == 0)
1023 {
1024 }
1025 int num3 = 66;
1026 if (num3 == 0)
1027 {
1028 }
1029 int value2 = num3.m_value;
1030 if (num3 == 0)
1031 {
1032 }
1033 }
1034
1035 // Token: 0x06004B06 RID: 19206 RVA: 0x0026ACFC File Offset: 0x00268EFC
1037 {
1038 int num = 1;
1039 if (num == 0)
1040 {
1041 }
1042 if (num == 0)
1043 {
1044 }
1045 Tile tile;
1046 ushort type = tile.type;
1047 if (32640 == 0)
1048 {
1049 }
1050 int num2 = 32640;
1051 if (num2 == 0)
1052 {
1053 }
1054 Rectangle sourceRect = Minecart.GetSourceRect(int.MinValue, 0);
1055 int num3 = 36;
1056 long num4 = 0L;
1058 int num5 = 36;
1059 long num6 = 0L;
1061 if (num2 == 0)
1062 {
1063 }
1064 bool flag = Minecart.DrawRightDecoration(int.MinValue);
1065 int num7 = 37;
1066 long num8 = 0L;
1068 bool flag2 = Minecart.DrawBumper(int.MinValue);
1069 int num9 = 39;
1070 long num10 = 0L;
1072 }
1073
1074 // Token: 0x06004B07 RID: 19207 RVA: 0x0026ADEC File Offset: 0x00268FEC
1076 {
1077 if (solidLayer)
1078 {
1079 return;
1080 }
1081 }
1082
1083 // Token: 0x06004B08 RID: 19208 RVA: 0x0026AFB4 File Offset: 0x002691B4
1084 private void CacheSpecialDraws(int tileX, int tileY, ushort typeCache, short tileFrameX, short tileFrameY)
1085 {
1086 if (this.cacheSpecialDrawTree != null)
1087 {
1088 }
1089 }
1090
1091 // Token: 0x06004B09 RID: 19209 RVA: 0x0026B024 File Offset: 0x00269224
1092 private static Color GetFinalLight(TileDrawInfo tileDrawInfo, ushort typeCache, Color tileLight)
1093 {
1094 /*
1095An exception occurred when decompiling this method (06004B09)
1096
1097ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.GameContent.Drawing.TileDrawing::GetFinalLight(Terraria.DataStructures.TileDrawInfo,System.UInt16,Microsoft.Xna.Framework.Graphics.Color)
1098
1099 ---> System.Exception: Basic block has to end with unconditional control flow.
1100{
1101 Block_0:
1102 stloc:uint8*(var_0_06, ldfld:uint8*(TileDrawInfo::tileTypeBHeader3, ldloc:TileDrawInfo(tileDrawInfo)))
1103 stloc:uint32(var_1_0D, ldfld:uint32(TileDrawInfo::tilePalIndex, ldloc:TileDrawInfo(tileDrawInfo)))
1104 stloc:int16(var_2_14, ldfld:int16(TileDrawInfo::tileSHeader, ldloc:TileDrawInfo(tileDrawInfo)))
1105 stloc:int16(var_3_1B, ldfld:int16(TileDrawInfo::tileFrameX, ldloc:TileDrawInfo(tileDrawInfo)))
1106 stloc:bool(var_4_23, call:bool(TileDrawing::ShouldTileShine, ldloc:uint16(typeCache), ldloc:int16(var_3_1B)))
1107}
1108
1109 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
1110 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
1111 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
1112 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
1113 --- End of inner exception stack trace ---
1114 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
1115 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
1116*/;
1117 }
1118
1119 // Token: 0x06004B0A RID: 19210 RVA: 0x0026B058 File Offset: 0x00269258
1120 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
1121 [Il2CppSetOption(Option.NullChecks, false)]
1122 private static bool ShouldTileShine(ushort type, short frameX)
1123 {
1124 int num = 1;
1125 if (num == 0)
1126 {
1127 }
1128 if (num == 0)
1129 {
1130 }
1131 if (num == 0)
1132 {
1133 }
1134 if (num != 0)
1135 {
1136 return;
1137 }
1138 }
1139
1140 // Token: 0x06004B0B RID: 19211 RVA: 0x0026B078 File Offset: 0x00269278
1141 private static bool IsTileDangerous(Player localPlayer, short sTileHeader, ushort typeCache, short tileFrameX)
1142 {
1143 /*
1144An exception occurred when decompiling this method (06004B0B)
1145
1146ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Drawing.TileDrawing::IsTileDangerous(Terraria.Player,System.Int16,System.UInt16,System.Int16)
1147
1148 ---> System.Exception: Basic block has to end with unconditional control flow.
1149{
1150 IL_0010:
1151 brtrue(IL_0000, ldloc:int64[exp:bool](var_1))
1152}
1153
1154 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
1155 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
1156 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
1157 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
1158 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
1159 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
1160 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
1161 --- End of inner exception stack trace ---
1162 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
1163 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
1164*/;
1165 }
1166
1167 // Token: 0x06004B0C RID: 19212 RVA: 0x0026B09C File Offset: 0x0026929C
1168 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
1169 [Il2CppSetOption(Option.NullChecks, false)]
1170 private bool IsTileDrawLayerSolid(ushort typeCache)
1171 {
1172 /*
1173An exception occurred when decompiling this method (06004B0C)
1174
1175ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Drawing.TileDrawing::IsTileDrawLayerSolid(System.UInt16)
1176
1177 ---> System.Exception: Basic block has to end with unconditional control flow.
1178{
1179 IL_0000:
1180 brtrue(IL_0000, ldc.i4:bool(1))
1181}
1182
1183 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
1184 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
1185 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
1186 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
1187 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
1188 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
1189 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
1190 --- End of inner exception stack trace ---
1191 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
1192 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
1193*/;
1194 }
1195
1196 // Token: 0x06004B0D RID: 19213 RVA: 0x0026B0B0 File Offset: 0x002692B0
1197 private void GetTileOutlineInfo(int x, int y, ushort typeCache, Color tileLight, Texture2D highlightTexture, Color highlightColor)
1198 {
1199 if (!true)
1200 {
1201 }
1202 bool flag = Main.InSmartCursorHighlightArea(int.MinValue, y, y != 0);
1203 byte r = tileLight.R;
1204 byte b = tileLight.B;
1205 if (r == 0)
1206 {
1207 }
1208 Color color;
1209 highlightColor.A = color;
1210 }
1211
1212 // Token: 0x06004B0E RID: 19214 RVA: 0x0026B0E8 File Offset: 0x002692E8
1213 private void DrawPartialLiquid(SpriteBatch spriteBatch, bool behindBlocks, TileDrawInfo tileCache, Vector2 position, Rectangle liquidSize, int liquidType, VertexColors colors)
1214 {
1215 int num = 1;
1217 short tileSHeader = tileCache.tileSHeader;
1218 if (tileSHeader != 0)
1219 {
1220 return;
1221 }
1222 ushort typeCache = tileCache.typeCache;
1223 if (tileSHeader != 0)
1224 {
1225 return;
1226 }
1227 if (tileSHeader == 0)
1228 {
1229 }
1230 }
1231
1232 // Token: 0x06004B0F RID: 19215 RVA: 0x0026B11C File Offset: 0x0026931C
1233 private bool InAPlaceWithWind(int x, int y, int width, int height)
1234 {
1235 if (!true)
1236 {
1237 }
1238 return WorldGen.InAPlaceWithWind(x, x, y, height);
1239 }
1240
1241 // Token: 0x06004B10 RID: 19216 RVA: 0x0026B138 File Offset: 0x00269338
1242 [Il2CppSetOption(Option.NullChecks, false)]
1243 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
1244 private void GetTileDrawData(int x, int y, TileDrawInfo tileCache, ushort typeCache, short tileFrameX, short tileFrameY, [Out] int tileWidth, [Out] int tileHeight, [Out] int tileTop, [Out] int halfBrickHeight, [Out] int addFrX, [Out] int addFrY, [Out] SpriteEffects tileSpriteEffect, [Out] Texture2D glowTexture, [Out] Rectangle glowSourceRect, [Out] Color glowColor)
1245 {
1246 int num = 16;
1247 tileWidth.m_value = num;
1248 if (num == 0)
1249 {
1250 }
1251 if (num == 0)
1252 {
1253 }
1254 }
1255
1256 // Token: 0x06004B11 RID: 19217 RVA: 0x0026B8B4 File Offset: 0x00269AB4
1257 [Il2CppSetOption(Option.NullChecks, false)]
1258 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
1259 private void GetTileDrawData(int x, int y, bool halfBrick, ushort typeCache, short tileFrameX, short tileFrameY, [Out] int tileWidth, [Out] int tileHeight, [Out] int tileTop, [Out] int halfBrickHeight, [Out] int addFrX, [Out] int addFrY, [Out] SpriteEffects tileSpriteEffect, [Out] Texture2D glowTexture, [Out] Rectangle glowSourceRect, [Out] Color glowColor)
1260 {
1261 int num = 16;
1262 tileWidth.m_value = num;
1263 if (num == 0)
1264 {
1265 }
1266 if (num == 0)
1267 {
1268 }
1269 }
1270
1271 // Token: 0x06004B12 RID: 19218 RVA: 0x0026C04C File Offset: 0x0026A24C
1272 [Il2CppSetOption(Option.NullChecks, false)]
1273 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
1274 private void GetTileDrawData(int x, int y, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, [Out] int tileWidth, [Out] int tileHeight, [Out] int tileTop, [Out] int halfBrickHeight, [Out] int addFrX, [Out] int addFrY, [Out] SpriteEffects tileSpriteEffect, [Out] Texture2D glowTexture, [Out] Rectangle glowSourceRect, [Out] Color glowColor)
1275 {
1276 int num = 16;
1277 tileWidth.m_value = num;
1278 if (num == 0)
1279 {
1280 }
1281 if (num == 0)
1282 {
1283 }
1284 }
1285
1286 // Token: 0x06004B13 RID: 19219 RVA: 0x0026C854 File Offset: 0x0026AA54
1287 private bool IsWindBlocked(int x, int y)
1288 {
1289 int num = 1;
1290 if (num == 0)
1291 {
1292 }
1293 Tile tile;
1294 ushort wall = tile.wall;
1295 if (num == 0)
1296 {
1297 }
1298 if (num == 0 || num == 0)
1299 {
1300 return;
1301 }
1302 }
1303
1304 // Token: 0x06004B14 RID: 19220 RVA: 0x000021DB File Offset: 0x000003DB
1305 private int GetWaterAnimalCageFrame(int x, int y, int tileFrameX, int tileFrameY)
1306 {
1307 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1308 }
1309
1310 // Token: 0x06004B15 RID: 19221 RVA: 0x000021DB File Offset: 0x000003DB
1311 private int GetSmallAnimalCageFrame(int x, int y, int tileFrameX, int tileFrameY)
1312 {
1313 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1314 }
1315
1316 // Token: 0x06004B16 RID: 19222 RVA: 0x000021DB File Offset: 0x000003DB
1317 private int GetBigAnimalCageFrame(int x, int y, int tileFrameX, int tileFrameY)
1318 {
1319 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1320 }
1321
1322 // Token: 0x06004B17 RID: 19223 RVA: 0x0026C878 File Offset: 0x0026AA78
1323 private void GetScreenDrawArea(Vector2 screenPosition, Vector2 offSet, [Out] int firstTileX, [Out] int lastTileX, [Out] int firstTileY, [Out] int lastTileY)
1324 {
1325 int num = 15744;
1326 screenPosition.X = (float)num;
1327 if (num == 0)
1328 {
1329 }
1330 int screenWidth = Main.screenWidth;
1331 int num2 = 15744;
1332 int num3 = 32640;
1333 offSet.X = (float)num2;
1335 int screenHeight = Main.screenHeight;
1337 int num4 = 4;
1338 screenPosition.X = (float)num4;
1339 if (num4 == 0)
1340 {
1341 }
1342 if (num3 == 0)
1343 {
1344 }
1345 offSet.X = (float)num4;
1346 int num5 = 4;
1348 if (num5 == 0)
1349 {
1350 }
1351 if (num3 == 0)
1352 {
1353 }
1355 if (num5 == 0)
1356 {
1357 }
1360 if (num5 == 0)
1361 {
1362 }
1364 if (num5 == 0)
1365 {
1366 }
1368 if (num5 == 0)
1369 {
1370 }
1371 }
1372
1373 // Token: 0x06004B18 RID: 19224 RVA: 0x0026C93C File Offset: 0x0026AB3C
1378
1379 // Token: 0x06004B19 RID: 19225 RVA: 0x0026C954 File Offset: 0x0026AB54
1381 {
1382 int[] specialTileX = this._specialTileX;
1383 int[] specialTileY = this._specialTileY;
1384 }
1385
1386 // Token: 0x06004B1A RID: 19226 RVA: 0x0026C970 File Offset: 0x0026AB70
1387 private void AddSpecialLegacyPoint(int x, int y)
1388 {
1389 int[] specialTileX = this._specialTileX;
1390 int[] specialTileY = this._specialTileY;
1391 }
1392
1393 // Token: 0x06004B1B RID: 19227 RVA: 0x0026C98C File Offset: 0x0026AB8C
1395 {
1396 }
1397
1398 // Token: 0x06004B1C RID: 19228 RVA: 0x0026C99C File Offset: 0x0026AB9C
1399 private Color DrawTiles_GetLightOverride(int j, int i, short sTileHeader, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight, bool fullBrightBlock)
1400 {
1401 int num = 1;
1402 if (num == 0)
1403 {
1404 }
1405 if (num == 0)
1406 {
1407 }
1408 int num2 = 17269;
1409 if (num2 == 0)
1410 {
1411 }
1412 if (num2 == 0)
1413 {
1414 return;
1415 }
1416 }
1417
1418 // Token: 0x06004B1D RID: 19229 RVA: 0x0026C9CC File Offset: 0x0026ABCC
1419 private void DrawTiles_EmitParticles(int j, int i, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight)
1420 {
1421 if (!true)
1422 {
1423 }
1424 byte bheader = TileData.GetBHeader3(1073741824);
1425 }
1426
1427 // Token: 0x06004B1E RID: 19230 RVA: 0x0026D468 File Offset: 0x0026B668
1428 private void EmitLivingTreeLeaf(int i, int j, int leafGoreType)
1429 {
1431 if (this._rand.Next(2) != 0)
1432 {
1433 return;
1434 }
1435 }
1436
1437 // Token: 0x06004B1F RID: 19231 RVA: 0x0026D490 File Offset: 0x0026B690
1438 private void EmitLivingTreeLeaf_Below(int x, int y, int leafGoreType)
1439 {
1440 if (!true)
1441 {
1442 }
1443 }
1444
1445 // Token: 0x06004B20 RID: 19232 RVA: 0x0026D4CC File Offset: 0x0026B6CC
1446 private void EmitLivingTreeLeaf_Sideways(int x, int y, int leafGoreType)
1447 {
1448 if (!true)
1449 {
1450 }
1451 if (!true)
1452 {
1453 }
1454 }
1455
1456 // Token: 0x06004B21 RID: 19233 RVA: 0x0026D520 File Offset: 0x0026B720
1457 private void EmitLiquidDrops(int j, int i, byte liquid, ushort typeCache)
1458 {
1459 }
1460
1461 // Token: 0x06004B22 RID: 19234 RVA: 0x0026D5E0 File Offset: 0x0026B7E0
1462 private float GetWindCycle(int x, int y, double windCounter)
1463 {
1464 if (!true)
1465 {
1466 }
1468 if (!true)
1469 {
1470 }
1471 if (!true)
1472 {
1473 return;
1474 }
1475 }
1476
1477 // Token: 0x06004B23 RID: 19235 RVA: 0x0026D600 File Offset: 0x0026B800
1478 private bool ShouldSwayInWind(int x, int y, ushort tileType, short frameX)
1479 {
1480 int num = 1;
1481 if (num == 0)
1482 {
1483 }
1485 if (num == 0)
1486 {
1487 }
1488 if (num != 0)
1489 {
1490 return;
1491 }
1492 }
1493
1494 // Token: 0x06004B24 RID: 19236 RVA: 0x0026D628 File Offset: 0x0026B828
1495 private void UpdateLeafFrequency()
1496 {
1497 if (!true)
1498 {
1499 }
1500 if (!true)
1501 {
1502 }
1504 }
1505
1506 // Token: 0x06004B25 RID: 19237 RVA: 0x0026D6C4 File Offset: 0x0026B8C4
1507 private void EnsureWindGridSize()
1508 {
1509 if (!true)
1510 {
1511 }
1512 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
1513 if (!true)
1514 {
1515 }
1516 }
1517
1518 // Token: 0x06004B26 RID: 19238 RVA: 0x0026D6E8 File Offset: 0x0026B8E8
1519 private void EmitTreeLeaves(int tilePosX, int tilePosY, int grassPosX, int grassPosY)
1520 {
1522 if (isActiveAndNotPaused)
1523 {
1525 {
1526 }
1527 Tile tile;
1528 byte liquid = tile.liquid;
1529 }
1530 }
1531
1532 // Token: 0x06004B27 RID: 19239 RVA: 0x0026D7B0 File Offset: 0x0026B9B0
1533 private void DrawSpecialTilesLegacy(Vector2 screenPosition, Vector2 offSet)
1534 {
1536 int num = 8;
1537 int[] specialTileX = this._specialTileX;
1538 int[] specialTileY = this._specialTileY;
1539 if (num == 0)
1540 {
1541 }
1542 Tile tile;
1543 ushort type = tile.type;
1544 if (specialTileX == null)
1545 {
1546 }
1547 }
1548
1549 // Token: 0x06004B28 RID: 19240 RVA: 0x0026D97C File Offset: 0x0026BB7C
1551 {
1552 if (!true)
1553 {
1554 }
1556 Matrix transform = Main.Transform;
1557 int key = TileEntity.GetKey(-1073741824, 43134976);
1558 }
1559
1560 // Token: 0x06004B29 RID: 19241 RVA: 0x0026D9D0 File Offset: 0x0026BBD0
1562 {
1563 if (!true)
1564 {
1565 }
1567 Matrix transform = Main.Transform;
1568 int key = TileEntity.GetKey(43134976, 1073741824);
1569 }
1570
1571 // Token: 0x06004B2A RID: 19242 RVA: 0x0026DA24 File Offset: 0x0026BC24
1572 private void DrawTrees()
1573 {
1574 int num = 1;
1575 if (num == 0)
1576 {
1577 }
1578 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
1579 if (num == 0)
1580 {
1581 }
1582 int num2 = 1;
1583 if (num2 == 0)
1584 {
1585 }
1586 int value = num2.m_value;
1587 if (num2 == 0)
1588 {
1589 }
1590 Tile tile;
1591 bool flag = tile.active();
1592 }
1593
1594 // Token: 0x06004B2B RID: 19243 RVA: 0x0026DC34 File Offset: 0x0026BE34
1596 {
1597 /*
1598An exception occurred when decompiling this method (06004B2B)
1599
1600ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Texture2D Terraria.GameContent.Drawing.TileDrawing::GetTreeTopTexture(System.Int32,System.Int32,System.Byte,Microsoft.Xna.Framework.Graphics.EffectPass)
1601
1602 ---> System.Exception: Basic block has to end with unconditional control flow.
1603{
1604 IL_0003:
1605 stloc:EffectPass(var_0_11, call:EffectPass(TilePaintSystemV2::GetTreeTopEffect, ldfld:TilePaintSystemV2(TileDrawing::_paintSystem, ldloc:TileDrawing(this)), ldloc:int32(treeTextureIndex), ldloc:int32(treeTextureStyle), ldloc:uint8[exp:int32](tileColor)))
1606}
1607
1608 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
1609 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
1610 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
1611 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
1612 --- End of inner exception stack trace ---
1613 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
1614 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
1615*/;
1616 }
1617
1618 // Token: 0x06004B2C RID: 19244 RVA: 0x0026DC54 File Offset: 0x0026BE54
1620 {
1621 /*
1622An exception occurred when decompiling this method (06004B2C)
1623
1624ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Texture2D Terraria.GameContent.Drawing.TileDrawing::GetTreeBranchTexture(System.Int32,System.Int32,System.Byte,Microsoft.Xna.Framework.Graphics.EffectPass)
1625
1626 ---> System.Exception: Basic block has to end with unconditional control flow.
1627{
1628 IL_0003:
1629 stloc:EffectPass(var_0_11, call:EffectPass(TilePaintSystemV2::GetTreeBranchEffect, ldfld:TilePaintSystemV2(TileDrawing::_paintSystem, ldloc:TileDrawing(this)), ldloc:int32(treeTextureIndex), ldloc:int32(treeTextureStyle), ldloc:uint8[exp:int32](tileColor)))
1630}
1631
1632 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
1633 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
1634 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
1635 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
1636 --- End of inner exception stack trace ---
1637 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
1638 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
1639*/;
1640 }
1641
1642 // Token: 0x06004B2D RID: 19245 RVA: 0x0026DC74 File Offset: 0x0026BE74
1643 private void DrawGrass()
1644 {
1645 int num = 1;
1646 if (num == 0)
1647 {
1648 }
1649 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
1650 if (num == 0)
1651 {
1652 }
1653 int num2 = 1;
1654 if (num2 == 0)
1655 {
1656 }
1657 int value = num2.m_value;
1658 if (num2 == 0)
1659 {
1660 }
1661 Tile tile;
1662 bool flag = tile.active();
1663 UnifiedRandom rand = this._rand;
1664 int num3 = 4;
1665 int num4 = rand.Next(num3);
1666 Color color = Lighting.GetColor(1073741824, num3);
1667 long num5 = 0L;
1669 bool flag2 = this.IsAlchemyPlantHarvestable((int)num5);
1671 {
1672 }
1673 double grassWindCounter = this._grassWindCounter;
1674 if (!isActiveAndNotPaused)
1675 {
1676 }
1678 Color color2;
1679 if (texture2D == null || color2 != null)
1680 {
1681 }
1682 }
1683
1684 // Token: 0x06004B2E RID: 19246 RVA: 0x0026DD18 File Offset: 0x0026BF18
1686 {
1687 int num = 1;
1688 if (num == 0)
1689 {
1690 }
1691 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
1692 if (num == 0)
1693 {
1694 }
1695 int num2 = 1;
1696 if (num2 == 0)
1697 {
1698 }
1699 int num3 = 32640;
1700 if (num2 == 0)
1701 {
1702 }
1703 Tile tile;
1704 bool flag = tile.active();
1705 int num4 = 4;
1707 int num5 = unifiedRandom.Next(num4);
1708 if (num3 == 0)
1709 {
1710 }
1711 Color color = Lighting.GetColor(1073741824, num4);
1712 long num6 = 0L;
1714 bool flag2 = this.IsAlchemyPlantHarvestable((int)num6);
1716 {
1717 }
1719 {
1720 }
1721 double grassWindCounter = this._grassWindCounter;
1722 if (!isActiveAndNotPaused)
1723 {
1724 }
1725 }
1726
1727 // Token: 0x06004B2F RID: 19247 RVA: 0x0026DDC4 File Offset: 0x0026BFC4
1728 private void DrawAnimatedTile_AdjustForVisionChangers(int i, int j, short tileSHeader, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight, bool canDoDust)
1729 {
1731 if (localPlayer.dangerSense)
1732 {
1733 bool flag = TileDrawing.IsTileDangerous(localPlayer, tileSHeader, typeCache, tileFrameX);
1735 int num = 30;
1737 if (unifiedRandom.Next(num) == 0)
1738 {
1739 if (true)
1740 {
1741 return;
1742 }
1743 if (!true)
1744 {
1745 }
1746 float x = localPlayer.position.X;
1747 int num2 = 1;
1748 if (num2 != 0)
1749 {
1750 return;
1751 }
1752 if (!true)
1753 {
1754 }
1755 }
1756 }
1757 bool findTreasure = this._localPlayer.findTreasure;
1758 if (findTreasure)
1759 {
1760 if (!findTreasure)
1761 {
1762 }
1763 bool flag2 = Main.IsTileSpelunkable(typeCache, tileFrameX, tileFrameY);
1764 if (this._isActiveAndNotPaused)
1765 {
1766 int num3 = 60;
1768 if (unifiedRandom2.Next(num3) == 0)
1769 {
1770 if (true)
1771 {
1772 return;
1773 }
1774 int num4 = 1;
1775 if (num4 == 0)
1776 {
1777 }
1778 if (num4 == 0)
1779 {
1780 }
1781 if (!true)
1782 {
1783 }
1784 }
1785 }
1786 }
1787 bool biomeSight = this._localPlayer.biomeSight;
1788 if (biomeSight)
1789 {
1790 if (!biomeSight)
1791 {
1792 }
1793 if (!biomeSight)
1794 {
1795 }
1796 if (this._isActiveAndNotPaused)
1797 {
1798 int num5 = 480;
1800 if (unifiedRandom3.Next(num5) == 0)
1801 {
1802 if (true)
1803 {
1804 return;
1805 }
1806 return;
1807 }
1808 }
1809 }
1810 }
1811
1812 // Token: 0x06004B30 RID: 19248 RVA: 0x0026DEE4 File Offset: 0x0026C0E4
1813 private float GetWindGridPush(int i, int j, int pushAnimationTimeTotal, float pushForcePerFrame)
1814 {
1815 /*
1816An exception occurred when decompiling this method (06004B30)
1817
1818ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.GameContent.Drawing.TileDrawing::GetWindGridPush(System.Int32,System.Int32,System.Int32,System.Single)
1819
1820 ---> System.Exception: Basic block has to end with unconditional control flow.
1821{
1822 Block_0:
1823 stloc:WindGrid(var_0_06, callgetter:WindGrid(TileDrawing::get__windGrid, ldloc:TileDrawing(this)))
1824}
1825
1826 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
1827 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
1828 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
1829 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
1830 --- End of inner exception stack trace ---
1831 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
1832 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
1833*/;
1834 }
1835
1836 // Token: 0x06004B31 RID: 19249 RVA: 0x0026DEF8 File Offset: 0x0026C0F8
1837 private void GetWindGridPush2Axis(int i, int j, int pushAnimationTimeTotal, float pushForcePerFrame, [Out] float pushX, [Out] float pushY)
1838 {
1840 }
1841
1842 // Token: 0x06004B32 RID: 19250 RVA: 0x0026DF0C File Offset: 0x0026C10C
1844 {
1845 /*
1846An exception occurred when decompiling this method (06004B32)
1847
1848ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.GameContent.Drawing.TileDrawing::GetWindGridPushComplex(System.Int32,System.Int32,System.Int32,System.Single,System.Int32,System.Boolean)
1849
1850 ---> System.Exception: Basic block has to end with unconditional control flow.
1851{
1852 Block_0:
1853 stloc:WindGrid(var_0_06, callgetter:WindGrid(TileDrawing::get__windGrid, ldloc:TileDrawing(this)))
1854}
1855
1856 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
1857 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
1858 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
1859 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
1860 --- End of inner exception stack trace ---
1861 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
1862 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
1863*/;
1864 }
1865
1866 // Token: 0x06004B33 RID: 19251 RVA: 0x0026DF28 File Offset: 0x0026C128
1867 private void DrawMasterTrophies()
1868 {
1869 Tile tile;
1870 bool flag = tile.active();
1871 if (4855 == 0)
1872 {
1873 }
1875 Vector2 vector = rectangle.Size();
1876 if (17024 == 0)
1877 {
1878 }
1879 long num = 0L;
1880 Color color = Lighting.GetColor(1719664640, (int)num);
1881 Vector2 screenPosition = Main.screenPosition;
1883 }
1884
1885 // Token: 0x06004B34 RID: 19252 RVA: 0x0026DF90 File Offset: 0x0026C190
1887 {
1888 Tile tile;
1889 bool flag = tile.active();
1890 if (4855 == 0)
1891 {
1892 }
1894 Vector2 vector = rectangle.Size();
1895 short num;
1896 if (num == 0)
1897 {
1898 }
1899 int num2 = 49696;
1900 int num3 = 4;
1902 int num4 = unifiedRandom.Next(num3);
1903 int num5 = 10;
1905 if (unifiedRandom2.Next(num5) == 0)
1906 {
1907 if (num2 == 0)
1908 {
1909 }
1910 Vector2 vector2 = rectangle.Size();
1913 }
1914 Vector2 screenPosition = Main.screenPosition;
1916 }
1917
1918 // Token: 0x06004B35 RID: 19253 RVA: 0x000021DB File Offset: 0x000003DB
1919 private void DrawVoidLenses()
1920 {
1921 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1922 }
1923
1924 // Token: 0x06004B36 RID: 19254 RVA: 0x0026E050 File Offset: 0x0026C250
1925 private void DrawMultiTileGrass()
1926 {
1927 if (!true)
1928 {
1929 }
1930 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
1931 Tile tile;
1932 bool flag = tile.active();
1933 Tile tile2;
1934 ushort type = tile2.type;
1935 Tile tile3;
1936 short frameY = tile3.frameY;
1937 }
1938
1939 // Token: 0x06004B37 RID: 19255 RVA: 0x0026E0A4 File Offset: 0x0026C2A4
1940 private int ClimbCatTail(int originx, int originy)
1941 {
1942 /*
1943An exception occurred when decompiling this method (06004B37)
1944
1945ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Drawing.TileDrawing::ClimbCatTail(System.Int32,System.Int32)
1946
1947 ---> System.Exception: Basic block has to end with unconditional control flow.
1948{
1949 IL_0007:
1950 stloc:bool(var_3_0D, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_2)))
1951}
1952
1953 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
1954 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
1955 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
1956 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
1957 --- End of inner exception stack trace ---
1958 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
1959 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
1960*/;
1961 }
1962
1963 // Token: 0x06004B38 RID: 19256 RVA: 0x0026E0C0 File Offset: 0x0026C2C0
1964 private void DrawMultiTileVines()
1965 {
1966 int num = 1;
1967 if (num == 0)
1968 {
1969 }
1970 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
1971 if (num == 0)
1972 {
1973 }
1974 int num2 = 1;
1975 if (num2 == 0)
1976 {
1977 }
1978 int value = num2.m_value;
1979 Tile tile;
1980 bool flag = tile.active();
1981 if (num2 == 0)
1982 {
1983 }
1984 Tile tile2;
1985 ushort type = tile2.type;
1986 }
1987
1988 // Token: 0x06004B39 RID: 19257 RVA: 0x0026E110 File Offset: 0x0026C310
1989 private void DrawVines()
1990 {
1991 int num = 1;
1992 if (num == 0)
1993 {
1994 }
1995 Camera camera = Main.Camera;
1997 if (num == 0)
1998 {
1999 }
2000 if (false)
2001 {
2002 }
2003 }
2004
2005 // Token: 0x06004B3A RID: 19258 RVA: 0x0026E140 File Offset: 0x0026C340
2006 private void DrawReverseVines()
2007 {
2008 int num = 1;
2009 if (num == 0)
2010 {
2011 }
2012 Vector2 unscaledPosition = Main.Camera.UnscaledPosition;
2013 if (num == 0)
2014 {
2015 }
2016 int num2 = 1;
2017 if (num2 == 0)
2018 {
2019 }
2020 int value = num2.m_value;
2021 if (false)
2022 {
2023 }
2024 }
2025
2026 // Token: 0x06004B3B RID: 19259 RVA: 0x0026E178 File Offset: 0x0026C378
2027 private void DrawMultiTileGrassInWind(Vector2 screenPosition, Vector2 offSet, int topLeftX, int topLeftY, int sizeX, int sizeY)
2028 {
2029 int num = 1;
2031 int num2 = 32640;
2032 if (num == 0)
2033 {
2034 }
2035 if (num == 0)
2036 {
2037 }
2038 Tile tile;
2039 ushort type = tile.type;
2040 if (num2 == 0)
2041 {
2042 }
2043 }
2044
2045 // Token: 0x06004B3C RID: 19260 RVA: 0x0026E1EC File Offset: 0x0026C3EC
2046 private void DrawVineStrip(Vector2 screenPosition, Vector2 offSet, int x, int startY)
2047 {
2048 if (8 == 0)
2049 {
2050 }
2051 if (!true)
2052 {
2053 }
2054 double vineWindCounter = this._vineWindCounter;
2055 int num = 255;
2057 if (lightMap._colors != null && num != 0)
2058 {
2059 return;
2060 }
2061 int <Height>k__BackingField = lightMap.<Height>k__BackingField;
2062 if (num == 0)
2063 {
2064 }
2065 if (!true)
2066 {
2067 }
2068 }
2069
2070 // Token: 0x06004B3D RID: 19261 RVA: 0x0026E2B4 File Offset: 0x0026C4B4
2071 private void DrawRisingVineStrip(Vector2 screenPosition, Vector2 offSet, int x, int startY)
2072 {
2073 if (8 == 0)
2074 {
2075 }
2076 if (!true)
2077 {
2078 }
2079 double vineWindCounter = this._vineWindCounter;
2080 Tile tile;
2081 ushort type = tile.type;
2082 }
2083
2084 // Token: 0x06004B3E RID: 19262 RVA: 0x0026E2FC File Offset: 0x0026C4FC
2086 {
2087 /*
2088An exception occurred when decompiling this method (06004B3E)
2089
2090ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.GameContent.Drawing.TileDrawing::GetAverageWindGridPush(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Single)
2091
2092 ---> System.Exception: Basic block has to end with unconditional control flow.
2093{
2094 IL_0000:
2095 stloc:int64(var_0_01, ldc.i4:int64(0))
2096 brtrue(IL_0000, logicnot:bool(ldloc:int64[exp:bool](var_0_01)))
2097}
2098
2099 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
2100 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
2101 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
2102 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
2103 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
2104 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
2105 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
2106 --- End of inner exception stack trace ---
2107 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
2108 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
2109*/;
2110 }
2111
2112 // Token: 0x06004B3F RID: 19263 RVA: 0x0026E310 File Offset: 0x0026C510
2114 {
2115 /*
2116An exception occurred when decompiling this method (06004B3F)
2117
2118ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.GameContent.Drawing.TileDrawing::GetHighestWindGridPushComplex(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Int32,System.Boolean)
2119
2120 ---> System.Exception: Basic block has to end with unconditional control flow.
2121{
2122 Block_0:
2123 call:void(WindGrid::GetWindTime, callgetter:WindGrid(TileDrawing::get__windGrid, ldloc:TileDrawing(this)), ldloc:int32(topLeftX), ldloc:int32(topLeftY), ldloc:int32(totalPushTime), ldloc:int32(sizeY), ldloc:int32(totalPushTime), ldloc:int32(loops))
2124}
2125
2126 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
2127 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
2128 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
2129 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
2130 --- End of inner exception stack trace ---
2131 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
2132 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
2133*/;
2134 }
2135
2136 // Token: 0x06004B40 RID: 19264 RVA: 0x0026E334 File Offset: 0x0026C534
2137 private void DrawMultiTileVinesInWind(Vector2 screenPosition, Vector2 offSet, int topLeftX, int topLeftY, int sizeX, int sizeY)
2138 {
2140 Tile tile;
2141 ushort type = tile.type;
2142 }
2143
2144 // Token: 0x06004B41 RID: 19265 RVA: 0x0026E3D4 File Offset: 0x0026C5D4
2145 private void EmitAlchemyHerbParticles(int j, int i, int style)
2146 {
2147 }
2148
2149 // Token: 0x06004B42 RID: 19266 RVA: 0x0026E598 File Offset: 0x0026C798
2150 private bool IsAlchemyPlantHarvestable(int style)
2151 {
2152 if (style == 0)
2153 {
2154 }
2155 if (style == 0)
2156 {
2157 }
2158 if (style == 0)
2159 {
2160 if (style == 0)
2161 {
2162 }
2163 return;
2164 }
2165 }
2166
2167 // Token: 0x06004B43 RID: 19267 RVA: 0x0026E5B4 File Offset: 0x0026C7B4
2168 // Note: this type is marked as 'beforefieldinit'.
2170 {
2171 }
2172
2173 // Token: 0x04008552 RID: 34130
2174 public const int MAX_SPECIALS = 9000;
2175
2176 // Token: 0x04008553 RID: 34131
2177 private const int MAX_SPECIALS_LEGACY = 1000;
2178
2179 // Token: 0x04008554 RID: 34132
2180 private const float FORCE_FOR_MIN_WIND = 0.08f;
2181
2182 // Token: 0x04008555 RID: 34133
2183 private const float FORCE_FOR_MAX_WIND = 1.2f;
2184
2185 // Token: 0x04008556 RID: 34134
2186 private bool[] cacheSpecialDrawTree;
2187
2188 // Token: 0x04008557 RID: 34135
2189 private int _leafFrequency;
2190
2191 // Token: 0x04008558 RID: 34136
2192 private object specialLock;
2193
2194 // Token: 0x04008559 RID: 34137
2196
2197 // Token: 0x0400855A RID: 34138
2198 private int[] _specialTileX;
2199
2200 // Token: 0x0400855B RID: 34139
2201 private int[] _specialTileY;
2202
2203 // Token: 0x0400855C RID: 34140
2204 private object _specialLock;
2205
2206 // Token: 0x0400855D RID: 34141
2207 private double _treeWindCounter;
2208
2209 // Token: 0x0400855E RID: 34142
2210 private double _grassWindCounter;
2211
2212 // Token: 0x0400855F RID: 34143
2214
2215 // Token: 0x04008560 RID: 34144
2216 private double _vineWindCounter;
2217
2218 // Token: 0x04008561 RID: 34145
2220
2221 // Token: 0x04008562 RID: 34146
2223
2224 // Token: 0x04008563 RID: 34147
2226
2227 // Token: 0x04008564 RID: 34148
2229
2230 // Token: 0x04008565 RID: 34149
2232
2233 // Token: 0x04008566 RID: 34150
2235
2236 // Token: 0x04008567 RID: 34151
2238
2239 // Token: 0x04008568 RID: 34152
2241
2242 // Token: 0x04008569 RID: 34153
2244
2245 // Token: 0x0400856A RID: 34154
2247
2248 // Token: 0x0400856B RID: 34155
2250
2251 // Token: 0x0400856C RID: 34156
2253
2254 // Token: 0x0400856D RID: 34157
2256
2257 // Token: 0x0400856E RID: 34158
2258 private static readonly Vector2 _zero;
2259
2260 // Token: 0x0400856F RID: 34159
2262
2263 // Token: 0x04008570 RID: 34160
2265
2266 // Token: 0x04008571 RID: 34161
2268
2269 // Token: 0x04008572 RID: 34162
2271
2272 // Token: 0x04008573 RID: 34163
2274
2275 // Token: 0x04008574 RID: 34164
2277
2278 // Token: 0x04008575 RID: 34165
2280
2281 // Token: 0x04008576 RID: 34166
2283
2284 // Token: 0x04008577 RID: 34167
2286
2287 // Token: 0x020009E9 RID: 2537
2289 {
2290 // Token: 0x04008579 RID: 34169
2291 Tree,
2292 // Token: 0x0400857A RID: 34170
2294 // Token: 0x0400857B RID: 34171
2295 HatRack,
2296 // Token: 0x0400857C RID: 34172
2297 WindyGrass,
2298 // Token: 0x0400857D RID: 34173
2300 // Token: 0x0400857E RID: 34174
2302 // Token: 0x0400857F RID: 34175
2303 Vine,
2304 // Token: 0x04008580 RID: 34176
2305 BiomeGrass,
2306 // Token: 0x04008581 RID: 34177
2307 VoidLens,
2308 // Token: 0x04008582 RID: 34178
2310 // Token: 0x04008583 RID: 34179
2312 // Token: 0x04008584 RID: 34180
2314 // Token: 0x04008585 RID: 34181
2316 // Token: 0x04008586 RID: 34182
2317 Count
2318 }
2319
2320 // Token: 0x020009EA RID: 2538
2321 private struct TileFlameData
2322 {
2323 // Token: 0x04008587 RID: 34183
2325
2326 // Token: 0x04008588 RID: 34184
2328
2329 // Token: 0x04008589 RID: 34185
2330 public int flameCount;
2331
2332 // Token: 0x0400858A RID: 34186
2334
2335 // Token: 0x0400858B RID: 34187
2336 public int flameRangeXMin;
2337
2338 // Token: 0x0400858C RID: 34188
2339 public int flameRangeXMax;
2340
2341 // Token: 0x0400858D RID: 34189
2342 public int flameRangeYMin;
2343
2344 // Token: 0x0400858E RID: 34190
2345 public int flameRangeYMax;
2346
2347 // Token: 0x0400858F RID: 34191
2348 public float flameRangeMultX;
2349
2350 // Token: 0x04008590 RID: 34192
2351 public float flameRangeMultY;
2352 }
2353 }
2354}
class f__AnonymousType0<< Count > j__TPar
static int Increment(int location)
static int GetKey(int x, int y)
static void WallFrame(int i, int j, bool resetFrame=false)
Definition Framing.cs:328
void DrawTiles_EmitParticles(int j, int i, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight)
void DrawPartialLiquid(SpriteBatch spriteBatch, bool behindBlocks, TileDrawInfo tileCache, Vector2 position, Rectangle liquidSize, int liquidType, VertexColors colors)
Texture2D GetTileDrawTexture(Tile tile, int tileX, int tileY, int paintOverride, [Out] EffectPass pass)
void Draw(bool solidLayer, bool forRenderTargets, bool intoRenderTargets, int waterStyleOverride=-1)
static WorldGen.GetTreeFoliageDataMethod GetGemTreeFoliageDataInstance
float GetWindGridPush(int i, int j, int pushAnimationTimeTotal, float pushForcePerFrame)
void PostDrawTiles(bool solidLayer, bool forRenderTargets, bool intoRenderTargets)
void GetTileDrawData(int x, int y, Tile tileCache, ushort typeCache, short tileFrameX, short tileFrameY, [Out] int tileWidth, [Out] int tileHeight, [Out] int tileTop, [Out] int halfBrickHeight, [Out] int addFrX, [Out] int addFrY, [Out] SpriteEffects tileSpriteEffect, [Out] Texture2D glowTexture, [Out] Rectangle glowSourceRect, [Out] Color glowColor)
int GetBigAnimalCageFrame(int x, int y, int tileFrameX, int tileFrameY)
void EmitLivingTreeLeaf_Sideways(int x, int y, int leafGoreType)
bool IsTileDrawLayerSolid(ushort typeCache)
static bool IsTileDangerous(Player localPlayer, short sTileHeader, ushort typeCache, short tileFrameX)
void GetTileDrawData(int x, int y, TileDrawInfo tileCache, ushort typeCache, short tileFrameX, short tileFrameY, [Out] int tileWidth, [Out] int tileHeight, [Out] int tileTop, [Out] int halfBrickHeight, [Out] int addFrX, [Out] int addFrY, [Out] SpriteEffects tileSpriteEffect, [Out] Texture2D glowTexture, [Out] Rectangle glowSourceRect, [Out] Color glowColor)
static int GetTreeVariant(int x, int y)
void EmitLivingTreeLeaf_Below(int x, int y, int leafGoreType)
void DrawRisingVineStrip(Vector2 screenPosition, Vector2 offSet, int x, int startY)
void EmitTreeLeaves(int tilePosX, int tilePosY, int grassPosX, int grassPosY)
void MergeDictionary(Dictionary< Point, int > dest, Dictionary< Point, int > src)
Dictionary< Point, int > _foodPlatterTileEntityPositions
ThreadedRenderManager.BatchProcessCallback _processBatchFinishedCallback
static WorldGen.GetTreeFoliageDataMethod GetVanityTreeFoliageDataInstance
static bool ShouldTileShine(ushort type, short frameX)
Texture2D GetTileDrawTexture(TileDrawInfo drawInfo, int worldWidth, [Out] EffectPass pass)
void GetTileDrawData(int x, int y, bool halfBrick, ushort typeCache, short tileFrameX, short tileFrameY, [Out] int tileWidth, [Out] int tileHeight, [Out] int tileTop, [Out] int halfBrickHeight, [Out] int addFrX, [Out] int addFrY, [Out] SpriteEffects tileSpriteEffect, [Out] Texture2D glowTexture, [Out] Rectangle glowSourceRect, [Out] Color glowColor)
Dictionary< Point, int > _weaponRackTileEntityPositions
bool ShouldSwayInWind(int x, int y, ushort tileType, short frameX)
int DrawTilesThreaded(Vector2 screenPosition, Vector2 offSet, int firstTileX, int firstTileY, int lastTileX, int lastTileY, bool solidLayer, bool forRenderTargets, bool intoRenderTargets, int waterStyleOverride=-1)
Dictionary< Point, int > _hatRackTileEntityPositions
int GetPalmTreeBiome(int tileX, int tileY)
void GetWindGridPush2Axis(int i, int j, int pushAnimationTimeTotal, float pushForcePerFrame, [Out] float pushX, [Out] float pushY)
void DrawSingleTile_Flames(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
Dictionary< Point, int > _displayDollTileEntityPositions
float GetHighestWindGridPushComplex(int topLeftX, int topLeftY, int sizeX, int sizeY, int totalPushTime, float pushForcePerFrame, int loops, bool swapLoopDir)
TileDrawing.TileFlameData GetTileFlameData(int tileX, int tileY, int type, int tileFrameY)
void DrawTile_MinecartTrack(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
void DrawXmasTree(Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
float GetWindGridPushComplex(int i, int j, int pushAnimationTimeTotal, float totalPushForce, int loops, bool flipDirectionPerLoop)
Color DrawTiles_GetLightOverride(int j, int i, short sTileHeader, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight, bool fullBrightBlock)
void DrawTile_LiquidBehindTile(bool solidLayer, bool inFrontOfPlayers, int waterStyleOverride, Vector2 screenPosition, Vector2 screenOffset, int tileX, int tileY, TileDrawInfo drawData)
void CacheSpecialDraws(int tileX, int tileY, ushort typeCache, short tileFrameX, short tileFrameY)
void CrawlToBottomOfReverseVineAndAddSpecialPoint(int j, int i)
Dictionary< Point, int > _itemFrameTileEntityPositions
void DrawTiles(Vector2 screenPosition, Vector2 offSet, int firstTileX, int firstTileY, int lastTileX, int lastTileY, bool solidLayer, bool forRenderTargets, bool intoRenderTargets, int waterStyleOverride=-1)
static WorldGen.GetTreeFoliageDataMethod GetCommonTreeFoliageDataInstance
int GetSmallAnimalCageFrame(int x, int y, int tileFrameX, int tileFrameY)
void EmitLivingTreeLeaf(int i, int j, int leafGoreType)
int GetPalmTreeBiome(TileDrawInfo drawInfo, int worldWidth)
void DrawMultiTileGrassInWind(Vector2 screenPosition, Vector2 offSet, int topLeftX, int topLeftY, int sizeX, int sizeY)
void DrawLiquidBehindTiles(int waterStyleOverride=-1)
ThreadLocal< TileDrawInfo > _currentTileDrawInfo
void DrawAnimatedTile_AdjustForVisionChangers(int i, int j, short tileSHeader, ushort typeCache, short tileFrameX, short tileFrameY, Color tileLight, bool canDoDust)
ThreadedRenderManager.BatchProcessCallback ProcessBatchFinishedCallback
void CrawlToTopOfVineAndAddSpecialPoint(int j, int i)
int ClimbCatTail(int originx, int originy)
Dictionary< Point, int > _trainingDummyTileEntityPositions
static WorldGen.GetTreeFoliageDataMethod GetAshTreeFoliageDataInstance
void DrawMultiTileVinesInWind(Vector2 screenPosition, Vector2 offSet, int topLeftX, int topLeftY, int sizeX, int sizeY)
void PrepareForAreaDrawing(int firstTileX, int lastTileX, int firstTileY, int lastTileY, bool prepareLazily)
void EmitLiquidDrops(int j, int i, byte liquid, ushort typeCache)
Dictionary< Point, int > _chestPositions
Texture2D GetTileDrawTexture(int tileX, int tileY, ushort tileType, short frameX, short frameY, byte tileColor, [Out] EffectPass pass)
static Color GetFinalLight(TileDrawInfo tileDrawInfo, ushort typeCache, Color tileLight)
float GetAverageWindGridPush(int topLeftX, int topLeftY, int sizeX, int sizeY, int totalPushTime, float pushForcePerFrame)
Texture2D GetTileDrawTexture(TileDrawInfo drawInfo, int tileX, int tileY, [Out] EffectPass pass)
Texture2D GetTreeTopTexture(int treeTextureIndex, int treeTextureStyle, byte tileColor, [Out] EffectPass pass)
TileDrawing(TilePaintSystemV2 paintSystem)
Texture2D GetTreeBranchTexture(int treeTextureIndex, int treeTextureStyle, byte tileColor, [Out] EffectPass pass)
void EmitAlchemyHerbParticles(int j, int i, int style)
void GetTileOutlineInfo(int x, int y, ushort typeCache, Color tileLight, Texture2D highlightTexture, Color highlightColor)
int GetWaterAnimalCageFrame(int x, int y, int tileFrameX, int tileFrameY)
Texture2D GetTileDrawTexture(Tile tile, int tileX, int tileY, [Out] EffectPass pass)
float GetWindCycle(int x, int y, double windCounter)
unsafe int GetTreeBiome(TileDrawInfo drawInfo, int worldWidth)
void AddSpecialPoint(int x, int y, TileDrawing.TileCounterType type)
static int GetTreeBiome(int tileX, int tileY, int tileFrameX, int tileFrameY)
bool InAPlaceWithWind(int x, int y, int width, int height)
void PreDrawTiles(bool solidLayer, bool forRenderTargets, bool intoRenderTargets)
void DrawVineStrip(Vector2 screenPosition, Vector2 offSet, int x, int startY)
void GetScreenDrawArea(Vector2 screenPosition, Vector2 offSet, [Out] int firstTileX, [Out] int lastTileX, [Out] int firstTileY, [Out] int lastTileY)
void DrawSpecialTilesLegacy(Vector2 screenPosition, Vector2 offSet)
static void SpawnInWorldDust(int tileStyle, Rectangle dustBox)
static Color GetColor(Point tileCoords)
Definition Lighting.cs:423
static bool NotRetro
Definition Lighting.cs:150
static bool ShouldShowInvisibleWalls()
Definition Main.cs:15228
static Microsoft.Xna.Framework.Vector2 screenPosition
Definition Main.cs:1973
static bool InSmartCursorHighlightArea(int x, int y, [Out] bool actuallySelected)
Definition Main.cs:5673
static int screenHeight
Definition Main.cs:2015
static WorldSections sectionManager
Definition Main.cs:447
static Matrix Transform
Definition Main.cs:4428
static Terraria.Graphics.Camera Camera
Definition Main.cs:296
static bool SettingsEnabled_TilesSwayInWind
Definition Main.cs:1805
static SamplerState DefaultSamplerState
Definition Main.cs:5102
static int screenWidth
Definition Main.cs:2001
static bool IsTileSpelunkable(Tile t)
Definition Main.cs:8978
static bool DrawRightDecoration(int frameID)
Definition Minecart.cs:315
static bool DrawBumper(int frameID)
Definition Minecart.cs:342
static Rectangle GetSourceRect(int frameID, int animationFrame=0)
Definition Minecart.cs:374
static byte GetBHeader3(int tileIndex)
Definition TileData.cs:556
static void DetailedDrawReset()
static void DetailedDrawTime(int detailedDrawType)
static bool InAPlaceWithWind(Vector2 position, int width, int height)
static void TileFrame(int i, int j, bool resetFrame=false, bool noBreak=false)
void SetAllFramedSectionsAsNeedingRefresh()
ThreadedRenderManager.RenderThreadInstance[] DrawThreads
void WaitAndProcess(ThreadedRenderManager.BatchProcessCallback callback, int numberOfThreads)
byte liquid
Definition Tile.cs:110
short frameY
Definition Tile.cs:285
ushort type
Definition Tile.cs:58
short frameX
Definition Tile.cs:244
bool active()
Definition Tile.cs:1241
ushort wall
Definition Tile.cs:85