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
TileObject.cs
Go to the documentation of this file.
1using System;
9
10namespace Terraria
11{
12 // Token: 0x02000461 RID: 1121
13 public struct TileObject
14 {
15 // Token: 0x170005F8 RID: 1528
16 // (get) Token: 0x06002AE7 RID: 10983 RVA: 0x000021DB File Offset: 0x000003DB
18 {
19 get
20 {
21 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
22 }
23 }
24
25 // Token: 0x06002AE8 RID: 10984 RVA: 0x001B3364 File Offset: 0x001B1564
26 public static bool Place(TileObject toBePlaced)
27 {
28 int num;
30 do
31 {
32 num = 1;
33 }
34 while (tileObjectData == null);
36 if (num != 0)
37 {
39 Point16 origin = tileObjectData.Origin;
41 }
42 int styleWrapLimit = tileObjectData.StyleWrapLimit;
43 int styleWrapLimit2 = tileObjectData.StyleWrapLimit;
44 int styleLineSkip = tileObjectData.StyleLineSkip;
45 int styleWrapLimit3 = tileObjectData.StyleWrapLimit;
48 bool styleHorizontal = tileObjectData.StyleHorizontal;
49 int coordinateFullWidth = tileObjectData.CoordinateFullWidth;
50 int coordinateFullHeight = tileObjectData.CoordinateFullHeight;
51 int width = tileObjectData.Width;
52 int height = tileObjectData.Height;
53 int num2;
54 short sTileHeader = Framing.GetTileSafely(num2, styleHorizontal ? 1 : 0).sTileHeader;
55 if (num == 0)
56 {
57 }
58 if (num == 0)
59 {
60 if (num == 0)
61 {
62 }
63 if (num == 0)
64 {
65 goto IL_00C8;
66 }
67 }
68 long num3 = 0L;
69 long num4 = 0L;
70 long num5 = 0L;
71 WorldGen.KillTile(num2, styleHorizontal ? 1 : 0, num3 != 0L, num4 != 0L, num5 != 0L);
72 Tile tile;
73 short sTileHeader2 = tile.sTileHeader;
74 IL_00C8:
75 int height2 = tileObjectData.Height;
76 int width2 = tileObjectData.Width;
77 int width3 = tileObjectData.Width;
78 long num6 = 0L;
79 int coordinateWidth = tileObjectData.CoordinateWidth;
80 int coordinatePadding = tileObjectData.CoordinatePadding;
81 long num7 = 0L;
82 int height3 = tileObjectData.Height;
83 short sTileHeader3 = Framing.GetTileSafely(coordinatePadding, (int)num7).sTileHeader;
84 int[] coordinateHeights = tileObjectData.CoordinateHeights;
85 int coordinatePadding2 = tileObjectData.CoordinatePadding;
86 int height4 = tileObjectData.Height;
87 int width4 = tileObjectData.Width;
88 bool flattenAnchors = tileObjectData.FlattenAnchors;
90 if (num6 != 0L)
91 {
92 int value = num2.m_value;
93 int height5 = tileObjectData.Height;
94 int num8;
95 if (num8 != 0)
96 {
97 }
98 }
100 int value2;
101 if (num6 != 0L)
102 {
103 value2 = num2.m_value;
104 if (value2 == 0)
105 {
106 }
107 int num9;
108 if (num9 != 0)
109 {
110 }
111 }
113 if (num6 != 0L)
114 {
115 int width5 = tileObjectData.Width;
116 if (value2 == 0)
117 {
118 }
119 int num10;
120 if (num10 != 0)
121 {
122 }
123 }
125 int value3 = num2.m_value;
126 if (value2 == 0)
127 {
128 }
129 int num11;
130 if (num11 != 0)
131 {
132 return;
133 }
134 }
135
136 // Token: 0x06002AE9 RID: 10985 RVA: 0x001B3528 File Offset: 0x001B1728
137 public static bool CanPlace(int x, int y, int type, int style, int dir, [Out] TileObject objectData, bool onlyCheck = false, [Optional] int? forcedRandom)
138 {
140 for (;;)
141 {
142 long num = 0L;
143 tileData = TileObjectData.GetTileData(y, type, (int)num);
144 if (tileData != null)
145 {
146 break;
147 }
148 if (-2147483648 == 0)
149 {
150 }
151 int[] array;
152 if (array != null)
153 {
154 int num2;
155 if (num2 == 0)
156 {
157 }
158 if (-2147483648 == 0)
159 {
160 }
161 int[] array2;
162 if (array2 != null)
163 {
164 }
165 }
168 int[] array3;
169 if (array3 != null)
170 {
171 goto Block_3;
172 }
173 }
174 Point16 origin = tileData.Origin;
175 Point16 origin2 = tileData.Origin;
176 int width = tileData.Width;
177 int num3;
178 if (num3 != 0)
179 {
180 }
181 TileObjectData tileData2 = TileObjectData.GetTileData(type, 1073741824, int.MinValue);
182 if (tileData2.Direction != TileObjectDirection.None)
183 {
186 }
187 Point16 origin3 = tileData2.Origin;
188 Point16 origin4 = tileData2.Origin;
189 int width2 = tileData2.Width;
190 int height = tileData2.Height;
191 int width3 = tileData2.Width;
192 int height2 = tileData2.Height;
193 AnchorData anchorTop = tileData2.AnchorTop;
194 AnchorData anchorTop2 = tileData2.AnchorTop;
195 AnchorData anchorTop3 = tileData2.AnchorTop;
196 AnchorData anchorBottom = tileData2.AnchorBottom;
197 int height3 = tileData2.Height;
198 AnchorData anchorBottom2 = tileData2.AnchorBottom;
199 AnchorData anchorBottom3 = tileData2.AnchorBottom;
200 AnchorData anchorLeft = tileData2.AnchorLeft;
201 AnchorData anchorLeft2 = tileData2.AnchorLeft;
202 AnchorData anchorLeft3 = tileData2.AnchorLeft;
203 AnchorData anchorLeft4 = tileData2.AnchorLeft;
204 AnchorData anchorLeft5 = tileData2.AnchorLeft;
205 AnchorData anchorRight = tileData2.AnchorRight;
206 int width4 = tileData2.Width;
207 long num4 = 0L;
208 AnchorData anchorLeft6 = tileData2.AnchorLeft;
209 AnchorData anchorRight2 = tileData2.AnchorRight;
210 AnchorData anchorRight3 = tileData2.AnchorRight;
211 AnchorData anchorRight4 = tileData2.AnchorRight;
215 int num5 = 1;
223 int width5 = tileData2.Width;
224 int height4 = tileData2.Height;
225 int width6 = tileData2.Width;
226 int height5 = tileData2.Height;
227 long num6 = 0L;
228 bool anchorWall = tileData2.AnchorWall;
229 return tileData2.isValidWallAnchor((int)num6);
230 Block_3:
231 if (-2147483648 == 0)
232 {
233 }
235 return false;
236 }
237
238 // Token: 0x06002AEA RID: 10986 RVA: 0x001B3B7C File Offset: 0x001B1D7C
239 public static void DrawPreview(SpriteBatch sb, TileObjectPreviewData op, Vector2 position)
240 {
241 if (!true)
242 {
243 }
244 ushort num = op._type;
245 int num2 = op._alternate;
246 int num3 = op._alternate;
247 bool active = op._active;
250 int drawXOffset = tileObjectData.DrawXOffset;
251 int drawStyleOffset = tileObjectData.DrawStyleOffset;
252 int styleWrapLimit = tileObjectData.StyleWrapLimit;
253 int styleLineSkip = tileObjectData.StyleLineSkip;
254 int? styleWrapLimitVisualOverride = tileObjectData.StyleWrapLimitVisualOverride;
255 int? styleWrapLimitVisualOverride2 = tileObjectData.StyleWrapLimitVisualOverride;
256 int? styleLineSkipVisualOverride = tileObjectData.styleLineSkipVisualOverride;
257 int? styleLineSkipVisualOverride2 = tileObjectData.styleLineSkipVisualOverride;
258 }
259
260 // Token: 0x06002AEB RID: 10987 RVA: 0x001B3CAC File Offset: 0x001B1EAC
261 // Note: this type is marked as 'beforefieldinit'.
262 static TileObject()
263 {
264 }
265
266 // Token: 0x04003773 RID: 14195
267 public int xCoord;
268
269 // Token: 0x04003774 RID: 14196
270 public int yCoord;
271
272 // Token: 0x04003775 RID: 14197
273 public int type;
274
275 // Token: 0x04003776 RID: 14198
276 public int style;
277
278 // Token: 0x04003777 RID: 14199
279 public int alternate;
280
281 // Token: 0x04003778 RID: 14200
282 public int random;
283
284 // Token: 0x04003779 RID: 14201
285 public static TileObject Empty;
286 }
287}
class f__AnonymousType0<< Count > j__TPar
static Tile GetTileSafely(Vector2 position)
Definition Framing.cs:356
static TileObjectData GetTileData(int type, int style, int alternate=0)
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
static bool Place(TileObject toBePlaced)
Definition TileObject.cs:26
static void DrawPreview(SpriteBatch sb, TileObjectPreviewData op, Vector2 position)
static TileObject Empty
static TileObjectPreviewData objectPreview
Definition TileObject.cs:18
static bool CanPlace(int x, int y, int type, int style, int dir, [Out] TileObject objectData, bool onlyCheck=false, [Optional] int? forcedRandom)
short sTileHeader
Definition Tile.cs:137