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,50 @@
#pragma once
#include "RE/N/NiColor.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"
namespace RE
{
class BGSPrimitiveLine;
class BSMultiBoundShape;
class BSFadeNode;
class __declspec(novtable) BGSPrimitive
{
public:
static constexpr auto RTTI{ RTTI::BGSPrimitive };
static constexpr auto VTABLE{ VTABLE::BGSPrimitive };
enum class PRIMITIVE_TYPE
{
kNone = 0x0,
kBox = 0x1,
kSphere = 0x2,
kPlane = 0x3,
kLine = 0x4,
kEllipsoid = 0x5
};
virtual ~BGSPrimitive(); // 00
// add
virtual void SetColor(const NiColorA& a_color) = 0; // 01
virtual void SetRadii(const NiPoint3& a_radii) = 0; // 02
virtual bool IsInside(const NiPoint3& a_point) const = 0; // 03
virtual BSMultiBoundShape* MakeMultiBoundShape([[maybe_unused]] const NiPoint3& a_angle) const { return nullptr; } // 04
// members
REX::TEnumSet<PRIMITIVE_TYPE, std::int32_t> type; // 08
NiPoint3 radii; // 0C
NiPointer<BSFadeNode> node; // 18
static BGSPrimitiveLine* CreateAbstract(PRIMITIVE_TYPE a_type, const NiPoint3* a_radii, const NiColorA* a_color)
{
using func_t = decltype(&BGSPrimitive::CreateAbstract);
static REL::Relocation<func_t> func{ ID::BGSPrimitive::CreateAbstract };
return func(a_type, a_radii, a_color);
}
};
static_assert(sizeof(BGSPrimitive) == 0x20);
}