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

◆ CheckCactus()

static bool Terraria.WorldGen.CheckCactus ( int i,
int j )
inlinestatic

Definition at line 11711 of file WorldGen.cs.

11712 {
11713 /*
11714An exception occurred when decompiling this method (06002DBE)
11715
11716ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.WorldGen::CheckCactus(System.Int32,System.Int32)
11717
11718 ---> System.Exception: Basic block has to end with unconditional control flow.
11719{
11720 IL_004D:
11721 stloc:bool(var_17_57, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_15)))
11722 stloc:uint16(var_20_63, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_18)))
11723 stloc:bool(var_24_6F, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_22)))
11724 stloc:uint16(var_27_7B, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_25)))
11725 stloc:bool(var_31_87, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_29)))
11726 stloc:uint16(var_34_93, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_32)))
11727 stloc:bool(var_38_9F, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_36)))
11728 stloc:uint16(var_40_A8, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_39)))
11729 stloc:bool(var_42_B1, call:bool(Tile::nactive, ldloc:Tile[exp:valuetype Terraria.Tile&](var_41)))
11730 stloc:bool(var_44_BA, call:bool(Tile::halfBrick, ldloc:Tile[exp:valuetype Terraria.Tile&](var_43)))
11731 stloc:uint8(var_46_C3, call:uint8(Tile::slope, ldloc:Tile[exp:valuetype Terraria.Tile&](var_45)))
11732 stloc:int64(var_47_C6, ldc.i4:int64(0))
11733 stloc:int64(var_48_C9, ldc.i4:int64(0))
11734 stloc:int64(var_49_CC, ldc.i4:int64(0))
11735 call:void(WorldGen::KillTile, ldc.i4:int32(0), ldloc:int32(i), ldloc:int64[exp:bool](var_47_C6), ldloc:int64[exp:bool](var_48_C9), ldloc:int64[exp:bool](var_49_CC))
11736 stloc:uint16(var_52_E5, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_51)))
11737 stloc:uint16(var_54_EE, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_53)))
11738 stloc:uint16(var_56_F7, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_55)))
11739 stloc:uint16(var_59_103, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_57)))
11740 stloc:bool(var_62_10F, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_60)))
11741 stloc:uint16(var_65_11B, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_63)))
11742 stloc:uint16(var_68_127, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_66)))
11743 stloc:uint16(var_71_133, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_69)))
11744 stloc:uint16(var_74_13F, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_72)))
11745 stloc:uint16(var_77_14B, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_75)))
11746 stloc:bool(var_80_157, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_78)))
11747 stloc:uint16(var_82_160, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_81)))
11748 stloc:bool(var_84_169, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_83)))
11749 stloc:uint16(var_86_172, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_85)))
11750 stloc:bool(var_88_17B, call:bool(Tile::active, ldloc:Tile[exp:valuetype Terraria.Tile&](var_87)))
11751 stloc:uint16(var_90_184, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_89)))
11752}
11753
11754 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
11755 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
11756 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
11757 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
11758 --- End of inner exception stack trace ---
11759 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
11760 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
11761*/;
11762 }

Referenced by Terraria.WorldGen.CactusFrame().