docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/B/BSResource_ErrorCode.h"
|
||||
#include "RE/B/BSTSmartPointer.h"
|
||||
#include "RE/M/MemoryManager.h"
|
||||
|
||||
namespace RE::BSResource
|
||||
{
|
||||
class AsyncStream;
|
||||
class Info;
|
||||
class LocationTraverser;
|
||||
class Stream;
|
||||
|
||||
class __declspec(novtable) Location
|
||||
{
|
||||
public:
|
||||
static constexpr auto RTTI{ RTTI::BSResource__Location };
|
||||
static constexpr auto VTABLE{ VTABLE::BSResource__Location };
|
||||
|
||||
virtual ~Location() {} // 00
|
||||
|
||||
// add
|
||||
virtual ErrorCode DoMount() { return ErrorCode::kNone; } // 01
|
||||
virtual void DoUnmount() { return; } // 02
|
||||
virtual ErrorCode DoCreateStream(const char* a_path, BSTSmartPointer<Stream>& a_result, Location*& a_location, bool a_writable, LocationTraverser* a_traverser) = 0; // 03
|
||||
virtual ErrorCode DoCreateAsyncStream(
|
||||
[[maybe_unused]] const char* a_path,
|
||||
[[maybe_unused]] BSTSmartPointer<AsyncStream>& a_result,
|
||||
[[maybe_unused]] Location*& a_location,
|
||||
[[maybe_unused]] bool a_writable,
|
||||
[[maybe_unused]] LocationTraverser* a_traverser) { return ErrorCode::kUnsupported; } // 04
|
||||
virtual ErrorCode DoTraversePrefix(char const* a_prefix, LocationTraverser& a_traverser) = 0; // 05
|
||||
virtual ErrorCode DoGetInfo(
|
||||
[[maybe_unused]] char const* a_path,
|
||||
[[maybe_unused]] Info& a_result,
|
||||
[[maybe_unused]] LocationTraverser* a_traverser) { return ErrorCode::kUnsupported; } // 07
|
||||
virtual ErrorCode DoGetInfo(
|
||||
[[maybe_unused]] char const* a_path,
|
||||
[[maybe_unused]] Info& a_result,
|
||||
[[maybe_unused]] Location*& a_location) { return ErrorCode::kUnsupported; } // 06
|
||||
virtual ErrorCode DoDelete(
|
||||
[[maybe_unused]] char const* a_path) { return ErrorCode::kUnsupported; } // 08
|
||||
[[nodiscard]] virtual char const* DoGetName() const { return nullptr; } // 09
|
||||
[[nodiscard]] virtual std::uint32_t DoQBufferHint() const { return 0x10000; } // 0A
|
||||
[[nodiscard]] virtual std::uint32_t DoGetMinimumAsyncPacketSize() const { return 0x10000; } // 0B
|
||||
|
||||
F4_HEAP_REDEFINE_NEW(Location);
|
||||
|
||||
// members
|
||||
bool mounted; // 08
|
||||
};
|
||||
static_assert(sizeof(Location) == 0x10);
|
||||
}
|
||||
Reference in New Issue
Block a user