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,15 @@
#pragma once
namespace RE
{
class QUEST_DATA
{
public:
// members
float questDelayTime; // 00
std::uint16_t flags; // 04
std::int8_t priority; // 06
std::int8_t questType; // 07
};
static_assert(sizeof(QUEST_DATA) == 0x8);
}
@@ -0,0 +1,14 @@
#pragma once
namespace RE
{
enum class QUEST_OBJECTIVE_STATE : std::int32_t
{
kDormant = 0x0,
kDisplayed = 0x1,
kCompleted = 0x2,
kCompletedDisplayed = 0x3,
kFailed = 0x4,
kFailedDisplayed = 0x5,
};
}
@@ -0,0 +1,21 @@
#pragma once
namespace RE
{
class QUEST_STAGE_DATA
{
public:
enum class Flags
{
kDone = 0x1,
kStartUp = 0x2,
kShutDown = 0x4,
kKeepInstance = 0x8
};
// members
std::uint16_t index; // 00
REX::TEnumSet<QUEST_STAGE_DATA::Flags, std::uint8_t> flags; // 02
};
static_assert(sizeof(QUEST_STAGE_DATA) == 0x4);
}
@@ -0,0 +1,22 @@
#pragma once
namespace RE
{
enum class QUEST_TAB
{
kQuestData = 0x0,
kQuestStages = 0x1,
kQuestObjectives = 0x2,
kQuestAliases = 0x3,
kTopic = 0x4,
kCommandDialogue = 0x5,
kScenes = 0x6,
kSceneCollections = 0x7,
kCombat = 0x8,
kFavors = 0x9,
kDetection = 0xA,
kService = 0xB,
kMisc = 0xC,
kQuestScripts = 0xD
};
}
@@ -0,0 +1,19 @@
#pragma once
namespace RE
{
enum class QUEST_TYPE : std::int32_t
{
kNone = 0x0,
kMainquest = 0x1,
kBrotherhood = 0x2,
kInstitue = 0x3,
kMinutemen = 0x4,
kRailroad = 0x5,
kMiscellaneous = 0x6,
kSidequests = 0x7,
kDLC01 = 0x8,
kDLC02 = 0x9,
kDLC03 = 0xA
};
}
@@ -0,0 +1,25 @@
#pragma once
namespace RE
{
enum class QuestFlag : std::int32_t
{
kEnabled = 0x1,
kCompleted = 0x2,
kAddIdleToHello = 0x4,
kAllowRepeatStages = 0x8,
kStartsEnabled = 0x10,
kDisplayedInHUD = 0x20,
kFailed = 0x40,
kStageWait = 0x80,
kRunOnce = 0x100,
kExcludedFromExport = 0x200,
kWarnOnAliasFillFailure = 0x400,
kActive = 0x800,
kRepeatsConditions = 0x1000,
kKeepInstance = 0x2000,
kWantDormant = 0x4000,
kHasDialogueData = 0x8000,
kNonSaveFlags = 0x970C
};
}
@@ -0,0 +1,16 @@
#pragma once
namespace RE
{
enum class QuickContainerMode : std::int32_t
{
kLoot = 0x0,
kTeammate = 0x1,
kPowerArmor = 0x2,
kTurret = 0x3,
kWorkshop = 0x4,
kCrafting = 0x5,
kStealing = 0x6,
kStealingPowerArmor = 0x7
};
}
@@ -0,0 +1,34 @@
#pragma once
#include "RE/B/BSFixedString.h"
#include "RE/B/BSPointerHandle.h"
#include "RE/B/BSTArray.h"
#include "RE/I/InventoryItemDisplayData.h"
namespace RE
{
enum class QuickContainerMode;
class QuickContainerStateData
{
public:
// members
BSTSmallArray<InventoryItemDisplayData, 5> itemData; // 00
ObjectRefHandle containerRef; // 88
ObjectRefHandle inventoryRef; // 8C
BSFixedStringCS aButtonText; // 90
BSFixedString containerName; // 98
BSFixedStringCS perkButtonText; // A0
std::int32_t selectedClipIndex; // A8
REX::TEnumSet<QuickContainerMode, std::int32_t> mode; // AC
bool perkButtonEnabled; // B0
bool isNewContainer; // B1
bool addedDroppedItems; // B2
bool isLocked; // B3
bool buttonAEnabled; // B4
bool buttonXEnabled; // B5
bool refreshContainerSize; // B6
bool containerActivated; // B7
};
static_assert(sizeof(QuickContainerStateData) == 0xB8);
}
@@ -0,0 +1,14 @@
#pragma once
#include "RE/B/BSTEvent.h"
#include "RE/Q/QuickContainerStateData.h"
namespace RE
{
class QuickContainerStateEvent :
public BSTValueEvent<QuickContainerStateData> // 00
{
public:
};
static_assert(sizeof(QuickContainerStateEvent) == 0xC0);
}