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
Collision.cs
Go to the documentation of this file.
1using System;
8
9namespace Terraria
10{
11 // Token: 0x02000425 RID: 1061
12 public class Collision
13 {
14 // Token: 0x06002769 RID: 10089 RVA: 0x0018CCBC File Offset: 0x0018AEBC
16 {
17 if (!true)
18 {
19 }
20 Vector2[] array;
21 return array;
22 }
23
24 // Token: 0x0600276A RID: 10090 RVA: 0x0018CCD4 File Offset: 0x0018AED4
25 private static double DistFromSeg(Vector2 p, Vector2 q0, Vector2 q1, double radius, float u)
26 {
27 /*
28An exception occurred when decompiling this method (0600276A)
29
30ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Double Terraria.Collision::DistFromSeg(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Double,System.Single)
31
32 ---> System.Exception: Basic block has to end with unconditional control flow.
33{
34 IL_0006:
35 brtrue(IL_0000, ldc.i4:bool(1))
36}
37
38 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
39 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
40 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
41 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
42 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
43 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
44 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
45 --- End of inner exception stack trace ---
46 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
47 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
48*/;
49 }
50
51 // Token: 0x0600276B RID: 10091 RVA: 0x0018CCEC File Offset: 0x0018AEEC
52 private static bool PointOnLine(Vector2 p, Vector2 a1, Vector2 a2)
53 {
54 /*
55An exception occurred when decompiling this method (0600276B)
56
57ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::PointOnLine(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2)
58
59 ---> System.Exception: Basic block has to end with unconditional control flow.
60{
61 IL_0000:
62 brtrue(IL_0000, ldc.i4:bool(1))
63}
64
65 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
66 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
67 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
68 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
69 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
70 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
71 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
72 --- End of inner exception stack trace ---
73 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
74 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
75*/;
76 }
77
78 // Token: 0x0600276C RID: 10092 RVA: 0x0018CCFC File Offset: 0x0018AEFC
80 {
81 if (!true)
82 {
83 return;
84 }
85 }
86
87 // Token: 0x0600276D RID: 10093 RVA: 0x0018CD10 File Offset: 0x0018AF10
88 private static float[] FindOverlapPoints(float relativePoint1, float relativePoint2)
89 {
90 /*
91An exception occurred when decompiling this method (0600276D)
92
93ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single[] Terraria.Collision::FindOverlapPoints(System.Single,System.Single)
94
95 ---> System.Exception: Basic block has to end with unconditional control flow.
96{
97 IL_0003:
98 stloc:float32(var_1_0C, call:float32(Math::Min, ldloc:float32(relativePoint1), ldloc:float32(relativePoint2)))
99 stloc:float32(var_3_16, call:float32(Math::Max, ldloc:float32(relativePoint1), ldloc:float32(relativePoint2)))
100 stloc:float32(var_5_21, call:float32(Math::Max, ldloc:float32(var_3_16), ldloc:float32(var_1_0C)))
101 stloc:float32(var_7_2E, call:float32(Math::Min, ldloc:float32(var_5_21), ldloc:float32(var_3_16)))
102}
103
104 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
105 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
106 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
107 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
108 --- End of inner exception stack trace ---
109 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
110 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
111*/;
112 }
113
114 // Token: 0x0600276E RID: 10094 RVA: 0x0018CD50 File Offset: 0x0018AF50
118
119 // Token: 0x0600276F RID: 10095 RVA: 0x000021DB File Offset: 0x000003DB
121 {
122 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
123 }
124
125 // Token: 0x06002770 RID: 10096 RVA: 0x0018CD60 File Offset: 0x0018AF60
127 {
128 if (!true)
129 {
130 }
131 int num;
132 if (num != 0)
133 {
134 if (!true)
135 {
136 }
137 int num2;
138 if (num2 != 0)
139 {
140 }
141 }
142 return true;
143 }
144
145 // Token: 0x06002771 RID: 10097 RVA: 0x0018CD7C File Offset: 0x0018AF7C
147 {
148 if (!true)
149 {
150 }
151 if (!true)
152 {
153 }
154 return true;
155 }
156
157 // Token: 0x06002772 RID: 10098 RVA: 0x0018CD98 File Offset: 0x0018AF98
159 {
160 /*
161An exception occurred when decompiling this method (06002772)
162
163ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::CheckAABBvLineCollision(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Single,System.Single)
164
165 ---> System.Exception: Basic block has to end with unconditional control flow.
166{
167 IL_0003:
168 stloc:float32(var_8_14, call:float32(Vector2::Length, ldloc:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](var_7)))
169 stloc:float32(var_29_43, call:float32(Math::Min, ldloc:float32(var_8_14), ldloc:float32(collisionPoint)))
170 stloc:float32(var_33_54, call:float32(Math::Min, ldloc:float32(var_8_14), ldloc:float32(collisionPoint)))
171}
172
173 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
174 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
175 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
176 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
177 --- End of inner exception stack trace ---
178 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
179 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
180*/;
181 }
182
183 // Token: 0x06002773 RID: 10099 RVA: 0x0018CDFC File Offset: 0x0018AFFC
184 public static bool CanHit(Entity source, Entity target)
185 {
186 float x = source.position.X;
187 float y = source.position.Y;
188 int width = source.width;
189 int height = source.height;
190 if (!true)
191 {
192 }
193 bool flag;
194 return flag;
195 }
196
197 // Token: 0x06002774 RID: 10100 RVA: 0x0018CE34 File Offset: 0x0018B034
198 public static bool CanHit(Entity source, NPCAimedTarget target)
199 {
200 float x = source.position.X;
201 bool active = source.active;
202 if (!true)
203 {
204 }
205 bool flag;
206 return flag;
207 }
208
209 // Token: 0x06002775 RID: 10101 RVA: 0x0018CE58 File Offset: 0x0018B058
210 public static bool CanHit(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2)
211 {
212 if (!true)
213 {
214 }
215 bool flag;
216 return flag;
217 }
218
219 // Token: 0x06002776 RID: 10102 RVA: 0x0018CE70 File Offset: 0x0018B070
220 public static bool CanHit(Point Position1, int Width1, int Height1, Point Position2, int Width2, int Height2)
221 {
222 int num = 1;
223 if (num == 0)
224 {
225 }
226 if (num == 0)
227 {
228 }
229 if (num == 0)
230 {
231 }
232 if (num == 0)
233 {
234 return;
235 }
236 }
237
238 // Token: 0x06002777 RID: 10103 RVA: 0x0018CE90 File Offset: 0x0018B090
240 {
241 int num = 15744;
242 int num2 = 32640;
243 if (num == 0)
244 {
245 }
246 if (num2 == 0)
247 {
248 }
249 if (num == 0)
250 {
251 }
252 if (num2 == 0)
253 {
254 }
255 if (num == 0)
256 {
257 }
258 if (num2 == 0)
259 {
260 }
261 if (num == 0)
262 {
263 }
264 if (num2 == 0)
265 {
266 }
267 Tile tile;
268 bool isLoaded = tile.IsLoaded;
269 Tile tile2;
270 bool isLoaded2 = tile2.IsLoaded;
271 Tile tile3;
272 bool flag = tile3.inActive();
273 Tile tile4;
274 bool flag2 = tile4.active();
275 Tile tile5;
276 ushort type = tile5.type;
277 Tile tile6;
278 ushort type2 = tile6.type;
279 Tile tile7;
280 byte b = tile7.slope();
281 Tile tile8;
282 bool flag3 = tile8.halfBrick();
283 Tile tile9;
284 bool flag4 = tile9.inActive();
285 Tile tile10;
286 bool flag5 = tile10.active();
287 Tile tile11;
288 ushort type3 = tile11.type;
289 Tile tile12;
290 ushort type4 = tile12.type;
291 Tile tile13;
292 byte b2 = tile13.slope();
293 Tile tile14;
294 return tile14.halfBrick();
295 }
296
297 // Token: 0x06002778 RID: 10104 RVA: 0x0018D004 File Offset: 0x0018B204
298 public static bool CanHitLine(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2)
299 {
300 int num = 15744;
301 int num2 = 32640;
302 if (num == 0)
303 {
304 }
305 if (num2 == 0)
306 {
307 }
308 if (num == 0)
309 {
310 }
311 if (num2 == 0)
312 {
313 }
314 if (num == 0)
315 {
316 }
317 if (num2 == 0)
318 {
319 }
320 if (num == 0)
321 {
322 }
323 if (num2 == 0)
324 {
325 }
326 return num2 != 0 && false;
327 }
328
329 // Token: 0x06002779 RID: 10105 RVA: 0x0018D068 File Offset: 0x0018B268
330 public static bool TupleHitLine(int x1, int y1, int x2, int y2, int ignoreX, int ignoreY, List<int> ignoreTargets, [Out] int colX, [Out] int colY)
331 {
332 int num = 1;
333 if (num == 0)
334 {
335 }
336 if (num == 0)
337 {
338 }
339 if (num == 0)
340 {
341 return;
342 }
343 if (num == 0)
344 {
345 }
346 if (y1 == 0 || x2 != 0)
347 {
348 }
349 int num2 = Math.Sign(0);
350 int num3 = Math.Sign(num2);
351 int num4 = 32768;
352 if (num4 == 0 || num4 != 0)
353 {
354 }
355 if (num4 != 0)
356 {
357 }
358 long num5 = 0L;
359 int num6 = 32768;
360 if (num5 == 0L)
361 {
362 return;
363 }
364 if (num6 == 0 || num6 != 0)
365 {
366 }
367 if (num6 != 0)
368 {
369 }
370 if (num6 == 0 || num6 != 0)
371 {
372 return;
373 }
374 }
375
376 // Token: 0x0600277A RID: 10106 RVA: 0x0018D0E8 File Offset: 0x0018B2E8
377 public static void TupleHitLineWall(int x1, int y1, int x2, int y2, [Out] int resX, [Out] int resY)
378 {
379 int num = 1;
380 if (num == 0)
381 {
382 }
383 if (num == 0)
384 {
385 }
386 if (num == 0)
387 {
388 }
389 if (num == 0)
390 {
391 }
392 }
393
394 // Token: 0x0600277B RID: 10107 RVA: 0x0018D18C File Offset: 0x0018B38C
395 public static bool HitWallSubstep(int x, int y)
396 {
397 /*
398An exception occurred when decompiling this method (0600277B)
399
400ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::HitWallSubstep(System.Int32,System.Int32)
401
402 ---> System.Exception: Basic block has to end with unconditional control flow.
403{
404 IL_0056:
405 brtrue(IL_0000, logicnot:bool(ldloc:int32[exp:bool](var_0_01)))
406}
407
408 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
409 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
410 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
411 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
412 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
413 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
414 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
415 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
416 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
417 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
418 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
419 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
420 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
421 --- End of inner exception stack trace ---
422 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
423 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
424*/;
425 }
426
427 // Token: 0x0600277C RID: 10108 RVA: 0x0018D1F4 File Offset: 0x0018B3F4
428 public static bool EmptyTile(int i, int j, bool ignoreTiles = false)
429 {
430 int num = 1;
431 if (num == 0)
432 {
433 }
434 Tile tile;
435 bool flag = tile.active();
436 if (num == 0)
437 {
438 }
439 if (num != 0)
440 {
441 }
442 bool flag2;
443 return flag2;
444 }
445
446 // Token: 0x0600277D RID: 10109 RVA: 0x0018D230 File Offset: 0x0018B430
447 public static bool DrownCollision(Vector2 Position, int Width, int Height, float gravDir = -1f, bool includeSlopes = false)
448 {
449 if (true)
450 {
451 }
452 int num = 1;
453 if (num == 0)
454 {
455 }
456 if (32768 == 0)
457 {
458 }
459 if (num == 0)
460 {
461 }
462 Tile tile;
463 byte liquid = tile.liquid;
464 if (num == 0)
465 {
466 }
467 if (num != 0)
468 {
469 if (num == 0)
470 {
471 }
472 if (num != 0)
473 {
474 }
475 }
476 int num2;
477 while (num2 != 0)
478 {
479 }
480 }
481
482 // Token: 0x0600277E RID: 10110 RVA: 0x0018D274 File Offset: 0x0018B474
483 public static bool IsWorldPointSolid(Vector2 pos, bool treatPlatformsAsNonSolid = false)
484 {
485 if (!true)
486 {
487 }
488 Tile tile;
489 bool isLoaded = tile.IsLoaded;
490 int num;
491 if (num == 0)
492 {
493 return;
494 }
495 }
496
497 // Token: 0x0600277F RID: 10111 RVA: 0x0018D294 File Offset: 0x0018B494
498 public static bool GetWaterLine(Point pt, [Out] float waterLineHeight)
499 {
500 if (!true)
501 {
502 }
503 bool flag;
504 return flag;
505 }
506
507 // Token: 0x06002780 RID: 10112 RVA: 0x0018D2A8 File Offset: 0x0018B4A8
508 public static bool GetWaterLine(int X, int Y, [Out] float waterLineHeight)
509 {
510 /*
511An exception occurred when decompiling this method (06002780)
512
513ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::GetWaterLine(System.Int32,System.Int32,System.Single)
514
515 ---> System.Exception: Basic block has to end with unconditional control flow.
516{
517 IL_0047:
518 stloc:uint8(var_16_4E, callgetter:uint8(Tile::get_liquid, ldloc:Tile[exp:valuetype Terraria.Tile&](var_15)))
519}
520
521 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
522 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
523 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
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 88
525 --- End of inner exception stack trace ---
526 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
527 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
528*/;
529 }
530
531 // Token: 0x06002781 RID: 10113 RVA: 0x0018D304 File Offset: 0x0018B504
532 public static bool GetWaterLineIterate(Point pt, [Out] float waterLineHeight)
533 {
534 if (!true)
535 {
536 }
537 bool flag;
538 return flag;
539 }
540
541 // Token: 0x06002782 RID: 10114 RVA: 0x0018D318 File Offset: 0x0018B518
542 public static bool GetWaterLineIterate(int X, int Y, [Out] float waterLineHeight)
543 {
544 /*
545An exception occurred when decompiling this method (06002782)
546
547ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::GetWaterLineIterate(System.Int32,System.Int32,System.Single)
548
549 ---> System.Exception: Basic block has to end with unconditional control flow.
550{
551 IL_0029:
552 stloc:uint8(var_8_30, callgetter:uint8(Tile::get_liquid, ldloc:Tile[exp:valuetype Terraria.Tile&](var_7)))
553}
554
555 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
556 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
557 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
558 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
559 --- End of inner exception stack trace ---
560 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
561 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
562*/;
563 }
564
565 // Token: 0x06002783 RID: 10115 RVA: 0x0018D35C File Offset: 0x0018B55C
566 public static bool WetCollision(Vector2 Position, int Width, int Height)
567 {
568 if (!true)
569 {
570 }
571 if (true)
572 {
573 }
574 int num = 15744;
575 if (!true)
576 {
577 }
578 if (32768 == 0)
579 {
580 }
581 if (num == 0)
582 {
583 return;
584 }
585 }
586
587 // Token: 0x06002784 RID: 10116 RVA: 0x0018D394 File Offset: 0x0018B594
588 public static bool LavaCollision(Vector2 Position, int Width, int Height)
589 {
590 if (true)
591 {
592 }
593 if (!true)
594 {
595 }
596 int num = 32640;
597 int num2 = 32768;
598 if (num == 0)
599 {
600 }
601 if (num2 == 0)
602 {
603 }
604 if (Width != 0)
605 {
606 return;
607 }
608 }
609
610 // Token: 0x06002785 RID: 10117 RVA: 0x0018D3C0 File Offset: 0x0018B5C0
611 public static Vector4 WalkDownSlope(Vector2 Position, Vector2 Velocity, int Width, int Height, float gravity = 0f)
612 {
613 /*
614An exception occurred when decompiling this method (06002785)
615
616ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector4 Terraria.Collision::WalkDownSlope(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Single)
617
618 ---> System.Exception: Basic block has to end with unconditional control flow.
619{
620 IL_0015:
621 brtrue(IL_0000, logicnot:bool(ldc.i4:bool(0)))
622}
623
624 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
625 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
626 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
627 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
628 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
629 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
630 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
631 --- End of inner exception stack trace ---
632 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
633 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
634*/;
635 }
636
637 // Token: 0x06002786 RID: 10118 RVA: 0x0018D3EC File Offset: 0x0018B5EC
638 public static Vector4 SlopeCollision(Vector2 oldPosition, Vector2 oldVelocity, int Width, int Height, float gravity = 0f, bool fall = false)
639 {
640 /*
641An exception occurred when decompiling this method (06002786)
642
643ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector4 Terraria.Collision::SlopeCollision(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Single,System.Boolean)
644
645 ---> System.Exception: Basic block has to end with unconditional control flow.
646{
647 IL_0066:
648 brtrue(IL_0000, ldloc:int32[exp:bool](var_0_08))
649}
650
651 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
652 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
653 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
654 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
655 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
656 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
657 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
658 --- End of inner exception stack trace ---
659 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
660 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
661*/;
662 }
663
664 // Token: 0x06002787 RID: 10119 RVA: 0x0018D464 File Offset: 0x0018B664
665 public static Vector2 noSlopeCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough = false, bool fall2 = false)
666 {
667 /*
668An exception occurred when decompiling this method (06002787)
669
670ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Collision::noSlopeCollision(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean,System.Boolean)
671
672 ---> System.Exception: Basic block has to end with unconditional control flow.
673{
674 IL_0021:
675 stloc:bool(var_8_28, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_7)))
676 stloc:uint16(var_10_31, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_9)))
677 stloc:bool(var_12_3A, call:bool(Tile::halfBrick, ldloc:Tile[exp:valuetype Terraria.Tile&](var_11)))
678 stloc:uint16(var_14_43, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_13)))
679 stloc:uint16(var_16_4C, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_15)))
680 stloc:uint16(var_18_55, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_17)))
681 stloc:uint16(var_20_5E, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_19)))
682 stloc:int16(var_22_67, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_21)))
683 stloc:uint16(var_25_73, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_24)))
684}
685
686 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
687 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
688 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
689 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
690 --- End of inner exception stack trace ---
691 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
692 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
693*/;
694 }
695
696 // Token: 0x06002788 RID: 10120 RVA: 0x0018D4E8 File Offset: 0x0018B6E8
697 public static Vector2 OldTileCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough = false, bool fall2 = false, int gravDir = 1)
698 {
699 /*
700An exception occurred when decompiling this method (06002788)
701
702ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Collision::OldTileCollision(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32)
703
704 ---> System.Exception: Basic block has to end with unconditional control flow.
705{
706 IL_001A:
707 stloc:bool(var_7_21, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_6)))
708 stloc:bool(var_9_2A, call:bool(Tile::inActive, ldloc:Tile[exp:valuetype Terraria.Tile&](var_8)))
709 stloc:uint16(var_11_33, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_10)))
710 stloc:bool(var_13_3C, call:bool(Tile::halfBrick, ldloc:Tile[exp:valuetype Terraria.Tile&](var_12)))
711 stloc:uint8(var_15_45, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_14)))
712 stloc:uint8(var_17_4E, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_16)))
713 stloc:uint8(var_19_57, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_18)))
714 stloc:uint16(var_21_60, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_20)))
715 stloc:int16(var_23_69, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_22)))
716 stloc:uint8(var_26_75, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_25)))
717 stloc:uint8(var_29_81, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_28)))
718 stloc:uint16(var_31_8A, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_30)))
719 stloc:uint16(var_33_93, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_32)))
720 stloc:uint16(var_35_9C, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_34)))
721 stloc:uint16(var_38_A8, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_37)))
722 stloc:uint8(var_40_B1, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_39)))
723 stloc:uint8(var_42_BA, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_41)))
724 stloc:uint8(var_44_C3, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_43)))
725 stloc:uint8(var_46_CC, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_45)))
726}
727
728 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
729 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
730 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
731 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
732 --- End of inner exception stack trace ---
733 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
734 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
735*/;
736 }
737
738 // Token: 0x06002789 RID: 10121 RVA: 0x0018D5C4 File Offset: 0x0018B7C4
739 public static Vector2 TileCollision(Vector2 oldPosition, Vector2 oldVelocity, int Width, int Height, bool fallThrough = false, bool fall2 = false, int gravDir = 1)
740 {
741 int num = 1;
742 if (num == 0)
743 {
744 }
745 if (num == 0)
746 {
747 }
748 int num2 = 32640;
749 if (32768 == 0)
750 {
751 }
752 if (num2 == 0)
753 {
754 }
755 if (num2 == 0)
756 {
757 }
758 if (num2 == 0)
759 {
760 }
761 if (num2 == 0)
762 {
763 }
764 if (num2 == 0)
765 {
766 }
767 return oldPosition;
768 }
769
770 // Token: 0x0600278A RID: 10122 RVA: 0x0018D614 File Offset: 0x0018B814
771 public static bool IsClearSpotTest(Vector2 position, float testMagnitude, int Width, int Height, bool fallThrough = false, bool fall2 = false, int gravDir = 1, bool checkCardinals = true, bool checkSlopes = false)
772 {
773 if (!true)
774 {
775 }
776 if (!true)
777 {
778 }
779 if (!true)
780 {
781 }
782 if (!true)
783 {
784 }
785 if (!true)
786 {
787 }
788 if (!true)
789 {
790 }
791 if (!true)
792 {
793 }
794 if (!true)
795 {
796 }
797 if (!true)
798 {
799 }
800 if (!true)
801 {
802 }
803 if (!true)
804 {
805 }
806 if (!true)
807 {
808 }
809 if (!true)
810 {
811 }
812 if (!true)
813 {
814 }
815 if (!true)
816 {
817 }
819 Vector4 vector = Collision.SlopeCollision(vector2, position, Width, Height, testMagnitude, fallThrough);
820 if (!true)
821 {
822 }
823 if (!true)
824 {
825 }
826 if (!true)
827 {
828 }
829 if (!true)
830 {
831 }
832 if (!true)
833 {
834 }
835 if (!true)
836 {
837 }
838 if (!true)
839 {
840 }
841 if (!true)
842 {
843 }
844 if (!true)
845 {
846 }
847 if (!true)
848 {
849 }
850 if (!true)
851 {
852 }
853 if (!true)
854 {
855 }
856 if (!true)
857 {
858 }
859 return true;
860 }
861
862 // Token: 0x0600278B RID: 10123 RVA: 0x0018D6D0 File Offset: 0x0018B8D0
863 public static List<Point> FindCollisionTile(int Direction, Vector2 position, float testMagnitude, int Width, int Height, bool fallThrough = false, bool fall2 = false, int gravDir = 1, bool checkCardinals = true, bool checkSlopes = false)
864 {
865 if (!true)
866 {
867 }
868 if (!true)
869 {
870 }
871 if (32640 == 0)
872 {
873 }
874 int num = 63488;
875 if (!true)
876 {
877 }
878 int num2 = 32640;
879 if (num == 0)
880 {
881 }
883 if (num2 == 0)
884 {
885 }
886 if (!true)
887 {
888 }
889 if (32768 == 0)
890 {
891 }
892 if (!true)
893 {
894 }
895 if (!true)
896 {
897 }
898 if (32640 == 0)
899 {
900 }
901 if (!true)
902 {
903 }
904 if (32768 == 0)
905 {
906 }
907 if (!true)
908 {
909 }
910 if (!true)
911 {
912 return;
913 }
914 }
915
916 // Token: 0x0600278C RID: 10124 RVA: 0x0018D7F8 File Offset: 0x0018B9F8
917 public static bool FindCollisionDirection([Out] int Direction, Vector2 position, int Width, int Height, bool fallThrough = false, bool fall2 = false, int gravDir = 1)
918 {
919 if (!true)
920 {
921 }
922 if (!true)
923 {
924 }
925 if (!true)
926 {
927 }
928 bool flag;
929 return flag;
930 }
931
932 // Token: 0x0600278D RID: 10125 RVA: 0x0018D860 File Offset: 0x0018BA60
933 public static bool SolidCollision(Vector2 Position, int Width, int Height)
934 {
935 if (true)
936 {
937 }
938 if (!true)
939 {
940 }
941 if (32640 == 0)
942 {
943 return;
944 }
945 }
946
947 // Token: 0x0600278E RID: 10126 RVA: 0x0018D888 File Offset: 0x0018BA88
948 public static bool SolidCollision(Vector2 Position, int Width, int Height, bool acceptTopSurfaces)
949 {
950 /*
951An exception occurred when decompiling this method (0600278E)
952
953ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::SolidCollision(Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean)
954
955 ---> System.Exception: Basic block has to end with unconditional control flow.
956{
957 IL_000E:
958 stloc:bool(var_3_14, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_2)))
959}
960
961 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
962 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
963 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
964 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
965 --- End of inner exception stack trace ---
966 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
967 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
968*/;
969 }
970
971 // Token: 0x0600278F RID: 10127 RVA: 0x0018D8B0 File Offset: 0x0018BAB0
972 public static Vector2 WaterCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough = false, bool fall2 = false, bool lavaWalk = true)
973 {
974 /*
975An exception occurred when decompiling this method (0600278F)
976
977ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Collision::WaterCollision(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Boolean)
978
979 ---> System.Exception: Basic block has to end with unconditional control flow.
980{
981 IL_001B:
982 stloc:uint8(var_7_22, callgetter:uint8(Tile::get_liquid, ldloc:Tile[exp:valuetype Terraria.Tile&](var_6)))
983 stloc:uint8(var_9_2B, callgetter:uint8(Tile::get_liquid, ldloc:Tile[exp:valuetype Terraria.Tile&](var_8)))
984 stloc:bool(var_11_34, call:bool(Tile::lava, ldloc:Tile[exp:valuetype Terraria.Tile&](var_10)))
985 stloc:uint8(var_13_3D, callgetter:uint8(Tile::get_liquid, ldloc:Tile[exp:valuetype Terraria.Tile&](var_12)))
986}
987
988 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
989 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
990 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
991 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
992 --- End of inner exception stack trace ---
993 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
994 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
995*/;
996 }
997
998 // Token: 0x06002790 RID: 10128 RVA: 0x0018D8FC File Offset: 0x0018BAFC
999 public static Vector2 AnyCollisionWithSpecificTiles(Vector2 Position, Vector2 Velocity, int Width, int Height, bool[] tilesWeCanCollideWithByType, bool evenActuated = false)
1000 {
1001 /*
1002An exception occurred when decompiling this method (06002790)
1003
1004ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Collision::AnyCollisionWithSpecificTiles(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean[],System.Boolean)
1005
1006 ---> System.Exception: Basic block has to end with unconditional control flow.
1007{
1008 IL_001D:
1009 stloc:bool(var_5_24, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_4)))
1010}
1011
1012 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
1013 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
1014 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
1015 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
1016 --- End of inner exception stack trace ---
1017 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
1018 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
1019*/;
1020 }
1021
1022 // Token: 0x06002791 RID: 10129 RVA: 0x0018D930 File Offset: 0x0018BB30
1023 public static Vector2 AnyCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool evenActuated = false)
1024 {
1025 /*
1026An exception occurred when decompiling this method (06002791)
1027
1028ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Collision::AnyCollision(Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean)
1029
1030 ---> System.Exception: Basic block has to end with unconditional control flow.
1031{
1032 IL_001D:
1033 stloc:bool(var_6_24, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_5)))
1034 stloc:bool(var_8_2D, call:bool(Tile::inActive, ldloc:Tile[exp:valuetype Terraria.Tile&](var_7)))
1035 stloc:bool(var_10_36, call:bool(Tile::halfBrick, ldloc:Tile[exp:valuetype Terraria.Tile&](var_9)))
1036 stloc:uint16(var_12_3F, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_11)))
1037 stloc:uint16(var_14_48, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_13)))
1038 stloc:uint16(var_16_51, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_15)))
1039}
1040
1041 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
1042 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
1043 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
1044 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
1045 --- End of inner exception stack trace ---
1046 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
1047 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
1048*/;
1049 }
1050
1051 // Token: 0x06002792 RID: 10130 RVA: 0x0018D990 File Offset: 0x0018BB90
1052 public static void HitTiles(Vector2 Position, Vector2 Velocity, int Width, int Height)
1053 {
1054 if (!true)
1055 {
1056 }
1057 int num = 32640;
1058 int num2 = 2;
1059 if (num != 0)
1060 {
1061 return;
1062 }
1063 if (num2 == 0)
1064 {
1065 }
1066 if (num == 0)
1067 {
1068 }
1069 Tile tile;
1070 bool flag = tile.inActive();
1071 Tile tile2;
1072 bool flag2 = tile2.active();
1073 Tile tile3;
1074 ushort type = tile3.type;
1075 Tile tile4;
1076 bool flag3 = tile4.halfBrick();
1077 }
1078
1079 // Token: 0x06002793 RID: 10131 RVA: 0x0018D9EC File Offset: 0x0018BBEC
1080 public static bool AnyHurtingTiles(Vector2 Position, int Width, int Height)
1081 {
1082 /*
1083An exception occurred when decompiling this method (06002793)
1084
1085ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::AnyHurtingTiles(Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32)
1086
1087 ---> System.Exception: Basic block has to end with unconditional control flow.
1088{
1089 IL_0000:
1090 brtrue(IL_0000, ldc.i4:bool(1))
1091}
1092
1093 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
1094 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
1095 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
1096 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
1097 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
1098 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
1099 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
1100 --- End of inner exception stack trace ---
1101 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
1102 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
1103*/;
1104 }
1105
1106 // Token: 0x06002794 RID: 10132 RVA: 0x0018D9FC File Offset: 0x0018BBFC
1107 public static Collision.HurtTile HurtTiles(Vector2 Position, int Width, int Height, Player player)
1108 {
1109 int num = 15744;
1110 int num2 = 32640;
1111 if (num2 == 0)
1112 {
1113 }
1114 if (num2 != 0)
1115 {
1116 }
1117 if (num == 0)
1118 {
1119 }
1120 if (num2 == 0)
1121 {
1122 }
1123 Tile tile;
1124 bool flag = tile.inActive();
1125 if (num2 == 0)
1126 {
1127 return;
1128 }
1129 }
1130
1131 // Token: 0x06002795 RID: 10133 RVA: 0x0018DA30 File Offset: 0x0018BC30
1132 public static bool CanTileHurt(ushort type, int i, int j, Player player)
1133 {
1134 int num = 1;
1135 if (num == 0)
1136 {
1137 }
1138 if (num == 0)
1139 {
1140 if (num == 0)
1141 {
1142 }
1143 if (num == 0)
1144 {
1145 return;
1146 }
1147 }
1148 if (num == 0)
1149 {
1150 }
1151 while (j == 0)
1152 {
1153 }
1154 }
1155
1156 // Token: 0x06002796 RID: 10134 RVA: 0x0018DA54 File Offset: 0x0018BC54
1157 public static bool SwitchTiles(Vector2 Position, int Width, int Height, Vector2 oldPosition, int objType)
1158 {
1159 /*
1160An exception occurred when decompiling this method (06002796)
1161
1162ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::SwitchTiles(Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,Microsoft.Xna.Framework.Vector2,System.Int32)
1163
1164 ---> System.Exception: Basic block has to end with unconditional control flow.
1165{
1166 IL_0047:
1167 stloc:bool(var_17_57, callgetter:bool(Main::get_NetClient))
1168}
1169
1170 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
1171 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
1172 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
1173 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
1174 --- End of inner exception stack trace ---
1175 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
1176 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
1177*/;
1178 }
1179
1180 // Token: 0x06002797 RID: 10135 RVA: 0x0018DAC0 File Offset: 0x0018BCC0
1181 public bool SwitchTilesNew(Vector2 Position, int Width, int Height, Vector2 oldPosition, int objType)
1182 {
1183 /*
1184An exception occurred when decompiling this method (06002797)
1185
1186ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::SwitchTilesNew(Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,Microsoft.Xna.Framework.Vector2,System.Int32)
1187
1188 ---> System.Exception: Basic block has to end with unconditional control flow.
1189{
1190 IL_000A:
1191 stloc:uint16(var_9_16, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_8)))
1192}
1193
1194 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
1195 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
1196 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
1197 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
1198 --- End of inner exception stack trace ---
1199 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
1200 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
1201*/;
1202 }
1203
1204 // Token: 0x06002798 RID: 10136 RVA: 0x0018DAE8 File Offset: 0x0018BCE8
1205 public static Vector2 StickyTiles(Vector2 Position, Vector2 Velocity, int Width, int Height)
1206 {
1207 for (;;)
1208 {
1209 int num = 15744;
1210 int num2 = 32640;
1211 if (num2 == 0)
1212 {
1213 }
1214 if (num2 != 0)
1215 {
1216 }
1217 if (num == 0)
1218 {
1219 }
1220 if (num2 == 0)
1221 {
1222 }
1223 Tile tile;
1224 bool flag = tile.active();
1225 Tile tile2;
1226 bool flag2 = tile2.inActive();
1227 Tile tile3;
1228 ushort type = tile3.type;
1229 Tile tile4;
1230 ushort type2 = tile4.type;
1231 Tile tile5;
1232 byte b = tile5.slope();
1233 Tile tile6;
1234 bool flag3 = tile6.halfBrick();
1235 Tile tile7;
1236 ushort type3 = tile7.type;
1237 int num3;
1238 if (num3 == 0)
1239 {
1240 return;
1241 }
1242 }
1243 }
1244
1245 // Token: 0x06002799 RID: 10137 RVA: 0x0018DB58 File Offset: 0x0018BD58
1246 public static bool SolidTilesVersatile(int startX, int endX, int startY, int endY)
1247 {
1248 if (!true)
1249 {
1250 }
1251 if (!true)
1252 {
1253 }
1254 if (!true)
1255 {
1256 }
1257 bool flag;
1258 return flag;
1259 }
1260
1261 // Token: 0x0600279A RID: 10138 RVA: 0x0018DB70 File Offset: 0x0018BD70
1262 public static bool SolidTiles(Vector2 position, int width, int height)
1263 {
1264 if (!true)
1265 {
1266 }
1267 bool flag;
1268 return flag;
1269 }
1270
1271 // Token: 0x0600279B RID: 10139 RVA: 0x0018DB84 File Offset: 0x0018BD84
1272 public static bool SolidTiles(int startX, int endX, int startY, int endY)
1273 {
1274 /*
1275An exception occurred when decompiling this method (0600279B)
1276
1277ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Collision::SolidTiles(System.Int32,System.Int32,System.Int32,System.Int32)
1278
1279 ---> System.Exception: Basic block has to end with unconditional control flow.
1280{
1281 Block_0:
1282 stloc:bool(var_2_08, callgetter:bool(Tile::get_IsLoaded, ldloc:Tile[exp:valuetype Terraria.Tile&](var_0)))
1283 stloc:bool(var_5_12, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_3)))
1284 stloc:bool(var_8_1E, call:bool(Tile::inActive, ldloc:Tile[exp:valuetype Terraria.Tile&](var_6)))
1285 stloc:uint16(var_11_2A, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_9)))
1286 stloc:uint16(var_13_33, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_12)))
1287}
1288
1289 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
1290 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
1291 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
1292 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
1293 --- End of inner exception stack trace ---
1294 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
1295 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
1296*/;
1297 }
1298
1299 // Token: 0x0600279C RID: 10140 RVA: 0x0018DBD0 File Offset: 0x0018BDD0
1300 public static bool SolidTiles(Vector2 position, int width, int height, bool allowTopSurfaces)
1301 {
1302 if (!true)
1303 {
1304 }
1305 bool flag;
1306 return flag;
1307 }
1308
1309 // Token: 0x0600279D RID: 10141 RVA: 0x0018DBE4 File Offset: 0x0018BDE4
1310 public static bool SolidTiles(int startX, int endX, int startY, int endY, bool allowTopSurfaces)
1311 {
1312 Tile tile;
1313 bool flag = tile.active();
1314 Tile tile2;
1315 bool flag2 = tile2.inActive();
1316 if (!false)
1317 {
1318 return;
1319 }
1320 }
1321
1322 // Token: 0x0600279E RID: 10142 RVA: 0x0018DC10 File Offset: 0x0018BE10
1323 public static void StepDown(Vector2 position, Vector2 velocity, int width, int height, float stepSpeed, float gfxOffY, int gravDir = 1, bool waterWalk = false)
1324 {
1325 int num = 1;
1326 float x = position.X;
1327 float y = position.Y;
1328 if (num == 0)
1329 {
1330 }
1331 int num2 = 32640;
1332 if (32768 == 0)
1333 {
1334 }
1335 if (num2 == 0)
1336 {
1337 }
1338 int num3 = 1;
1339 bool flag = WorldGen.InWorld(width, height, num3);
1340 float x2 = position.X;
1341 float y2 = position.Y;
1342 }
1343
1344 // Token: 0x0600279F RID: 10143 RVA: 0x0018DC88 File Offset: 0x0018BE88
1345 public static void StepUp(Vector2 position, Vector2 velocity, int width, int height, float stepSpeed, float gfxOffY, int gravDir = 1, bool holdsMatching = false, int specialChecksMode = 0)
1346 {
1347 float x = position.X;
1348 float y = position.Y;
1349 int num = 32768;
1350 if (15744 == 0)
1351 {
1352 }
1353 if (num == 0)
1354 {
1355 }
1356 }
1357
1358 // Token: 0x060027A0 RID: 10144 RVA: 0x0018DD4C File Offset: 0x0018BF4C
1359 public static bool InTileBounds(int x, int y, int lx, int ly, int hx, int hy)
1360 {
1361 }
1362
1363 // Token: 0x060027A1 RID: 10145 RVA: 0x0018DD5C File Offset: 0x0018BF5C
1364 public static float GetTileRotation(Vector2 position)
1365 {
1366 /*
1367An exception occurred when decompiling this method (060027A1)
1368
1369ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Collision::GetTileRotation(Microsoft.Xna.Framework.Vector2)
1370
1371 ---> System.Exception: Basic block has to end with unconditional control flow.
1372{
1373 IL_000F:
1374 stloc:bool(var_4_17, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_2)))
1375}
1376
1377 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
1378 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
1379 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
1380 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
1381 --- End of inner exception stack trace ---
1382 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
1383 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
1384*/;
1385 }
1386
1387 // Token: 0x060027A2 RID: 10146 RVA: 0x0018DD84 File Offset: 0x0018BF84
1388 public static void GetEntityEdgeTopBottom(Entity entity, [Out] int sx, [Out] int ex, [Out] int sy, [Out] int ey)
1389 {
1390 float x = entity.position.X;
1391 int num = 32640;
1392 sx.m_value = num;
1393 float y = entity.position.Y;
1394 sy.m_value = num;
1395 int width = entity.width;
1396 int height = entity.height;
1397 }
1398
1399 // Token: 0x060027A3 RID: 10147 RVA: 0x0018DDCC File Offset: 0x0018BFCC
1400 public static void GetEntityEdgeTilesExtents(Entity entity, [Out] int minX, [Out] int minY, [Out] int maxX, [Out] int maxY)
1401 {
1402 float x = entity.position.X;
1403 float y = entity.position.Y;
1404 int num = 32640;
1405 Vector2 right = entity.Right;
1406 Vector2 bottom = entity.Bottom;
1407 maxY.m_value = num;
1408 }
1409
1410 // Token: 0x060027A4 RID: 10148 RVA: 0x000021DB File Offset: 0x000003DB
1411 public static void GetEntityEdgeTiles(List<Point> p, Entity entity, bool left = true, bool right = true, bool up = true, bool down = true)
1412 {
1413 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1414 }
1415
1416 // Token: 0x060027A5 RID: 10149 RVA: 0x0018DE10 File Offset: 0x0018C010
1417 [Il2CppSetOption(Option.NullChecks, false)]
1418 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
1419 public static void StepConveyorBelt(Entity entity, float gravDir)
1420 {
1421 if (entity != null)
1422 {
1423 }
1424 float y = entity.position.Y;
1425 int height = entity.height;
1426 }
1427
1428 // Token: 0x060027A6 RID: 10150 RVA: 0x0018DECC File Offset: 0x0018C0CC
1429 public static void GetTilesIn(Vector2 TopLeft, Vector2 BottomRight, List<Point> p)
1430 {
1431 if (!true)
1432 {
1433 }
1434 }
1435
1436 // Token: 0x060027A7 RID: 10151 RVA: 0x0018DEE4 File Offset: 0x0018C0E4
1437 public static void ExpandVertically(int startX, int startY, [Out] int topY, [Out] int bottomY, int maxExpandUp = 100, int maxExpandDown = 100)
1438 {
1439 int num = 1;
1442 if (num == 0)
1443 {
1444 }
1445 int num2 = 10;
1446 bool flag = WorldGen.InWorld(startX, startY, num2);
1447 if (num == 0)
1448 {
1449 }
1450 Tile tile;
1451 bool isLoaded = tile.IsLoaded;
1452 if (num == 0)
1453 {
1454 }
1455 long num3 = 0L;
1456 topY.m_value = (int)num3;
1457 Tile tile2;
1458 bool isLoaded2 = tile2.IsLoaded;
1459 }
1460
1461 // Token: 0x060027A8 RID: 10152 RVA: 0x0018DF34 File Offset: 0x0018C134
1462 public static Vector2 AdvancedTileCollision(bool[] forcedIgnoredTiles, Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough = false, bool fall2 = false, int gravDir = 1)
1463 {
1464 /*
1465An exception occurred when decompiling this method (060027A8)
1466
1467ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Collision::AdvancedTileCollision(System.Boolean[],Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32)
1468
1469 ---> System.Exception: Basic block has to end with unconditional control flow.
1470{
1471 IL_001A:
1472 stloc:bool(var_6_21, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_5)))
1473 stloc:uint8(var_27_36, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_26)))
1474 stloc:uint8(var_29_3F, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_28)))
1475 stloc:uint8(var_31_48, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_30)))
1476 stloc:uint8(var_33_51, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_32)))
1477}
1478
1479 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
1480 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
1481 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
1482 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
1483 --- End of inner exception stack trace ---
1484 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
1485 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
1486*/;
1487 }
1488
1489 // Token: 0x060027A9 RID: 10153 RVA: 0x0018DF94 File Offset: 0x0018C194
1491 {
1492 }
1493
1494 // Token: 0x060027AA RID: 10154 RVA: 0x0018DFC0 File Offset: 0x0018C1C0
1495 public static void AimingLaserScan(Vector2 startPoint, Vector2 endPoint, float samplingWidth, int samplesToTake, [Out] Vector2 vectorTowardsTarget, [Out] float[] samples)
1496 {
1497 if (!true)
1498 {
1499 }
1500 if (!true)
1501 {
1502 }
1503 float num = endPoint.Length();
1504 }
1505
1506 // Token: 0x060027AB RID: 10155 RVA: 0x0018DFE0 File Offset: 0x0018C1E0
1507 public Collision()
1508 {
1509 }
1510
1511 // Token: 0x060027AC RID: 10156 RVA: 0x0018DFF4 File Offset: 0x0018C1F4
1512 // Note: this type is marked as 'beforefieldinit'.
1513 static Collision()
1514 {
1515 }
1516
1517 // Token: 0x040033A8 RID: 13224
1518 public static bool stair;
1519
1520 // Token: 0x040033A9 RID: 13225
1521 public static bool stairFall;
1522
1523 // Token: 0x040033AA RID: 13226
1524 public static bool honey;
1525
1526 // Token: 0x040033AB RID: 13227
1527 public static bool shimmer;
1528
1529 // Token: 0x040033AC RID: 13228
1530 public static bool sloping;
1531
1532 // Token: 0x040033AD RID: 13229
1533 public static bool landMine;
1534
1535 // Token: 0x040033AE RID: 13230
1536 public static bool up;
1537
1538 // Token: 0x040033AF RID: 13231
1539 public static bool down;
1540
1541 // Token: 0x040033B0 RID: 13232
1542 public unsafe static uint* tileLookup;
1543
1544 // Token: 0x040033B1 RID: 13233
1545 public unsafe static ushort* tileTypeData;
1546
1547 // Token: 0x040033B2 RID: 13234
1548 public unsafe static ushort* tileTypeWall;
1549
1550 // Token: 0x040033B3 RID: 13235
1551 public unsafe static short* tileTypeSHeader;
1552
1553 // Token: 0x040033B4 RID: 13236
1554 public unsafe static byte* tileTypeLiquid;
1555
1556 // Token: 0x040033B5 RID: 13237
1557 public static float Epsilon;
1558
1559 // Token: 0x040033B6 RID: 13238
1560 private static bool[] cSlopes;
1561
1562 // Token: 0x040033B7 RID: 13239
1563 private static bool retesting;
1564
1565 // Token: 0x040033B8 RID: 13240
1567
1568 // Token: 0x040033B9 RID: 13241
1570
1571 // Token: 0x040033BA RID: 13242
1573
1574 // Token: 0x02000426 RID: 1062
1575 public struct HurtTile
1576 {
1577 // Token: 0x040033BB RID: 13243
1578 public int type;
1579
1580 // Token: 0x040033BC RID: 13244
1581 public int x;
1582
1583 // Token: 0x040033BD RID: 13245
1584 public int y;
1585 }
1586 }
1587}
class f__AnonymousType0<< Count > j__TPar
static byte Min(byte val1, byte val2)
Definition Math.cs:152
static int Sign(double value)
Definition Math.cs:252
static bool CanHit(Entity source, Entity target)
Definition Collision.cs:184
static bool GetWaterLineIterate(Point pt, [Out] float waterLineHeight)
Definition Collision.cs:532
static bool InTileBounds(int x, int y, int lx, int ly, int hx, int hy)
static bool SolidTiles(int startX, int endX, int startY, int endY, bool allowTopSurfaces)
static void AimingLaserScan(Vector2 startPoint, Vector2 endPoint, float samplingWidth, int samplesToTake, [Out] Vector2 vectorTowardsTarget, [Out] float[] samples)
static bool CanHitWithCheck(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2, Utils.TileActionAttempt check)
Definition Collision.cs:239
static List< int > dummyLaserScanList
static bool down
static float[] FindOverlapPoints(float relativePoint1, float relativePoint2)
Definition Collision.cs:88
static bool SolidTiles(int startX, int endX, int startY, int endY)
static Vector2[] OneDimensionalIntersection(Vector2 a1, Vector2 a2, Vector2 b1, Vector2 b2)
Definition Collision.cs:79
static bool WetCollision(Vector2 Position, int Width, int Height)
Definition Collision.cs:566
static bool stair
static Vector2 WaterCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, bool lavaWalk=true)
Definition Collision.cs:972
static void TupleHitLineWall(int x1, int y1, int x2, int y2, [Out] int resX, [Out] int resY)
Definition Collision.cs:377
static bool GetWaterLine(Point pt, [Out] float waterLineHeight)
Definition Collision.cs:498
static Vector2[] CheckLinevLine(Vector2 a1, Vector2 a2, Vector2 b1, Vector2 b2)
Definition Collision.cs:15
static bool DrownCollision(Vector2 Position, int Width, int Height, float gravDir=-1f, bool includeSlopes=false)
Definition Collision.cs:447
static bool CanTileHurt(ushort type, int i, int j, Player player)
static int collisionOutcode(Vector2 aabbPosition, Vector2 aabbDimensions, Vector2 point)
Definition Collision.cs:120
static unsafe ushort * tileTypeWall
static float GetTileRotation(Vector2 position)
static List< Point > FindCollisionTile(int Direction, Vector2 position, float testMagnitude, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1, bool checkCardinals=true, bool checkSlopes=false)
Definition Collision.cs:863
static void HitTiles(Vector2 Position, Vector2 Velocity, int Width, int Height)
static unsafe byte * tileTypeLiquid
static bool SolidTiles(Vector2 position, int width, int height, bool allowTopSurfaces)
static bool honey
static bool stairFall
static bool CheckAABBvLineCollision(Vector2 aabbPosition, Vector2 aabbDimensions, Vector2 lineStart, Vector2 lineEnd)
Definition Collision.cs:126
static bool CanHitLine(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2)
Definition Collision.cs:298
static bool AnyHurtingTiles(Vector2 Position, int Width, int Height)
static bool FindCollisionDirection([Out] int Direction, Vector2 position, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
Definition Collision.cs:917
static Vector4 WalkDownSlope(Vector2 Position, Vector2 Velocity, int Width, int Height, float gravity=0f)
Definition Collision.cs:611
static void StepDown(Vector2 position, Vector2 velocity, int width, int height, float stepSpeed, float gfxOffY, int gravDir=1, bool waterWalk=false)
static bool IsWorldPointSolid(Vector2 pos, bool treatPlatformsAsNonSolid=false)
Definition Collision.cs:483
static bool sloping
static bool CheckAABBvLineCollision2(Vector2 aabbPosition, Vector2 aabbDimensions, Vector2 lineStart, Vector2 lineEnd)
Definition Collision.cs:146
static unsafe ushort * tileTypeData
static bool EmptyTile(int i, int j, bool ignoreTiles=false)
Definition Collision.cs:428
static List< Point > _cacheForConveyorBelts
static bool[] cSlopes
static bool CanHit(Entity source, NPCAimedTarget target)
Definition Collision.cs:198
static bool SolidCollision(Vector2 Position, int Width, int Height, bool acceptTopSurfaces)
Definition Collision.cs:948
static bool retesting
static unsafe uint * tileLookup
static void ExpandVertically(int startX, int startY, [Out] int topY, [Out] int bottomY, int maxExpandUp=100, int maxExpandDown=100)
static Vector2 OldTileCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
Definition Collision.cs:697
static Vector2 StickyTiles(Vector2 Position, Vector2 Velocity, int Width, int Height)
static Vector2 AdvancedTileCollision(bool[] forcedIgnoredTiles, Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
static double DistFromSeg(Vector2 p, Vector2 q0, Vector2 q1, double radius, float u)
Definition Collision.cs:25
static Vector2 noSlopeCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool fallThrough=false, bool fall2=false)
Definition Collision.cs:665
static Collision.HurtTile HurtTiles(Vector2 Position, int Width, int Height, Player player)
static void GetEntityEdgeTopBottom(Entity entity, [Out] int sx, [Out] int ex, [Out] int sy, [Out] int ey)
static bool shimmer
static List< Point > EntityEdgeTiles
static void StepUp(Vector2 position, Vector2 velocity, int width, int height, float stepSpeed, float gfxOffY, int gravDir=1, bool holdsMatching=false, int specialChecksMode=0)
static bool GetWaterLine(int X, int Y, [Out] float waterLineHeight)
Definition Collision.cs:508
static void LaserScan(Vector2 samplingPoint, Vector2 directionUnit, float samplingWidth, float maxDistance, float[] samples)
static void GetTilesIn(Vector2 TopLeft, Vector2 BottomRight, List< Point > p)
static bool LavaCollision(Vector2 Position, int Width, int Height)
Definition Collision.cs:588
static Vector2 TileCollision(Vector2 oldPosition, Vector2 oldVelocity, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1)
Definition Collision.cs:739
static bool SolidTilesVersatile(int startX, int endX, int startY, int endY)
static bool SolidCollision(Vector2 Position, int Width, int Height)
Definition Collision.cs:933
static bool landMine
static bool SwitchTiles(Vector2 Position, int Width, int Height, Vector2 oldPosition, int objType)
static Vector2 AnyCollision(Vector2 Position, Vector2 Velocity, int Width, int Height, bool evenActuated=false)
static bool PointOnLine(Vector2 p, Vector2 a1, Vector2 a2)
Definition Collision.cs:52
static bool CanHit(Vector2 Position1, int Width1, int Height1, Vector2 Position2, int Width2, int Height2)
Definition Collision.cs:210
static Vector2 AnyCollisionWithSpecificTiles(Vector2 Position, Vector2 Velocity, int Width, int Height, bool[] tilesWeCanCollideWithByType, bool evenActuated=false)
Definition Collision.cs:999
bool SwitchTilesNew(Vector2 Position, int Width, int Height, Vector2 oldPosition, int objType)
static bool CheckAABBvLineCollision(Vector2 objectPosition, Vector2 objectDimensions, Vector2 lineStart, Vector2 lineEnd, float lineWidth, float collisionPoint)
Definition Collision.cs:158
static bool GetWaterLineIterate(int X, int Y, [Out] float waterLineHeight)
Definition Collision.cs:542
static void StepConveyorBelt(Entity entity, float gravDir)
static bool IsClearSpotTest(Vector2 position, float testMagnitude, int Width, int Height, bool fallThrough=false, bool fall2=false, int gravDir=1, bool checkCardinals=true, bool checkSlopes=false)
Definition Collision.cs:771
static Vector4 SlopeCollision(Vector2 oldPosition, Vector2 oldVelocity, int Width, int Height, float gravity=0f, bool fall=false)
Definition Collision.cs:638
static bool SolidTiles(Vector2 position, int width, int height)
static bool TupleHitLine(int x1, int y1, int x2, int y2, int ignoreX, int ignoreY, List< int > ignoreTargets, [Out] int colX, [Out] int colY)
Definition Collision.cs:330
static float Epsilon
static bool HitWallSubstep(int x, int y)
Definition Collision.cs:395
static void GetEntityEdgeTilesExtents(Entity entity, [Out] int minX, [Out] int minY, [Out] int maxX, [Out] int maxY)
static bool CheckAABBvAABBCollision(Vector2 position1, Vector2 dimensions1, Vector2 position2, Vector2 dimensions2)
Definition Collision.cs:115
static void GetEntityEdgeTiles(List< Point > p, Entity entity, bool left=true, bool right=true, bool up=true, bool down=true)
static unsafe short * tileTypeSHeader
static bool CanHit(Point Position1, int Width1, int Height1, Point Position2, int Width2, int Height2)
Definition Collision.cs:220
Vector2 Bottom
Definition Entity.cs:318
Vector2 position
Definition Entity.cs:460
Vector2 Right
Definition Entity.cs:208
static bool InWorld(int x, int y, int fluff=0)
Definition WorldGen.cs:1952
byte liquid
Definition Tile.cs:110
bool IsLoaded
Definition Tile.cs:34
bool inActive()
Definition Tile.cs:1211
ushort type
Definition Tile.cs:58
bool active()
Definition Tile.cs:1241
byte slope()
Definition Tile.cs:740
bool halfBrick()
Definition Tile.cs:1127