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
ItemTagHandler.cs
Go to the documentation of this file.
1using System;
7
9{
10 // Token: 0x02000ADF RID: 2783
12 {
13 // Token: 0x060051DB RID: 20955 RVA: 0x00281A84 File Offset: 0x0027FC84
14 public static bool PrintInline(SpriteBatch spriteBatch, Vector2 position, Color color, float scale, SpriteFont.CharacterSource text, int offset, int endOffset, Vector2 size)
15 {
16 /*
17An exception occurred when decompiling this method (060051DB)
18
19ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.UI.Chat.ItemTagHandler::PrintInline(Microsoft.Xna.Framework.Graphics.SpriteBatch,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Graphics.Color,System.Single,Microsoft.Xna.Framework.Graphics.SpriteFont/CharacterSource,System.Int32,System.Int32,Microsoft.Xna.Framework.Vector2)
20
21 ---> System.Exception: Basic block has to end with unconditional control flow.
22{
23 IL_0048:
24 stfld:string(CharacterSource::_string, ldloc:CharacterSource[exp:valuetype Microsoft.Xna.Framework.Graphics.SpriteFont/CharacterSource&](text), ldloc:Color[exp:string](color))
25}
26
27 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
28 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
29 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
30 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
31 --- End of inner exception stack trace ---
32 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
33 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
34*/;
35 }
36
37 // Token: 0x060051DC RID: 20956 RVA: 0x00281AE4 File Offset: 0x0027FCE4
38 public static bool MeasureInline(SpriteFont.CharacterSource text, int offset, int endOffset, Vector2 size)
39 {
40 /*
41An exception occurred when decompiling this method (060051DC)
42
43ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.UI.Chat.ItemTagHandler::MeasureInline(Microsoft.Xna.Framework.Graphics.SpriteFont/CharacterSource,System.Int32,System.Int32,Microsoft.Xna.Framework.Vector2)
44
45 ---> System.Exception: Basic block has to end with unconditional control flow.
46{
47 Block_0:
48 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](offset), ldloc:CharacterSource[exp:int32](text))
49}
50
51 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
52 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
53 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
54 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
55 --- End of inner exception stack trace ---
56 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
57 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
58*/;
59 }
60
61 // Token: 0x060051DD RID: 20957 RVA: 0x00281B10 File Offset: 0x0027FD10
63 {
64 /*
65An exception occurred when decompiling this method (060051DD)
66
67ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.UI.Chat.TextSnippet Terraria.GameContent.UI.Chat.ItemTagHandler::Terraria.UI.Chat.ITagHandler.Parse(System.String,Microsoft.Xna.Framework.Graphics.Color,System.String)
68
69 ---> System.Exception: Basic block has to end with unconditional control flow.
70{
71 IL_0056:
72 stloc:string(var_18_67, call:string(string::Concat, ldstr:string(" ("), ldloc:string(var_17), ldstr:string(")")))
73 stloc:string(var_20_7C, call:string(string::Concat, ldstr:string("["), ldloc:string(var_19), ldloc:string(var_18_67), ldstr:string("]")))
74}
75
76 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
77 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
78 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
79 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
80 --- End of inner exception stack trace ---
81 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
82 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
83*/;
84 }
85
86 // Token: 0x060051DE RID: 20958 RVA: 0x00281B9C File Offset: 0x0027FD9C
87 public static string GenerateTag(Item I)
88 {
89 while (!true)
90 {
91 }
92 string text;
93 string text2;
94 string text3;
95 return "[i" + "/p" + text + "/s" + text2 + ":" + text3 + "]";
96 }
97
98 // Token: 0x060051DF RID: 20959 RVA: 0x00281BD8 File Offset: 0x0027FDD8
100 {
101 }
102
103 // Token: 0x060051E0 RID: 20960 RVA: 0x00281BEC File Offset: 0x0027FDEC
104 // Note: this type is marked as 'beforefieldinit'.
106 {
107 }
108
109 // Token: 0x04008A47 RID: 35399
110 private static Item displayItem;
111
112 // Token: 0x02000AE0 RID: 2784
113 private class ItemSnippet : TextSnippet
114 {
115 // Token: 0x060051E1 RID: 20961 RVA: 0x00281BFC File Offset: 0x0027FDFC
117 : base("")
118 {
120 int rare = item.rare;
121 if (!true)
122 {
123 }
124 Color color = ItemRarity.GetColor(rare);
125 this.Color = color;
126 }
127
128 // Token: 0x060051E2 RID: 20962 RVA: 0x00281C34 File Offset: 0x0027FE34
129 public override void OnHover()
130 {
131 Item item = this._item.Clone();
132 string name = this._item.Name;
133 int rare = this._item.rare;
134 }
135
136 // Token: 0x060051E3 RID: 20963 RVA: 0x00281C68 File Offset: 0x0027FE68
137 public override bool UniqueDraw(bool justCheckingString, [Out] Vector2 size, SpriteBatch spriteBatch, [Optional] Vector2 position, [Optional] Color color, float scale = 1f)
138 {
139 int num = 1;
140 if (num != 0 && num != 0)
141 {
142 if (num == 0)
143 {
144 }
146 if (num == 0)
147 {
148 }
149 Item item = this._item;
150 int type = item.type;
151 Item item2 = this._item;
152 Vector2 position2 = item.position;
153 if (item2.position != null)
154 {
155 Item item3 = this._item;
156 }
157 float inventoryScale = Main.inventoryScale;
158 Main.inventoryScale = inventoryScale;
159 if (item2 == null)
160 {
161 }
162 Main.inventoryScale = inventoryScale;
163 return;
164 }
165 }
166
167 // Token: 0x060051E4 RID: 20964 RVA: 0x000021DB File Offset: 0x000003DB
168 public override float GetStringLength(SpriteFont font)
169 {
170 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
171 }
172
173 // Token: 0x04008A48 RID: 35400
174 private Item _item;
175 }
176 }
177}
class f__AnonymousType0<< Count > j__TPar
override bool UniqueDraw(bool justCheckingString, [Out] Vector2 size, SpriteBatch spriteBatch, [Optional] Vector2 position, [Optional] Color color, float scale=1f)
static bool PrintInline(SpriteBatch spriteBatch, Vector2 position, Color color, float scale, SpriteFont.CharacterSource text, int offset, int endOffset, Vector2 size)
static bool MeasureInline(SpriteFont.CharacterSource text, int offset, int endOffset, Vector2 size)
static Color GetColor(int rarity)
Definition ItemRarity.cs:19
Item Clone()
Definition Item.cs:1708
string Name
Definition Item.cs:25
static bool LogicClient
Definition Main.cs:5513
static float inventoryScale
Definition Main.cs:2253
TextSnippet Parse(string text, [Optional] Color baseColor, [Optional] string options)