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,51 @@
#pragma once
#include "RE/B/BSGraphics.h"
#include "RE/N/NiAVObject.h"
#include "RE/N/NiPointer.h"
namespace RE
{
namespace BSSkin
{
class Instance;
}
class BSCombinedTriShape;
class BSGeometrySegmentData;
class BSMergeInstancedTriShape;
class BSMultiIndexTriShape;
class NiProperty;
class __declspec(novtable) BSGeometry :
public NiAVObject // 000
{
public:
static constexpr auto RTTI{ RTTI::BSGeometry };
static constexpr auto VTABLE{ VTABLE::BSGeometry };
static constexpr auto Ni_RTTI{ Ni_RTTI::BSGeometry };
BSGeometry();
virtual ~BSGeometry(); // NOLINT(modernize-use-override) 00
// add
virtual void UpdatePropertyControllers(NiUpdateData& a_data); // 3A
virtual BSGeometrySegmentData* GetSegmentData(); // 3B
virtual void SetSegmentData(BSGeometrySegmentData* a_data); // 3C
virtual BSGraphics::IndexBuffer* GetCustomIndexBuffer(); // 3D
virtual BSCombinedTriShape* IsBSCombinedTriShape(); // 3E
virtual BSMergeInstancedTriShape* IsBSMergeInstancedTriShape(); // 3F
virtual BSMultiIndexTriShape* IsMultiIndexTriShape(); // 40
virtual std::uint32_t GetRenderableTris(std::uint32_t a_LODMode); // 40
// members
NiBound modelBound; // 120
NiPointer<NiProperty> properties[2]; // 130
NiPointer<BSSkin::Instance> skinInstance; // 140
void* rendererData; // 148
BSGraphics::VertexDesc vertexDesc; // 150
std::uint8_t type; // 158
bool registered; // 159
};
static_assert(sizeof(BSGeometry) == 0x160);
}