docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/B/BSFixedString.h"
|
||||
|
||||
namespace RE
|
||||
{
|
||||
class __declspec(novtable) BGSBaseAlias
|
||||
{
|
||||
public:
|
||||
static constexpr auto RTTI{ RTTI::ExtraReferenceHandles };
|
||||
static constexpr auto VTABLE{ VTABLE::ExtraReferenceHandles };
|
||||
|
||||
enum class FLAGS : unsigned
|
||||
{
|
||||
kReserves = 1u << 0,
|
||||
kOptional = 1u << 1,
|
||||
kQuestObject = 1u << 2,
|
||||
kAllowReuse = 1u << 3,
|
||||
kAllowDead = 1u << 4,
|
||||
kLoadedOnly = 1u << 5,
|
||||
kEssential = 1u << 6,
|
||||
kAllowDisabled = 1u << 7,
|
||||
kStoreName = 1u << 8,
|
||||
kAllowReserved = 1u << 9,
|
||||
kProtected = 1u << 10,
|
||||
kForcedFromAlias = 1u << 11,
|
||||
kAllowDestroyed = 1u << 12,
|
||||
kFindPlayerClosest = 1u << 13,
|
||||
kUsesNames = 1u << 14,
|
||||
kInitiallyDisabled = 1u << 15,
|
||||
kAllowCleared = 1u << 16,
|
||||
kClearNameOnRemove = 1u << 17,
|
||||
kActorsOnly = 1u << 18,
|
||||
kTransient = 1u << 19,
|
||||
kExternalLink = 1u << 20,
|
||||
kNoPickPocket = 1u << 21,
|
||||
kDataAlias = 1u << 22,
|
||||
kSceneOptional = 1u << 24,
|
||||
};
|
||||
|
||||
virtual ~BGSBaseAlias(); // 00
|
||||
|
||||
// add
|
||||
virtual bool Load() = 0; // 01
|
||||
virtual void InitItem() = 0; // 02
|
||||
[[nodiscard]] virtual const BSFixedString& QType() const = 0; // 03
|
||||
[[nodiscard]] virtual TESQuest* QExternalQuest() const = 0; // 04
|
||||
virtual void ClearExternalQuest() = 0; // 05
|
||||
virtual void UpdateFromExternalAlias() const = 0; // 06
|
||||
[[nodiscard]] virtual BGSBaseAlias* GetLinkedAlias() const = 0; // 07
|
||||
|
||||
[[nodiscard]] bool IsQuestObject() const noexcept { return flags.all(FLAGS::kQuestObject); }
|
||||
|
||||
// mmebers
|
||||
BSFixedString aliasName; // 08
|
||||
TESQuest* owningQuest; // 10
|
||||
std::uint32_t aliasID; // 18
|
||||
REX::TEnumSet<FLAGS, std::uint32_t> flags; // 1C
|
||||
std::uint16_t fillType; // 20
|
||||
};
|
||||
static_assert(sizeof(BGSBaseAlias) == 0x28);
|
||||
}
|
||||
Reference in New Issue
Block a user