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,77 @@
#pragma once
#include "RE/S/SCENE_ACTION_TYPE.h"
#include "RE/T/TESCondition.h"
namespace RE
{
class __declspec(novtable) BGSSceneAction
{
public:
static constexpr auto RTTI{ RTTI::BGSSceneAction };
static constexpr auto VTABLE{ VTABLE::BGSSceneAction };
class STARTSCENEACTIONDATA
{
public:
BGSScene* pScene;
std::uint16_t sceneStartPhase;
TESQuest* parentQuest;
TESCondition sceneConditions;
};
enum class Flag
{
kPlayerUseDialogueSubtypePositive = 1 << 7,
kPlayerUseDialogueSubtypeNegative = 1 << 8,
kPlayerUseDialogueSubtypeNeutral = 1 << 9,
kUseDialogueSubtype = 1 << 10,
kPlayerUseDialogueSubtypeQuestion = 1 << 11,
kFaceTaget = 1 << 15,
kHeadTrackPlayer = 1 << 17,
kIngoreForCompletion = 1 << 19,
kCameraSpeakerTarget = 1 << 21
};
enum class Status
{
kStopped = 0x0,
kRunning = 0x1,
kComplete = 0x2
};
virtual ~BGSSceneAction(); // 00
// add
virtual void Load(void); // 01
virtual void InitItem(void); // 02
virtual void OnDelete(void); // 03
virtual void ClearData(void); // 04
virtual void Copy(void); // 05
virtual bool QIsLooping(void); // 06
virtual bool QFaceHeadTrackTarget(const BGSScene* scene); // 07
virtual SCENE_ACTION_TYPE GetActionType() const = 0; // 08
virtual bool QActionCanEnd(); // 09
virtual bool IsPackageActive(BGSScene* scene, TESPackage* package, Actor* actor); // 0A
virtual void LoadGame(void); // 0B
virtual void SaveGame(void); // 0C
virtual void Revert(void); // 0D
virtual void InitLoadGame(void); // 0E
virtual void ResetActionData(void); // 0F
virtual void SetInput(void); // 10
virtual float GetActionPercentDone(const BGSScene* scene); // 11
virtual void StartAction(BGSScene* scene); // 12
virtual void EndAction(BGSScene* scene); // 13
virtual void CleanUpActionActor(BGSScene* scene); // 14
virtual void UpdateAction(BGSScene* scene); // 14
// members
std::uint32_t actorID; // 08
std::uint16_t startPhase; // 0C
std::uint16_t endPhase; // 0E
REX::TEnumSet<Flag, std::uint32_t> flags; // 10
REX::TEnumSet<Status, std::uint8_t> status; // 14
std::uint32_t uniqueID; // 18
};
static_assert(sizeof(BGSSceneAction) == 0x20);
}