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,16 @@
#pragma once
namespace RE
{
class OBJ_ARMA
{
public:
// members
std::int8_t priorities[2]; // 0
std::int8_t modelRange[2]; // 2
std::int8_t unused[2]; // 4
std::int8_t soundValue; // 6
float weaponAdjust; // 8
};
static_assert(sizeof(OBJ_ARMA) == 0xC);
}
@@ -0,0 +1,23 @@
#pragma once
namespace RE
{
class OBJ_BOOK
{
public:
union Teaches
{
ActorValueInfo* actorValueToAdvance;
SpellItem* spell;
BGSPerk* perk;
};
static_assert(sizeof(Teaches) == 0x8);
// members
std::int8_t flags; // 00
Teaches teaches; // 08
std::uint32_t textOffsetX; // 10
std::uint32_t textOffsetY; // 14
};
static_assert(sizeof(OBJ_BOOK) == 0x18);
}
@@ -0,0 +1,26 @@
#pragma once
namespace RE
{
class OBJ_LAND
{
public:
enum class LAND
{
kHeightAltered = 1 << 0,
kCLRAltered = 1 << 1,
kTexAltered = 1 << 2,
kLoaded = 1 << 3,
kGoodNormals = 1 << 4,
kHiResHeightfield = 1 << 5,
kRemapped = 1 << 10,
kDataAltered = kHeightAltered | kCLRAltered | kTexAltered | kHiResHeightfield,
};
// members
REX::TEnumSet<LAND, std::uint32_t> flags; // 0
};
static_assert(sizeof(OBJ_LAND) == 0x4);
}
@@ -0,0 +1,25 @@
#pragma once
namespace RE
{
class OBJ_LIGH
{
public:
// members
std::int32_t time; // 00
std::uint32_t radius; // 04
std::uint32_t color; // 08
std::uint32_t flags; // 0C
float fallOffExponent; // 10
float fov; // 14
float nearDistance; // 18
float flickerPeriodRecip; // 1C
float flickerIntensityAmplitude; // 20
float flickerMovementAmplitude; // 24
float attenConstant; // 28
float attenScalar; // 2C
float attenExponent; // 30
float godrayNearClipDistance; // 34
};
static_assert(sizeof(OBJ_LIGH) == 0x38);
}
@@ -0,0 +1,16 @@
#pragma once
#include "RE/N/NiPoint3.h"
namespace RE
{
class OBJ_REFR
{
public:
// members
NiPoint3A angle; // 00
NiPoint3A location; // 10
TESBoundObject* objectReference; // 20
};
static_assert(sizeof(OBJ_REFR) == 0x30);
}
@@ -0,0 +1,23 @@
#pragma once
namespace RE
{
class OBJ_TREE
{
public:
// members
float trunkFlexibility; // 00
float branchFlexibility; // 04
float trunkAmplitude; // 08
float frontAmplitude; // 0C
float backAmplitude; // 10
float sideAmplitude; // 14
float frontFrequency; // 18
float backFrequency; // 1C
float sideFrequency; // 20
float leafFlexibility; // 24
float leafAmplitude; // 28
float leafFrequency; // 2C
};
static_assert(sizeof(OBJ_TREE) == 0x30);
}
@@ -0,0 +1,21 @@
#pragma once
namespace RE
{
class __declspec(novtable) ObjectEquipParams
{
public:
// members
std::uint32_t stackID; // 00
std::uint32_t number; // 04
const BGSEquipSlot* equipSlot; // 08
const BGSEquipSlot* slotBeingReplaced; // 10
bool queueEquip; // 18
bool forceEquip; // 19
bool playEquipSounds; // 1A
bool applyNow; // 1B
bool locked; // 1C
bool extraWasDeleted; // 1D
};
static_assert(sizeof(ObjectEquipParams) == 0x20);
}
@@ -0,0 +1,24 @@
#pragma once
namespace RE
{
namespace OtherInputEvents
{
enum class OTHER_EVENT_FLAG
{
kAll = static_cast<std::underlying_type_t<OTHER_EVENT_FLAG>>(-1),
kJournalTabs = 1 << 0,
kActivation = 1 << 1,
kFastTravel = 1 << 2,
kPOVChange = 1 << 3,
kVATS = 1 << 4,
kFavorites = 1 << 5,
kPipboyLight = 1 << 6,
kZKey = 1 << 7,
kRunning = 1 << 8,
kCursor = 1 << 9,
kSprinting = 1 << 10,
};
}
}