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,71 @@
#pragma once
namespace RE
{
namespace BSBTreeFile
{
template <class Key, std::size_t PAGE_SIZE>
class PageBasics
{
public:
using key_type = Key;
class InteriorNode;
};
template <class T, class Key, std::size_t PAGE_SIZE>
class PGFSEDL :
public PageBasics<Key, PAGE_SIZE>
{
public:
using key_type = Key;
class LeafNode;
};
template <class Pager, class Impl, std::size_t MAX_DEPTH>
class BPTree :
public Impl // 00
{
public:
class PagePtr
{
public:
// members
union
{
typename Impl::InteriorNode* interior;
typename Impl::LeafNode* leaf;
void* ptr = nullptr;
}; // 0
};
// static_assert(sizeof(PagePtr) == 0x8);
class Cursor
{
public:
class PageEntry
{
public:
// members
PagePtr page = {}; // 00
std::uint64_t pageIndex = 0; // 08
};
// static_assert(sizeof(PageEntry) == 0x10);
// members
PageEntry pages[MAX_DEPTH] = {}; // 00
std::uint32_t positions[MAX_DEPTH] = {}; // ??
std::uint32_t depth = 0; // ??
};
// members
Pager* fpol = nullptr; // 00
PagePtr* root = nullptr; // 18
std::uint64_t rootPageIndex = 0; // 10
std::uint32_t active = 0; // 18
std::uint32_t depth = 0; // 1C
};
// static_assert(sizeof(BPTree) == 0x20);
}
}