Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
FieldPtrTableReader.cs
Go to the documentation of this file.
2
4
5internal readonly struct FieldPtrTableReader
6{
7 internal readonly int NumberOfRows;
8
9 private readonly bool _IsFieldTableRowRefSizeSmall;
10
11 private readonly int _FieldOffset;
12
13 internal readonly int RowSize;
14
15 internal readonly MemoryBlock Block;
16
17 internal FieldPtrTableReader(int numberOfRows, int fieldTableRowRefSize, MemoryBlock containingBlock, int containingBlockOffset)
18 {
19 NumberOfRows = numberOfRows;
20 _IsFieldTableRowRefSizeSmall = fieldTableRowRefSize == 2;
21 _FieldOffset = 0;
22 RowSize = _FieldOffset + fieldTableRowRefSize;
23 Block = containingBlock.GetMemoryBlockAt(containingBlockOffset, RowSize * numberOfRows);
24 }
25
27 {
28 int num = (rowId - 1) * RowSize;
30 }
31
32 internal int GetRowIdForFieldDefRow(int fieldDefRowId)
33 {
35 }
36}
int PeekReference(int offset, bool smallRefSize)
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
int LinearSearchReference(int rowSize, int referenceOffset, uint referenceValue, bool isReferenceSmall)
FieldPtrTableReader(int numberOfRows, int fieldTableRowRefSize, MemoryBlock containingBlock, int containingBlockOffset)
static FieldDefinitionHandle FromRowId(int rowId)