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,41 @@
#pragma once
#include "RE/B/BSFixedString.h"
#include "RE/B/BSTHashMap.h"
namespace RE
{
enum class INPUT_DEVICE;
class __declspec(novtable) BSInputDevice
{
public:
static constexpr auto RTTI{ RTTI::BSInputDevice };
static constexpr auto VTABLE{ VTABLE::BSInputDevice };
class InputButton
{
public:
// members
BSFixedStringCS name; // 00
float heldDownSecs; // 08
std::uint32_t keyCode; // 0C
};
static_assert(sizeof(InputButton) == 0x10);
// add
virtual void Initialize() = 0; // 00
virtual void Poll(float a_pollDelta) = 0; // 01
virtual void Shutdown() = 0; // 02
virtual bool IsConnected() const { return true; } // 03
virtual ~BSInputDevice(); // 04
virtual void ClearInputState() = 0; // 05
// members
REX::TEnumSet<INPUT_DEVICE, std::int32_t> deviceType; // 08
std::int32_t deviceID; // 0C
BSTHashMap<std::uint32_t, InputButton*> deviceButtons; // 10
BSTHashMap<BSFixedStringCS, std::uint32_t> buttonNameIDMap; // 40
};
static_assert(sizeof(BSInputDevice) == 0x70);
}