Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ModuleRefTableReader.cs
Go to the documentation of this file.
2
4
5internal readonly struct ModuleRefTableReader
6{
7 internal readonly int NumberOfRows;
8
9 private readonly bool _IsStringHeapRefSizeSmall;
10
11 private readonly int _NameOffset;
12
13 internal readonly int RowSize;
14
15 internal readonly MemoryBlock Block;
16
17 internal ModuleRefTableReader(int numberOfRows, int stringHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
18 {
19 NumberOfRows = numberOfRows;
20 _IsStringHeapRefSizeSmall = stringHeapRefSize == 2;
21 _NameOffset = 0;
22 RowSize = _NameOffset + stringHeapRefSize;
23 Block = containingBlock.GetMemoryBlockAt(containingBlockOffset, RowSize * numberOfRows);
24 }
25
31}
unsafe MemoryBlock GetMemoryBlockAt(int offset, int length)
int PeekHeapReference(int offset, bool smallRefSize)
ModuleRefTableReader(int numberOfRows, int stringHeapRefSize, MemoryBlock containingBlock, int containingBlockOffset)
StringHandle GetName(ModuleReferenceHandle handle)
static StringHandle FromOffset(int heapOffset)