Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros
ParamTableReader.cs
Go to the documentation of this file.
2
4
5internal readonly struct ParamTableReader
6{
7 internal readonly int NumberOfRows;
8
9 private readonly bool _IsStringHeapRefSizeSmall;
10
11 private readonly int _FlagsOffset;
12
13 private readonly int _SequenceOffset;
14
15 private readonly int _NameOffset;
16
17 internal readonly int RowSize;
18
19 internal readonly MemoryBlock Block;
20
21 internal ParamTableReader(int numberOfRows, int stringHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
22 {
23 NumberOfRows = numberOfRows;
24 _IsStringHeapRefSizeSmall = stringHeapRefSize == 2;
25 _FlagsOffset = 0;
28 RowSize = _NameOffset + stringHeapRefSize;
29 Block = containingBlock.GetMemoryBlockAt(containingBlockOffset, RowSize * numberOfRows);
30 }
31
33 {
34 int num = (handle.RowId - 1) * RowSize;
36 }
37
39 {
40 int num = (handle.RowId - 1) * RowSize;
41 return Block.PeekUInt16(num + _SequenceOffset);
42 }
43
45 {
46 int num = (handle.RowId - 1) * RowSize;
48 }
49}
unsafe ushort PeekUInt16(int offset)
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
int PeekHeapReference(int offset, bool smallRefSize)
StringHandle GetName(ParameterHandle handle)
ParameterAttributes GetFlags(ParameterHandle handle)
ParamTableReader(int numberOfRows, int stringHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
static StringHandle FromOffset(int heapOffset)