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
Minecart.cs
Go to the documentation of this file.
1using System;
5
6namespace Terraria
7{
8 // Token: 0x0200043F RID: 1087
9 public static class Minecart
10 {
11 // Token: 0x060028E5 RID: 10469 RVA: 0x001972C8 File Offset: 0x001954C8
12 public static void Initialize()
13 {
14 int num = 1;
15 if (num == 0)
16 {
17 }
18 if (num != 0 || num == 0)
19 {
20 }
21 long num2 = 0L;
22 if (num2 == 0L)
23 {
24 }
25 if (num2 == 0L)
26 {
27 }
28 }
29
30 // Token: 0x060028E6 RID: 10470 RVA: 0x00197450 File Offset: 0x00195650
31 public static bool CanSwitchTrack(int i, int j)
32 {
33 /*
34An exception occurred when decompiling this method (060028E6)
35
36ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Minecart::CanSwitchTrack(System.Int32,System.Int32)
37
38 ---> System.Exception: Basic block has to end with unconditional control flow.
39{
40 IL_00AD:
41 brtrue(IL_0000, ldloc:int32[exp:bool](var_30_A3))
42}
43
44 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
45 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
46 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
47 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
48 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
49 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
50 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
51 --- End of inner exception stack trace ---
52 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
53 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
54*/;
55 }
56
57 // Token: 0x060028E7 RID: 10471 RVA: 0x00197510 File Offset: 0x00195710
58 public static bool IsPressurePlate(Tile tile)
59 {
60 return true;
61 }
62
63 // Token: 0x060028E8 RID: 10472 RVA: 0x00197524 File Offset: 0x00195724
64 public static BitsByte TrackCollision(Player Player, Vector2 Position, Vector2 Velocity, Vector2 lastBoost, int Width, int Height, bool followDown, bool followUp, int fallStart, bool trackOnly, Mount.MountDelegatesData delegatesData)
65 {
66 /*
67An exception occurred when decompiling this method (060028E8)
68
69ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.BitsByte Terraria.Minecart::TrackCollision(Terraria.Player,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean,System.Boolean,System.Int32,System.Boolean,Terraria.Mount/MountDelegatesData)
70
71 ---> System.Exception: Basic block has to end with unconditional control flow.
72{
73 IL_00F9:
74 stloc:Matrix(var_67_103, call:Matrix(Matrix::CreateRotationZ, ldloc:float64[exp:float32](var_62)))
75}
76
77 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
78 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
79 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
80 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
81 --- End of inner exception stack trace ---
82 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
83 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
84*/;
85 }
86
87 // Token: 0x060028E9 RID: 10473 RVA: 0x00197638 File Offset: 0x00195838
88 public static bool FrameTrack(int i, int j, bool pound, bool mute = false)
89 {
90 /*
91An exception occurred when decompiling this method (060028E9)
92
93ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Minecart::FrameTrack(System.Int32,System.Int32,System.Boolean,System.Boolean)
94
95 ---> System.Exception: Basic block has to end with unconditional control flow.
96{
97 IL_0087:
98 stloc:int32(var_24_92, ldc.i4:int32(1))
99 stloc:int64(var_25_95, ldc.i4:int64(0))
100 stloc:int64(var_26_98, ldc.i4:int64(0))
101 call:void(WorldGen::KillTile, ldloc:int64[exp:int32](var_6), ldloc:int64[exp:int32](var_13), ldloc:int32[exp:bool](var_24_92), ldloc:int64[exp:bool](var_25_95), ldloc:int64[exp:bool](var_26_98))
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.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
106 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
107 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
108 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
109 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
110 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
111 --- End of inner exception stack trace ---
112 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
113 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
114*/;
115 }
116
117 // Token: 0x060028EA RID: 10474 RVA: 0x001976F0 File Offset: 0x001958F0
118 private static int GetNearbyTilesSetLookupIndex(int i, int j)
119 {
120 /*
121An exception occurred when decompiling this method (060028EA)
122
123ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Minecart::GetNearbyTilesSetLookupIndex(System.Int32,System.Int32)
124
125 ---> System.Exception: Basic block has to end with unconditional control flow.
126{
127 IL_0003:
128 stloc:uint16(var_3_0B, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_1)))
129 stloc:uint16(var_7_16, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_5)))
130 stloc:uint16(var_11_22, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_9)))
131 stloc:uint16(var_15_2E, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_13)))
132 stloc:uint16(var_19_3A, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_17)))
133 stloc:uint16(var_22_43, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_21)))
134}
135
136 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
137 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
138 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
139 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
140 --- End of inner exception stack trace ---
141 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
142 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
143*/;
144 }
145
146 // Token: 0x060028EB RID: 10475 RVA: 0x00197744 File Offset: 0x00195944
147 public static bool GetOnTrack(int tileX, int tileY, Vector2 Position, int Width, int Height)
148 {
149 /*
150An exception occurred when decompiling this method (060028EB)
151
152ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Minecart::GetOnTrack(System.Int32,System.Int32,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32)
153
154 ---> System.Exception: Basic block has to end with unconditional control flow.
155{
156 IL_003B:
157 stloc:int32(var_13_42, ldfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_9_2C)))
158}
159
160 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
161 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
162 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
163 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
164 --- End of inner exception stack trace ---
165 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
166 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
167*/;
168 }
169
170 // Token: 0x060028EC RID: 10476 RVA: 0x001977A0 File Offset: 0x001959A0
171 public static bool OnTrack(Vector2 Position, int Width, int Height)
172 {
173 /*
174An exception occurred when decompiling this method (060028EC)
175
176ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Minecart::OnTrack(Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32)
177
178 ---> System.Exception: Basic block has to end with unconditional control flow.
179{
180 IL_0011:
181 stloc:uint16(var_6_18, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_5)))
182}
183
184 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
185 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
186 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
187 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
188 --- End of inner exception stack trace ---
189 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
190 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
191*/;
192 }
193
194 // Token: 0x060028ED RID: 10477 RVA: 0x001977C8 File Offset: 0x001959C8
195 public static float TrackRotation(Player player, float rotation, Vector2 Position, int Width, int Height, bool followDown, bool followUp, Mount.MountDelegatesData delegatesData)
196 {
197 /*
198An exception occurred when decompiling this method (060028ED)
199
200ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Minecart::TrackRotation(Terraria.Player,System.Single,Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Boolean,System.Boolean,Terraria.Mount/MountDelegatesData)
201
202 ---> System.Exception: Basic block has to end with unconditional control flow.
203{
204 IL_0003:
205 brtrue(IL_0000, ldc.i4:int32[exp:bool](52992))
206}
207
208 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
209 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
210 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
211 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
212 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
213 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
214 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
215 --- End of inner exception stack trace ---
216 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
217 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
218*/;
219 }
220
221 // Token: 0x060028EE RID: 10478 RVA: 0x001977E0 File Offset: 0x001959E0
222 public static void GetWheelsPositions(Player player, Vector2 Position, int Width, int Height, bool followDown, bool followUp, Mount.MountDelegatesData delegatesData, [Out] Vector2 leftWheel, [Out] Vector2 rightWheel)
223 {
224 if (!true)
225 {
226 }
227 if (!true)
228 {
229 }
230 if (!true)
231 {
232 }
233 float x = leftWheel.X;
234 float y = leftWheel.Y;
235 leftWheel.X = x;
236 leftWheel.Y = y;
237 }
238
239 // Token: 0x060028EF RID: 10479 RVA: 0x00197820 File Offset: 0x00195A20
240 public static void HitTrackSwitch(Vector2 Position, int Width, int Height)
241 {
242 if (!true)
243 {
244 }
245 Vector2 magnetPosition = Minecart.GetMagnetPosition(Position, Width, Height);
246 if (15744 == 0)
247 {
248 }
249 if (15744 == 0)
250 {
251 }
252 }
253
254 // Token: 0x060028F0 RID: 10480 RVA: 0x00197848 File Offset: 0x00195A48
255 public static Vector2 GetMagnetPosition(Vector2 Position, int Width, int Height)
256 {
257 if (!true)
258 {
259 }
260 if (!true)
261 {
262 }
263 return 1;
264 }
265
266 // Token: 0x060028F1 RID: 10481 RVA: 0x00197860 File Offset: 0x00195A60
267 public static void FlipSwitchTrack(int i, int j)
268 {
269 if (!true)
270 {
271 }
272 }
273
274 // Token: 0x060028F2 RID: 10482 RVA: 0x00197884 File Offset: 0x00195A84
275 public static void TrackColors(int i, int j, Tile trackTile, [Out] int frontColor, [Out] int backColor)
276 {
277 int num = 1;
278 frontColor.m_value = num;
279 backColor.m_value = num;
280 if (num == 0)
281 {
282 }
283 Tile tile;
284 bool flag = tile.active();
285 }
286
287 // Token: 0x060028F3 RID: 10483 RVA: 0x001978EC File Offset: 0x00195AEC
288 public static bool DrawLeftDecoration(int frameID)
289 {
290 /*
291An exception occurred when decompiling this method (060028F3)
292
293ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Minecart::DrawLeftDecoration(System.Int32)
294
295 ---> System.Exception: Basic block has to end with unconditional control flow.
296{
297 IL_0000:
298 brtrue(IL_0000, ldc.i4:bool(1))
299}
300
301 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
302 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
303 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
304 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
305 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
306 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
307 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
308 --- End of inner exception stack trace ---
309 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
310 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
311*/;
312 }
313
314 // Token: 0x060028F4 RID: 10484 RVA: 0x00197900 File Offset: 0x00195B00
315 public static bool DrawRightDecoration(int frameID)
316 {
317 /*
318An exception occurred when decompiling this method (060028F4)
319
320ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Minecart::DrawRightDecoration(System.Int32)
321
322 ---> System.Exception: Basic block has to end with unconditional control flow.
323{
324 IL_0000:
325 brtrue(IL_0000, ldc.i4:bool(1))
326}
327
328 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
329 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
330 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
331 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
332 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
333 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
334 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
335 --- End of inner exception stack trace ---
336 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
337 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
338*/;
339 }
340
341 // Token: 0x060028F5 RID: 10485 RVA: 0x00197914 File Offset: 0x00195B14
342 public static bool DrawBumper(int frameID)
343 {
344 if (!true)
345 {
346 return;
347 }
348 }
349
350 // Token: 0x060028F6 RID: 10486 RVA: 0x0019792C File Offset: 0x00195B2C
351 public static bool DrawBouncyBumper(int frameID)
352 {
353 if (!true)
354 {
355 return;
356 }
357 }
358
359 // Token: 0x060028F7 RID: 10487 RVA: 0x00197944 File Offset: 0x00195B44
360 public static void PlaceTrack(Tile trackCache, int style)
361 {
362 }
363
364 // Token: 0x060028F8 RID: 10488 RVA: 0x00197974 File Offset: 0x00195B74
365 public static int GetTrackItem(Tile trackCache)
366 {
367 if (!true)
368 {
369 return;
370 }
371 }
372
373 // Token: 0x060028F9 RID: 10489 RVA: 0x00197988 File Offset: 0x00195B88
374 public static Rectangle GetSourceRect(int frameID, int animationFrame = 0)
375 {
376 if (!true)
377 {
378 }
379 if (32768 == 0)
380 {
381 return;
382 }
383 }
384
385 // Token: 0x060028FA RID: 10490 RVA: 0x001979B0 File Offset: 0x00195BB0
387 {
388 int num = 1;
389 if (num == 0)
390 {
391 }
392 if (num == 0)
393 {
394 return;
395 }
396 }
397
398 // Token: 0x060028FB RID: 10491 RVA: 0x001979CC File Offset: 0x00195BCC
400 {
401 if (!true)
402 {
403 }
405 }
406
407 // Token: 0x060028FC RID: 10492 RVA: 0x001979E8 File Offset: 0x00195BE8
409 {
410 }
411
412 // Token: 0x060028FD RID: 10493 RVA: 0x000021DB File Offset: 0x000003DB
414 {
415 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
416 }
417
418 // Token: 0x060028FE RID: 10494 RVA: 0x001979F8 File Offset: 0x00195BF8
419 public static void WheelSparks(Action<Vector2> DustAction, Vector2 Position, int Width, int Height, int sparkCount)
420 {
421 if (!true)
422 {
423 }
424 if (!true)
425 {
426 }
427 }
428
429 // Token: 0x060028FF RID: 10495 RVA: 0x00197A10 File Offset: 0x00195C10
430 private static short FrontTrack(this Tile tileTrack)
431 {
432 short num;
433 return num;
434 }
435
436 // Token: 0x06002900 RID: 10496 RVA: 0x00197A20 File Offset: 0x00195C20
437 private static void FrontTrack(this Tile tileTrack, short trackID)
438 {
440 }
441
442 // Token: 0x06002901 RID: 10497 RVA: 0x00197A34 File Offset: 0x00195C34
443 private static short BackTrack(this Tile tileTrack)
444 {
445 short num;
446 return num;
447 }
448
449 // Token: 0x06002902 RID: 10498 RVA: 0x00197A44 File Offset: 0x00195C44
450 private static void BackTrack(this Tile tileTrack, short trackID)
451 {
453 }
454
455 // Token: 0x06002903 RID: 10499 RVA: 0x00197A58 File Offset: 0x00195C58
456 // Note: this type is marked as 'beforefieldinit'.
457 static Minecart()
458 {
459 }
460
461 // Token: 0x040035B7 RID: 13751
462 private const int TotalFrames = 36;
463
464 // Token: 0x040035B8 RID: 13752
465 public const int LeftDownDecoration = 36;
466
467 // Token: 0x040035B9 RID: 13753
468 public const int RightDownDecoration = 37;
469
470 // Token: 0x040035BA RID: 13754
471 public const int BouncyBumperDecoration = 38;
472
473 // Token: 0x040035BB RID: 13755
474 public const int RegularBumperDecoration = 39;
475
476 // Token: 0x040035BC RID: 13756
477 public const int Flag_OnTrack = 0;
478
479 // Token: 0x040035BD RID: 13757
480 public const int Flag_BouncyBumper = 1;
481
482 // Token: 0x040035BE RID: 13758
483 public const int Flag_UsedRamp = 2;
484
485 // Token: 0x040035BF RID: 13759
486 public const int Flag_HitSwitch = 3;
487
488 // Token: 0x040035C0 RID: 13760
489 public const int Flag_BoostLeft = 4;
490
491 // Token: 0x040035C1 RID: 13761
492 public const int Flag_BoostRight = 5;
493
494 // Token: 0x040035C2 RID: 13762
495 private const int NoConnection = -1;
496
497 // Token: 0x040035C3 RID: 13763
498 private const int TopConnection = 0;
499
500 // Token: 0x040035C4 RID: 13764
501 private const int MiddleConnection = 1;
502
503 // Token: 0x040035C5 RID: 13765
504 private const int BottomConnection = 2;
505
506 // Token: 0x040035C6 RID: 13766
507 private const int BumperEnd = -1;
508
509 // Token: 0x040035C7 RID: 13767
510 private const int BouncyEnd = -2;
511
512 // Token: 0x040035C8 RID: 13768
513 private const int RampEnd = -3;
514
515 // Token: 0x040035C9 RID: 13769
516 private const int OpenEnd = -4;
517
518 // Token: 0x040035CA RID: 13770
519 public const float BoosterSpeed = 4f;
520
521 // Token: 0x040035CB RID: 13771
522 private const int Type_Normal = 0;
523
524 // Token: 0x040035CC RID: 13772
525 private const int Type_Pressure = 1;
526
527 // Token: 0x040035CD RID: 13773
528 private const int Type_Booster = 2;
529
530 // Token: 0x040035CE RID: 13774
532
533 // Token: 0x040035CF RID: 13775
534 private const float MinecartTextureWidth = 50f;
535
536 // Token: 0x040035D0 RID: 13776
537 private static int[] _leftSideConnection;
538
539 // Token: 0x040035D1 RID: 13777
540 private static int[] _rightSideConnection;
541
542 // Token: 0x040035D2 RID: 13778
543 private static int[] _trackType;
544
545 // Token: 0x040035D3 RID: 13779
546 private static bool[] _boostLeft;
547
548 // Token: 0x040035D4 RID: 13780
549 private static Vector2[] _texturePosition;
550
551 // Token: 0x040035D5 RID: 13781
552 private static short _firstPressureFrame;
553
554 // Token: 0x040035D6 RID: 13782
555 private static short _firstLeftBoostFrame;
556
557 // Token: 0x040035D7 RID: 13783
558 private static short _firstRightBoostFrame;
559
560 // Token: 0x040035D8 RID: 13784
561 private static int[][] _trackSwitchOptions;
562
563 // Token: 0x040035D9 RID: 13785
564 private static int[][] _tileHeight;
565
566 // Token: 0x02000440 RID: 1088
567 private enum TrackState
568 {
569 // Token: 0x040035DB RID: 13787
570 NoTrack = -1,
571 // Token: 0x040035DC RID: 13788
573 // Token: 0x040035DD RID: 13789
574 OnTrack,
575 // Token: 0x040035DE RID: 13790
577 // Token: 0x040035DF RID: 13791
579 // Token: 0x040035E0 RID: 13792
580 AboveBack,
581 // Token: 0x040035E1 RID: 13793
582 OnFront,
583 // Token: 0x040035E2 RID: 13794
584 OnBack
585 }
586 }
587}
class f__AnonymousType0<< Count > j__TPar
static Tile GetTileSafely(Vector2 position)
Definition Framing.cs:356
static bool FrameTrack(int i, int j, bool pound, bool mute=false)
Definition Minecart.cs:88
const int Type_Normal
Definition Minecart.cs:522
const float BoosterSpeed
Definition Minecart.cs:519
const int LeftDownDecoration
Definition Minecart.cs:465
const int Flag_BouncyBumper
Definition Minecart.cs:480
const int RightDownDecoration
Definition Minecart.cs:468
const int BumperEnd
Definition Minecart.cs:507
static int[] _leftSideConnection
Definition Minecart.cs:537
static bool[] _boostLeft
Definition Minecart.cs:546
static BitsByte TrackCollision(Player Player, Vector2 Position, Vector2 Velocity, Vector2 lastBoost, int Width, int Height, bool followDown, bool followUp, int fallStart, bool trackOnly, Mount.MountDelegatesData delegatesData)
Definition Minecart.cs:64
static void FrontTrack(this Tile tileTrack, short trackID)
Definition Minecart.cs:437
static int[][] _trackSwitchOptions
Definition Minecart.cs:561
static bool CanSwitchTrack(int i, int j)
Definition Minecart.cs:31
const int Type_Pressure
Definition Minecart.cs:525
static int ConvertOffsetYToTrackConnectionValue(int offsetY)
Definition Minecart.cs:408
static void GetWheelsPositions(Player player, Vector2 Position, int Width, int Height, bool followDown, bool followUp, Mount.MountDelegatesData delegatesData, [Out] Vector2 leftWheel, [Out] Vector2 rightWheel)
Definition Minecart.cs:222
static void TryFittingTileOrientation(Point tileCoords, int? expectedYOffsetForLeft, int? expectedYOffsetForRight)
Definition Minecart.cs:399
static short FrontTrack(this Tile tileTrack)
Definition Minecart.cs:430
const int Flag_OnTrack
Definition Minecart.cs:477
static bool DrawBouncyBumper(int frameID)
Definition Minecart.cs:351
static float TrackRotation(Player player, float rotation, Vector2 Position, int Width, int Height, bool followDown, bool followUp, Mount.MountDelegatesData delegatesData)
Definition Minecart.cs:195
static void TrackColors(int i, int j, Tile trackTile, [Out] int frontColor, [Out] int backColor)
Definition Minecart.cs:275
static short _firstPressureFrame
Definition Minecart.cs:552
static void PlaceTrack(Tile trackCache, int style)
Definition Minecart.cs:360
const int BottomConnection
Definition Minecart.cs:504
static Vector2 GetMagnetPosition(Vector2 Position, int Width, int Height)
Definition Minecart.cs:255
static bool DrawRightDecoration(int frameID)
Definition Minecart.cs:315
static bool DrawBumper(int frameID)
Definition Minecart.cs:342
const int Flag_HitSwitch
Definition Minecart.cs:486
const int NoConnection
Definition Minecart.cs:495
static short _firstRightBoostFrame
Definition Minecart.cs:558
static Rectangle GetSourceRect(int frameID, int animationFrame=0)
Definition Minecart.cs:374
static void FlipSwitchTrack(int i, int j)
Definition Minecart.cs:267
static bool OnTrack(Vector2 Position, int Width, int Height)
Definition Minecart.cs:171
static Vector2[] _texturePosition
Definition Minecart.cs:549
const int Flag_UsedRamp
Definition Minecart.cs:483
const int Type_Booster
Definition Minecart.cs:528
const int TopConnection
Definition Minecart.cs:498
const int MiddleConnection
Definition Minecart.cs:501
static void Initialize()
Definition Minecart.cs:12
const int TotalFrames
Definition Minecart.cs:462
const int RampEnd
Definition Minecart.cs:513
static short _firstLeftBoostFrame
Definition Minecart.cs:555
static bool IsPressurePlate(Tile tile)
Definition Minecart.cs:58
static void WheelSparks(Action< Vector2 > DustAction, Vector2 Position, int Width, int Height, int sparkCount)
Definition Minecart.cs:419
static int[] _trackType
Definition Minecart.cs:543
static bool DrawLeftDecoration(int frameID)
Definition Minecart.cs:288
static Minecart()
Definition Minecart.cs:457
const int Flag_BoostLeft
Definition Minecart.cs:489
const int BouncyEnd
Definition Minecart.cs:510
const int OpenEnd
Definition Minecart.cs:516
static int GetTrackItem(Tile trackCache)
Definition Minecart.cs:365
const int BouncyBumperDecoration
Definition Minecart.cs:471
static short BackTrack(this Tile tileTrack)
Definition Minecart.cs:443
const float MinecartTextureWidth
Definition Minecart.cs:534
static int[] _rightSideConnection
Definition Minecart.cs:540
static Vector2 _trackMagnetOffset
Definition Minecart.cs:531
static int GetNearbyTilesSetLookupIndex(int i, int j)
Definition Minecart.cs:118
static void BackTrack(this Tile tileTrack, short trackID)
Definition Minecart.cs:450
static int[][] _tileHeight
Definition Minecart.cs:564
static void HitTrackSwitch(Vector2 Position, int Width, int Height)
Definition Minecart.cs:240
static int ConvertTrackConnectionValueToOffsetY(int trackConnectionValue)
Definition Minecart.cs:413
static bool GetAreExpectationsForSidesMet(Point tileCoords, int? expectedYOffsetForLeft, int? expectedYOffsetForRight)
Definition Minecart.cs:386
const int Flag_BoostRight
Definition Minecart.cs:492
const int RegularBumperDecoration
Definition Minecart.cs:474
static bool GetOnTrack(int tileX, int tileY, Vector2 Position, int Width, int Height)
Definition Minecart.cs:147
bool active()
Definition Tile.cs:1241