CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
LooseFileLocation.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/L/Location.h"
5
6namespace RE
7{
8 namespace BSResource
9 {
11 {
12 public:
13 // members
14 void* handle; // 000
18 std::uint64_t entryPos; // 250
19 };
20 static_assert(sizeof(BSSystemDir) == 0x258);
21
23 {
24 public:
25 inline static constexpr auto RTTI = RTTI_BSResource__LooseFileLocation;
26
27 ~LooseFileLocation() override; // 00
28
29 // override (Location)
30 ErrorCode DoCreateStream(const char* a_path, BSTSmartPointer<Stream>& a_stream, Location*& a_location, bool a_readOnly) override; // 03
31 ErrorCode DoCreateAsyncStream(const char* a_path, BSTSmartPointer<AsyncStream>& a_out, Location*& a_location, bool a_readOnly) override; // 04
32 ErrorCode DoTraversePrefix(const char* a_path, LocationTraverser& a_traverser) override; // 05
33 ErrorCode DoGetInfo1(const char* a_path, Info& a_info, Location*& a_location) override; // 06
34 ErrorCode DoGetInfo2(const char* a_path, Info& a_info, LocationTraverser* a_traverser) override; // 07
35 ErrorCode DoDelete(const char* a_path) override; // 08
36 const char* DoGetName() const override; // 09 - { return directory.c_str(); }
37 [[nodiscard]] std::uint32_t DoGetMinimumAsyncPacketSize() const override; // 0B - { return minimumAsyncPacketSize; }
38
39 // members
41 std::uint32_t minimumAsyncPacketSize; // 18
42 bool asyncSupported; // 1C
43 std::uint8_t pad1D; // 1D
44 std::uint16_t pad1E; // 1E
45 };
46 static_assert(sizeof(LooseFileLocation) == 0x20);
47 }
48}
Definition: Location.h:17
Definition: LocationTraverser.h:10
Definition: LooseFileLocation.h:23
bool asyncSupported
Definition: LooseFileLocation.h:42
ErrorCode DoDelete(const char *a_path) override
ErrorCode DoTraversePrefix(const char *a_path, LocationTraverser &a_traverser) override
ErrorCode DoCreateAsyncStream(const char *a_path, BSTSmartPointer< AsyncStream > &a_out, Location *&a_location, bool a_readOnly) override
std::uint16_t pad1E
Definition: LooseFileLocation.h:44
BSFixedString prefix
Definition: LooseFileLocation.h:40
std::uint8_t pad1D
Definition: LooseFileLocation.h:43
std::uint32_t minimumAsyncPacketSize
Definition: LooseFileLocation.h:41
std::uint32_t DoGetMinimumAsyncPacketSize() const override
ErrorCode DoCreateStream(const char *a_path, BSTSmartPointer< Stream > &a_stream, Location *&a_location, bool a_readOnly) override
ErrorCode DoGetInfo1(const char *a_path, Info &a_info, Location *&a_location) override
const char * DoGetName() const override
ErrorCode DoGetInfo2(const char *a_path, Info &a_info, LocationTraverser *a_traverser) override
static constexpr auto RTTI
Definition: LooseFileLocation.h:25
Definition: BSTSmartPointer.h:37
ErrorCode
Definition: ErrorCodes.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSResource__LooseFileLocation
Definition: Offsets_RTTI.h:2129
constexpr auto MAX_PATH
Definition: WinAPI.h:9
Definition: LooseFileLocation.h:11
WinAPI::WIN32_FIND_DATAA findData
Definition: LooseFileLocation.h:15
void * handle
Definition: LooseFileLocation.h:14
char dirPath[WinAPI::MAX_PATH]
Definition: LooseFileLocation.h:16
ErrorCode lastError
Definition: LooseFileLocation.h:17
std::uint64_t entryPos
Definition: LooseFileLocation.h:18
Definition: Info.h:8
Definition: WinAPI.h:43