docs: add plugin setup guide

This commit is contained in:
2026-05-30 18:33:24 +12:00
parent f3db41c402
commit b61043a3fe
1776 changed files with 122386 additions and 2 deletions
@@ -0,0 +1,28 @@
#pragma once
namespace RE
{
// maps a key to a uint32_t index
// the value of the index is provided externally (typically just some counter)
// this index is used to index an array, which is also provided externally
// essentially implements a scatter table with chaining for conflict resolution
// it is honestly impressive how awful this data structure is, bethesda never fails to impress
template <class Traits, class Accessor>
class BSTSmallIndexScatterTable
{
public:
struct entry_type
{
std::uint16_t next = 0xFFFF; // the next slot the check for conflict resolution, or 0xFFFF if no chain
std::uint16_t index = 0xFFFF; // the actual index, or 0xFFFF if invalid
};
std::uint64_t pad; // 00
entry_type* table; // 08
std::uint32_t size; // 10
std::uint32_t mask; // 14
std::uint32_t avail; // 18
std::uint32_t lastFree; // 1C
};
// static_assert(sizeof(BSTSmallIndexScatterTable) == 0x20);
}