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,71 @@
#pragma once
#include "RE/B/BSTEvent.h"
#include "RE/B/BSTHashMap.h"
#include "RE/B/BSTSmartPointer.h"
#include "RE/P/PipboyDataGroup.h"
namespace RE
{
class ConditionBoyEvent;
namespace ActorItemEquipped
{
class Event;
}
namespace ActorValueEvents
{
class ActorValueChangedEvent;
}
namespace BGSInventoryItemEvent
{
class Event;
}
namespace BGSInventoryListEvent
{
class Event;
}
namespace PlayerActiveEffectChanged
{
class Event;
}
class __declspec(novtable) PipboyStatsData :
public PipboyDataGroup, // 00
public BSTEventSink<ActorValueEvents::ActorValueChangedEvent>, // 98
public BSTEventSink<BGSInventoryListEvent::Event>, // A0
public BSTEventSink<PlayerActiveEffectChanged::Event>, // A8
public BSTEventSink<ConditionBoyEvent>, // B0
public BSTEventSink<ActorItemEquipped::Event>, // B8
public BSTEventSink<BGSInventoryItemEvent::Event> // C0
{
public:
static constexpr auto RTTI{ RTTI::PipboyStatsData };
static constexpr auto VTABLE{ VTABLE::PipboyStatsData };
virtual ~PipboyStatsData() = default;
virtual BSEventNotifyControl ProcessEvent(const ActorValueEvents::ActorValueChangedEvent& a_event, BSTEventSource<ActorValueEvents::ActorValueChangedEvent>* a_source); // 01
virtual BSEventNotifyControl ProcessEvent(const BGSInventoryListEvent::Event& a_event, BSTEventSource<BGSInventoryListEvent::Event>* a_source); // 02
virtual BSEventNotifyControl ProcessEvent(const PlayerActiveEffectChanged::Event& a_event, BSTEventSource<PlayerActiveEffectChanged::Event>* a_source); // 03
virtual BSEventNotifyControl ProcessEvent(const ConditionBoyEvent& a_event, BSTEventSource<ConditionBoyEvent>* a_source); // 04
virtual BSEventNotifyControl ProcessEvent(const ActorItemEquipped::Event& a_event, BSTEventSource<ActorItemEquipped::Event>* a_source); // 05
virtual BSEventNotifyControl ProcessEvent(const BGSInventoryItemEvent::Event& a_event, BSTEventSource<BGSInventoryItemEvent::Event>* a_source); // 06
// override
virtual void Populate(bool a_arg1) override; // 07
virtual void DoClearData() override; // 08
virtual void DoClearSink() override; // 09
// members
PipboyObject* playerStatsObject; // C8
PipboyArray* activeEffectsArray; // D0
BSTHashMap<MagicItem*, PipboyObject*> activeEffectsMap; // D8
BSTHashMap<BSTSmartPointer<ActiveEffect>, PipboyObject*> activeEffectEntriesMap; // 108
};
static_assert(sizeof(PipboyStatsData) == 0x138);
}