Files
2026-05-30 18:33:24 +12:00

38 lines
1014 B
C++

#pragma once
#include "RE/B/BGSSaveLoadBuffer.h"
namespace RE
{
class Actor;
class TESForm;
class TESObjectREFR;
class __declspec(novtable) BGSSaveGameBuffer
{
public:
static constexpr auto RTTI{ RTTI::BGSSaveGameBuffer };
static constexpr auto VTABLE{ VTABLE::BGSSaveGameBuffer };
virtual ~BGSSaveGameBuffer(); // 00
// add
virtual TESForm* GetForm(); // 01 - { return nullptr; }
virtual TESObjectREFR* GetReference(); // 02 - { return nullptr; }
virtual Actor* GetActor(); // 03 - { return nullptr; }
void SaveDataEndian(const void* a_data, std::uint32_t a_size)
{
using func_t = decltype(&BGSSaveGameBuffer::SaveDataEndian);
static REL::Relocation<func_t> func{ ID::BGSSaveGameBuffer::SaveDataEndian };
return func(this, a_data, a_size);
}
// members
BGSSaveLoadBuffer buffer; // 008
std::uint32_t size; // 010
std::uint32_t bufferPosition; // 014
};
static_assert(sizeof(BGSSaveGameBuffer) == 0x18);
}