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,59 @@
#pragma once
#include "RE/B/BSSoundHandle.h"
#include "RE/B/BSTEvent.h"
#include "RE/G/GameMenuBase.h"
namespace RE
{
class MenuOpenCloseEvent;
class __declspec(novtable) HolotapeMenu :
public GameMenuBase, // 00
public BSTEventSink<MenuOpenCloseEvent> // E0
{
public:
static constexpr auto RTTI{ RTTI::HolotapeMenu };
static constexpr auto VTABLE{ VTABLE::HolotapeMenu };
static constexpr auto MENU_NAME{ "HolotapeMenu"sv };
virtual ~HolotapeMenu(); // 00
// override (GameMenuBase)
virtual void Call(const Params&) override; // 01
virtual void MapCodeObjectFunctions() override; // 02
virtual bool CanHandleWhenDisabled(const ButtonEvent* a_event) override; // 0E
virtual bool OnButtonEventRelease(const BSFixedString& a_eventName) override; // 0F
// add
virtual void ProcessCancel() = 0; // 14
virtual void ProcessChatterImpl(const Params&); // 15
// override (BSInputEventUser)
virtual bool ShouldHandleEvent(const InputEvent* a_event) override; // 01
virtual void OnThumbstickEvent(const ThumbstickEvent* a_event) override; // 04
// override (BSTEventSink)
virtual BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent& a_event, BSTEventSource<MenuOpenCloseEvent>* a_source) override; // 01
static void ShowHolotapeInPipboy(const BSFixedString& a_holotapePath)
{
using func_t = decltype(&HolotapeMenu::ShowHolotapeInPipboy);
static REL::Relocation<func_t> func{ ID::HolotapeMenu::ShowHolotapeInPipboy };
return func(a_holotapePath);
}
static void ShowHolotapeInTerminal(const BSFixedString& a_holotapePath)
{
using func_t = decltype(&HolotapeMenu::ShowHolotapeInTerminal);
static REL::Relocation<func_t> func{ ID::HolotapeMenu::ShowHolotapeInTerminal };
return func(a_holotapePath);
}
// members
BSTArray<BSSoundHandle> registeredSounds; // 0E8
bool useOwnCursor; // 100
bool isMinigame; // 101
};
static_assert(sizeof(HolotapeMenu) == 0x108);
}