31 lines
1016 B
C++
31 lines
1016 B
C++
#pragma once
|
|
|
|
#include "RE/B/BSStorage.h"
|
|
|
|
namespace RE
|
|
{
|
|
class Win32FileType;
|
|
|
|
class BSMemStorage :
|
|
public BSStorage
|
|
{
|
|
public:
|
|
inline static constexpr auto RTTI = { RTTI::BSMemStorage };
|
|
inline static constexpr auto VTABLE = { VTABLE::BSMemStorage };
|
|
|
|
~BSMemStorage() override; // 00
|
|
|
|
// override BSStorage
|
|
std::size_t GetSize() const override; // 01
|
|
std::size_t GetPosition() const override; // 02
|
|
BSStorageDefs::ErrorCode Seek(std::size_t a_offset, BSStorageDefs::SeekMode a_seekMode) const override; // 03
|
|
BSStorageDefs::ErrorCode Read(std::size_t a_numBytes, std::byte* a_bytes) const override; // 04
|
|
BSStorageDefs::ErrorCode Write(std::size_t a_numBytes, const std::byte* a_bytes) override; // 05
|
|
|
|
// members
|
|
Win32FileType* file; // 20
|
|
std::uint64_t unk28; // 28
|
|
};
|
|
static_assert(sizeof(BSMemStorage) == 0x30);
|
|
}
|