Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
HasFieldMarshalTag.cs
Go to the documentation of this file.
2
4
5internal static class HasFieldMarshalTag
6{
7 internal const int NumberOfBits = 1;
8
9 internal const int LargeRowSize = 32768;
10
11 internal const uint Field = 0u;
12
13 internal const uint Param = 1u;
14
15 internal const uint TagMask = 1u;
16
17 internal const TableMask TablesReferenced = TableMask.Field | TableMask.Param;
18
19 internal const uint TagToTokenTypeByteVector = 2052u;
20
21 [MethodImpl(MethodImplOptions.AggressiveInlining)]
22 internal static EntityHandle ConvertToHandle(uint hasFieldMarshal)
23 {
24 uint num = (uint)(2052 >>> (int)((hasFieldMarshal & 1) << 3) << 24);
25 uint num2 = hasFieldMarshal >> 1;
26 if ((num2 & 0xFF000000u) != 0)
27 {
29 }
30 return new EntityHandle(num | num2);
31 }
32
33 internal static uint ConvertToTag(EntityHandle handle)
34 {
35 if (handle.Type == 67108864)
36 {
37 return (uint)(handle.RowId << 1) | 0u;
38 }
39 if (handle.Type == 134217728)
40 {
41 return (uint)(handle.RowId << 1) | 1u;
42 }
43 return 0u;
44 }
45}
static EntityHandle ConvertToHandle(uint hasFieldMarshal)
static void InvalidCodedIndex()
Definition Throw.cs:201