Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/B/BSScript_Internal_ReadableStringTable.h
T
2026-05-30 18:33:24 +12:00

46 lines
1.1 KiB
C++

#pragma once
#include "RE/B/BSFixedString.h"
#include "RE/B/BSTArray.h"
#include "RE/B/BSTObjectArena.h"
namespace RE
{
namespace BSScript
{
namespace Internal
{
enum class StringIndexSize : std::uint32_t;
class ReadableStringTable
{
public:
class StringEntry
{
public:
// members
const char* originalData; // 00
BSFixedString convertedString; // 08
};
static_assert(sizeof(StringEntry) == 0x10);
class StringTableScrapPage
{
public:
// members
char buffer[0x1000]; // 0000
char* curr; // 1000
const char* const end; // 1008
};
static_assert(sizeof(StringTableScrapPage) == 0x1010);
// members
std::unique_ptr<BSTObjectArena<StringTableScrapPage, BSTObjectArenaScrapAlloc, 1>> scrapPages; // 00
std::unique_ptr<BSScrapArray<StringEntry>> entries; // 08
REX::TEnumSet<StringIndexSize, std::int32_t> indexSize; // 10
};
static_assert(sizeof(ReadableStringTable) == 0x18);
}
}
}