CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
CompressedArchiveStream.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 namespace BSResource
8 {
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_BSResource__CompressedArchiveStream;
13 inline static constexpr auto VTABLE = VTABLE_BSResource__CompressedArchiveStream;
14
15 struct Data
16 {
17 std::uint64_t unk00; // 00
18 std::uint32_t compressedEndOffset; // 08
19 std::uint32_t decompressedOffset; // 0C
20 std::uint32_t decompressedEndOffset; // 10
21 std::uint32_t decompressedSize; // 14
22 void* decompressedBuffer; // 18
23 std::uint64_t unk20; // 20
24 };
25 static_assert(sizeof(Data) == 0x28);
26
27 ~CompressedArchiveStream() override; // 00
28
29 // override (ArchiveStream)
30 ErrorCode DoOpen() override; // 01
31 void DoClose() override; // 02
32 void DoClone(BSTSmartPointer<Stream>& a_out) const override; // 05
33 ErrorCode DoRead(void* a_buffer, std::uint64_t a_toRead, std::uint64_t& a_read) const override; // 06
34 ErrorCode DoSeek(std::uint64_t a_toSeek, SeekMode a_mode, std::uint64_t& a_sought) const override; // 08
35 ErrorCode DoCreateAsync(BSTSmartPointer<AsyncStream>& a_streamOut) const override; // 0B
36 std::uint32_t DoGetSize() const override; // 0C
37
38 // members
39 Data* data; // 28
40 std::uint32_t totalRead; // 30
41 std::uint32_t unk34; // 34
42 };
43#ifdef SKYRIM_SUPPORT_AE
44 static_assert(sizeof(CompressedArchiveStream) == 0x40);
45#else
46 static_assert(sizeof(CompressedArchiveStream) == 0x38);
47#endif
48 }
49}
Definition ArchiveStream.h:10
Definition CompressedArchiveStream.h:10
static constexpr auto RTTI
Definition CompressedArchiveStream.h:12
void DoClone(BSTSmartPointer< Stream > &a_out) const override
std::uint32_t unk34
Definition CompressedArchiveStream.h:41
std::uint32_t totalRead
Definition CompressedArchiveStream.h:40
ErrorCode DoSeek(std::uint64_t a_toSeek, SeekMode a_mode, std::uint64_t &a_sought) const override
ErrorCode DoRead(void *a_buffer, std::uint64_t a_toRead, std::uint64_t &a_read) const override
Data * data
Definition CompressedArchiveStream.h:39
static constexpr auto VTABLE
Definition CompressedArchiveStream.h:13
std::uint32_t DoGetSize() const override
ErrorCode DoCreateAsync(BSTSmartPointer< AsyncStream > &a_streamOut) const override
Definition BSTSmartPointer.h:37
ErrorCode
Definition ErrorCodes.h:8
SeekMode
Definition Stream.h:14
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_BSResource__CompressedArchiveStream(static_cast< std::uint64_t >(690348))
constexpr std::array< REL::ID, 1 > VTABLE_BSResource__CompressedArchiveStream
Definition Offsets_VTABLE.h:9388
Definition CompressedArchiveStream.h:16
std::uint32_t decompressedEndOffset
Definition CompressedArchiveStream.h:20
std::uint64_t unk00
Definition CompressedArchiveStream.h:17
void * decompressedBuffer
Definition CompressedArchiveStream.h:22
std::uint64_t unk20
Definition CompressedArchiveStream.h:23
std::uint32_t compressedEndOffset
Definition CompressedArchiveStream.h:18
std::uint32_t decompressedSize
Definition CompressedArchiveStream.h:21
std::uint32_t decompressedOffset
Definition CompressedArchiveStream.h:19