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,55 @@
#pragma once
namespace RE
{
class __declspec(novtable) alignas(0x08) BSMultiBoundShape :
public NiObject // 00
{
public:
inline static constexpr auto RTTI{ RTTI::BSMultiBoundShape };
inline static constexpr auto VTABLE{ VTABLE::BSMultiBoundShape };
inline static constexpr auto Ni_RTTI{ Ni_RTTI::BSMultiBoundShape };
~BSMultiBoundShape() override; // 00
enum class BSMBCullResult
{
kUntested = 0x0,
kVisible = 0x1,
kCulled = 0x2,
kOccluded = 0x3
};
enum class BSMBIntersectResult
{
kNone = 0x0,
kPartial = 0x1,
kContainsTarget = 0x2
};
enum class BSMBShapeType
{
kInvalid = 0x0,
kAABB = 0x1,
kOBB = 0x2,
kSphere = 0x3,
kCapsule = 0x4
};
// add
virtual BSMBShapeType QType(); // 28
virtual float QMultiBoundRadius(); // 29
virtual BSMBIntersectResult CheckBound(const BSMultiBound* a_targetBound); // 2A
virtual BSMBIntersectResult CheckBound(const NiBound* a_targetBound); // 2B
virtual bool WithinFrustum(const NiFrustumPlanes* a_planes); // 2C
virtual bool CompletelyWithinFrustum(const NiFrustumPlanes* a_planes); // 2D
virtual bool GetNiBound(NiBound* a_bound); // 2E
virtual bool GetPointWithin(const NiPoint3* a_point); // 2F
virtual bool SetCenter(const NiPoint3* a_center); // 30
virtual bool MoveToWorld(const NiTransform* a_world); // 31
// members
BSMBCullResult cullResult; // 18
};
static_assert(sizeof(BSMultiBoundShape) == 0x18);
}