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
Liquid.cs
Go to the documentation of this file.
1using System;
6
7namespace Terraria
8{
9 // Token: 0x020003F0 RID: 1008
10 public class Liquid
11 {
12 // Token: 0x06001BA1 RID: 7073 RVA: 0x000A91DC File Offset: 0x000A73DC
13 public static void NetSendLiquid(int x, int y)
14 {
15 if (!true)
16 {
17 }
18 if (!true)
19 {
20 }
21 if (!true)
22 {
23 }
24 long num = 0L;
25 if (true)
26 {
27 }
28 if (num == 0L)
29 {
30 return;
31 }
32 throw new OutOfMemoryException();
33 }
34
35 // Token: 0x06001BA2 RID: 7074 RVA: 0x000A9218 File Offset: 0x000A7418
36 public static void tilesIgnoreWater(bool ignoreSolids)
37 {
38 if (!true)
39 {
40 }
41 }
42
43 // Token: 0x06001BA3 RID: 7075 RVA: 0x000A9228 File Offset: 0x000A7428
44 public static void worldGenTilesIgnoreWater(bool ignoreSolids)
45 {
46 if (!true)
47 {
48 }
49 }
50
51 // Token: 0x06001BA4 RID: 7076 RVA: 0x000A9238 File Offset: 0x000A7438
52 public static void ReInit()
53 {
54 if (!true)
55 {
56 }
57 if (!true)
58 {
59 }
60 if (!true || !true)
61 {
62 }
63 }
64
65 // Token: 0x06001BA5 RID: 7077 RVA: 0x000A9254 File Offset: 0x000A7454
66 public static void QuickWater(int verbose = 0, int minY = -1, int maxY = -1)
67 {
68 int num = 1;
69 if (num == 0)
70 {
71 }
72 if (num == 0)
73 {
74 }
77 int num2 = 3;
78 if (num2 == 0)
79 {
80 }
81 if (num2 == 0)
82 {
83 }
84 if (num2 == 0)
85 {
86 }
87 int num3 = 4;
88 if (42179336 == 0)
89 {
90 }
91 if (42179336 != 0)
92 {
93 if (42179336 == 0)
94 {
95 }
96 if (42179336 == 0)
97 {
98 if (42179336 == 0)
99 {
100 }
101 if (42179336 == 0)
102 {
103 }
104 if (49236 == 0)
105 {
106 }
107 bool flag = WorldGen.oceanDepths(num3, minY);
108 return;
109 }
110 }
111 }
112
113 // Token: 0x06001BA6 RID: 7078 RVA: 0x000A9314 File Offset: 0x000A7514
114 private unsafe static void AttemptToMoveHoney(int X, int Y, bool tileAtXYHasHoney, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
115 {
116 }
117
118 // Token: 0x06001BA7 RID: 7079 RVA: 0x000A9338 File Offset: 0x000A7538
119 private unsafe static void AttemptToMoveLava(int X, int Y, bool tileAtXYHasLava, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
120 {
121 }
122
123 // Token: 0x06001BA8 RID: 7080 RVA: 0x000A935C File Offset: 0x000A755C
124 private unsafe static void AttemptToMoveShimmer(int X, int Y, bool tileAtXYHasShimmer, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
125 {
126 while (96 == 0)
127 {
128 }
129 if (96 != 0)
130 {
131 }
132 }
133
134 // Token: 0x06001BA9 RID: 7081 RVA: 0x000A9388 File Offset: 0x000A7588
135 private static void UpdateProgressDisplay(int verbose, int minY, int maxY, int y)
136 {
137 }
138
139 // Token: 0x06001BAA RID: 7082 RVA: 0x000A93A8 File Offset: 0x000A75A8
140 [Il2CppSetOption(Option.NullChecks, false)]
141 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
142 public unsafe void Update(int worldWidth, uint* tileLookup, ushort* tileTypeData, short* tileTypeSHeader, byte* tileTypeBHeader, byte* tileLiquidValues, ushort* tileSearchUID)
143 {
144 int num = 1;
145 if (num == 0)
146 {
147 }
148 int num2 = this.x;
149 if (num == 0)
150 {
151 return;
152 }
153 if (num == 0)
154 {
155 }
157 }
158
159 // Token: 0x06001BAB RID: 7083 RVA: 0x000A965C File Offset: 0x000A785C
160 public static void StartPanic()
161 {
162 int num = 1;
163 if (num == 0)
164 {
165 }
166 if (num != 0)
167 {
168 return;
169 }
170 if (num == 0)
171 {
172 }
173 Console.WriteLine(Language.GetTextValue("Misc.ForceWaterSettling"));
174 }
175
176 // Token: 0x06001BAC RID: 7084 RVA: 0x000A9684 File Offset: 0x000A7884
177 [Il2CppSetOption(Option.NullChecks, false)]
178 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
179 public static void UpdateLiquid()
180 {
181 int num = 1;
182 if (num == 0)
183 {
184 }
186 if (num == 0)
187 {
188 }
189 bool netHost = Main.NetHost;
190 if (num == 0)
191 {
192 }
193 }
194
195 // Token: 0x06001BAD RID: 7085 RVA: 0x000A977C File Offset: 0x000A797C
196 public static void AddWater(int x, int y)
197 {
198 if (!true)
199 {
200 }
201 }
202
203 // Token: 0x06001BAE RID: 7086 RVA: 0x000A97D0 File Offset: 0x000A79D0
204 private static bool UnderGroundDesertCheck(int x, int y)
205 {
206 /*
207An exception occurred when decompiling this method (06001BAE)
208
209ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Liquid::UnderGroundDesertCheck(System.Int32,System.Int32)
210
211 ---> System.Exception: Basic block has to end with unconditional control flow.
212{
213 IL_000B:
214 stloc:uint16(var_4_15, callgetter:uint16(Tile::get_wall, ldloc:Tile[exp:valuetype Terraria.Tile&](var_2)))
215 stloc:uint16(var_6_1E, callgetter:uint16(Tile::get_wall, ldloc:Tile[exp:valuetype Terraria.Tile&](var_5)))
216}
217
218 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
219 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
220 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
221 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
222 --- End of inner exception stack trace ---
223 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
224 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
225*/;
226 }
227
228 // Token: 0x06001BAF RID: 7087 RVA: 0x000A9804 File Offset: 0x000A7A04
229 private static bool UndergroundDesertCheck(int x, int y)
230 {
231 /*
232An exception occurred when decompiling this method (06001BAF)
233
234ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Liquid::UndergroundDesertCheck(System.Int32,System.Int32)
235
236 ---> System.Exception: Basic block has to end with unconditional control flow.
237{
238 IL_0022:
239 stloc:uint16(var_6_29, callgetter:uint16(Tile::get_wall, ldloc:Tile[exp:valuetype Terraria.Tile&](var_5)))
240}
241
242 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
243 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
244 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
245 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
246 --- End of inner exception stack trace ---
247 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
248 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
249*/;
250 }
251
252 // Token: 0x06001BB0 RID: 7088 RVA: 0x000A9844 File Offset: 0x000A7A44
253 public unsafe static void LiquidCheck(int x, int y, int thisLiquidType, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
254 {
255 if (!true)
256 {
257 }
258 }
259
260 // Token: 0x06001BB1 RID: 7089 RVA: 0x000A996C File Offset: 0x000A7B6C
261 public static void GetLiquidMergeTypes(int thisLiquidType, [Out] int liquidMergeTileType, [Out] int liquidMergeType, bool waterNearby, bool lavaNearby, bool honeyNearby, bool shimmerNearby)
262 {
263 int num = 56;
266 if (thisLiquidType != 0)
267 {
268 }
269 if (thisLiquidType != 0)
270 {
271 return;
272 }
273 }
274
275 // Token: 0x06001BB2 RID: 7090 RVA: 0x000A99E0 File Offset: 0x000A7BE0
276 public unsafe static void LavaCheck(int x, int y, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
277 {
278 if (!true)
279 {
280 }
281 }
282
283 // Token: 0x06001BB3 RID: 7091 RVA: 0x000A9A04 File Offset: 0x000A7C04
284 public unsafe static void HoneyCheck(int x, int y, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
285 {
286 if (!true)
287 {
288 }
289 Liquid.LiquidCheck(x, y, 2, tileLookup, tileTypeBHeader, tileTypeLiquid, worldWidth);
290 }
291
292 // Token: 0x06001BB4 RID: 7092 RVA: 0x000A9A24 File Offset: 0x000A7C24
293 public unsafe static void ShimmerCheck(int x, int y, uint* tileLookup, byte* tileTypeBHeader, byte* tileTypeLiquid, int worldWidth)
294 {
295 if (!true)
296 {
297 }
298 Liquid.LiquidCheck(x, y, 3, tileLookup, tileTypeBHeader, tileTypeLiquid, worldWidth);
299 }
300
301 // Token: 0x06001BB5 RID: 7093 RVA: 0x000A9A44 File Offset: 0x000A7C44
302 public static void DelWater(int l)
303 {
304 if (!true)
305 {
306 }
307 Tile tile;
308 bool flag = tile.nactive();
309 }
310
311 // Token: 0x06001BB6 RID: 7094 RVA: 0x000A9B24 File Offset: 0x000A7D24
312 public Liquid()
313 {
314 }
315
316 // Token: 0x06001BB7 RID: 7095 RVA: 0x000A9B38 File Offset: 0x000A7D38
317 // Note: this type is marked as 'beforefieldinit'.
318 static Liquid()
319 {
320 }
321
322 // Token: 0x040028D1 RID: 10449
323 public static int skipCount;
324
325 // Token: 0x040028D2 RID: 10450
326 public static int stuckCount;
327
328 // Token: 0x040028D3 RID: 10451
329 public static int stuckAmount;
330
331 // Token: 0x040028D4 RID: 10452
332 public static int cycles;
333
334 // Token: 0x040028D5 RID: 10453
335 public static int curMaxLiquid;
336
337 // Token: 0x040028D6 RID: 10454
338 public static int numLiquid;
339
340 // Token: 0x040028D7 RID: 10455
341 public static bool stuck;
342
343 // Token: 0x040028D8 RID: 10456
344 public static bool quickFall;
345
346 // Token: 0x040028D9 RID: 10457
347 public static bool quickSettle;
348
349 // Token: 0x040028DA RID: 10458
350 private static int wetCounter;
351
352 // Token: 0x040028DB RID: 10459
353 public static int panicCounter;
354
355 // Token: 0x040028DC RID: 10460
356 public static bool panicMode;
357
358 // Token: 0x040028DD RID: 10461
359 public static int panicY;
360
361 // Token: 0x040028DE RID: 10462
362 public const int maxLiquidBuffer = 50000;
363
364 // Token: 0x040028DF RID: 10463
365 public static int maxLiquid;
366
367 // Token: 0x040028E0 RID: 10464
368 public int x;
369
370 // Token: 0x040028E1 RID: 10465
371 public int y;
372
373 // Token: 0x040028E2 RID: 10466
374 public int kill;
375
376 // Token: 0x040028E3 RID: 10467
377 public int delay;
378
379 // Token: 0x040028E4 RID: 10468
381
382 // Token: 0x040028E5 RID: 10469
384 }
385}
class f__AnonymousType0<< Count > j__TPar
static void WriteLine(object value)
Definition Console.cs:134
static int curMaxLiquid
Definition Liquid.cs:335
static int panicCounter
Definition Liquid.cs:353
static void GetLiquidMergeTypes(int thisLiquidType, [Out] int liquidMergeTileType, [Out] int liquidMergeType, bool waterNearby, bool lavaNearby, bool honeyNearby, bool shimmerNearby)
Definition Liquid.cs:261
static unsafe void ShimmerCheck(int x, int y, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:293
static unsafe void LiquidCheck(int x, int y, int thisLiquidType, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:253
static int panicY
Definition Liquid.cs:359
static unsafe void AttemptToMoveHoney(int X, int Y, bool tileAtXYHasHoney, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:114
static bool quickFall
Definition Liquid.cs:344
const int maxLiquidBuffer
Definition Liquid.cs:362
static void tilesIgnoreWater(bool ignoreSolids)
Definition Liquid.cs:36
static unsafe void HoneyCheck(int x, int y, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:284
static int wetCounter
Definition Liquid.cs:350
static void worldGenTilesIgnoreWater(bool ignoreSolids)
Definition Liquid.cs:44
static int maxLiquid
Definition Liquid.cs:365
static bool stuck
Definition Liquid.cs:341
static bool UnderGroundDesertCheck(int x, int y)
Definition Liquid.cs:204
static void UpdateLiquid()
Definition Liquid.cs:179
unsafe void Update(int worldWidth, uint *tileLookup, ushort *tileTypeData, short *tileTypeSHeader, byte *tileTypeBHeader, byte *tileLiquidValues, ushort *tileSearchUID)
Definition Liquid.cs:142
static void StartPanic()
Definition Liquid.cs:160
static void ReInit()
Definition Liquid.cs:52
static HashSet< int > _netChangeSet
Definition Liquid.cs:380
static void AddWater(int x, int y)
Definition Liquid.cs:196
static HashSet< int > _swapNetChangeSet
Definition Liquid.cs:383
static void UpdateProgressDisplay(int verbose, int minY, int maxY, int y)
Definition Liquid.cs:135
static bool UndergroundDesertCheck(int x, int y)
Definition Liquid.cs:229
static bool panicMode
Definition Liquid.cs:356
static int numLiquid
Definition Liquid.cs:338
static Liquid()
Definition Liquid.cs:318
static int stuckAmount
Definition Liquid.cs:329
static void NetSendLiquid(int x, int y)
Definition Liquid.cs:13
static unsafe void AttemptToMoveShimmer(int X, int Y, bool tileAtXYHasShimmer, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:124
static int cycles
Definition Liquid.cs:332
static int stuckCount
Definition Liquid.cs:326
static int skipCount
Definition Liquid.cs:323
static void DelWater(int l)
Definition Liquid.cs:302
static void QuickWater(int verbose=0, int minY=-1, int maxY=-1)
Definition Liquid.cs:66
static unsafe void AttemptToMoveLava(int X, int Y, bool tileAtXYHasLava, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:119
static bool quickSettle
Definition Liquid.cs:347
static unsafe void LavaCheck(int x, int y, uint *tileLookup, byte *tileTypeBHeader, byte *tileTypeLiquid, int worldWidth)
Definition Liquid.cs:276
static string GetTextValue(string key)
Definition Language.cs:54
static bool NetHost
Definition Main.cs:5544
static int UnderworldLayer
Definition Main.cs:5133
static bool oceanDepths(int x, int y)
Definition WorldGen.cs:2605
static void ShimmerRemoveWater()
Definition WorldGen.cs:6206
bool nactive()
Definition Tile.cs:1187