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,52 @@
#pragma once
#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSResource_ID.h"
#include "RE/B/BSTArray.h"
#include "RE/B/BSTEvent.h"
#include "RE/B/BSTempEffect.h"
#include "RE/N/NiMatrix3.h"
#include "RE/N/NiPoint3.h"
#include "RE/N/NiPointer.h"
#include "RE/N/NiQuaternion.h"
namespace RE
{
class bhkWorld;
class PositionPlayerEvent;
class __declspec(novtable) BSTerrainEffect :
public BSTempEffect, // 00
public BSTEventSink<PositionPlayerEvent> // 30
{
public:
static constexpr auto RTTI{ RTTI::BSTerrainEffect };
static constexpr auto VTABLE{ VTABLE::BSTerrainEffect };
static constexpr auto TYPE{ TEMP_EFFECT_TYPE::kTerrain };
class BoneAdjustment
{
public:
// members
NiMatrix3 rotation; // 00
NiAVObject* pBone; // 30
float fZOffset; // 38
};
static_assert(sizeof(BoneAdjustment) == 0x40);
~BSTerrainEffect() override;
// members
NiQuaternion orientation; // 38
NiPoint3 position; // 48
BSTArray<BoneAdjustment> terrainAdjustments; // 58
BSTArray<BoneAdjustment> dynamicAdjustments; // 70
NiPointer<NiNode> model; // 88
BSResource::ID modelID; // 90
ObjectRefHandle target; // 9C
NiPointer<bhkWorld> physWorld; // A0
std::uint32_t physGroup; // A8
NiPointer<NiAVObject> followNode; // B0
};
static_assert(sizeof(BSTerrainEffect) == 0xB8);
}