CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
BSSaveDataSystemUtility.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSString.h"
5#include "RE/B/BSTEvent.h"
6
7namespace RE
8{
9 class BSSaveDataEvent;
10
12 public BSTEventSource<BSSaveDataEvent> // 008
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_BSSaveDataSystemUtility;
16 inline static constexpr auto VTABLE = VTABLE_BSSaveDataSystemUtility;
17
18 class Entry
19 {
20 public:
21 inline static constexpr auto RTTI = RTTI_BSSaveDataSystemUtility__Entry;
22 inline static constexpr auto VTABLE = VTABLE_BSSaveDataSystemUtility__Entry;
23
24 virtual void Read(const char* a_path); // 00
25
26 enum class SaveType : std::uint32_t
27 {
28 kAutosave = 0x0,
29 kSave = 0x1,
30 kQuicksave = 0x2,
31 kCustom = 0x3
32 };
33
34 // members
35 const char fileName[0x104]; // 008
36 std::uint32_t pad0C; // 00C
38 std::uint64_t unk120; // 120
39 std::uint32_t unk128; // 128
40 std::uint32_t pad12C; // 12C
44 std::uint64_t unk160; // 160
45 std::uint32_t unk168; // 168
46 std::uint32_t pad16C; // 16C
47 std::uint64_t unk170; // 170
48 std::uint32_t unk178; // 178
49 std::uint32_t saveNumber; // 17C
50 std::uint32_t characterID; // 180
51 std::uint32_t unk184; // 184
52 bool fileNameValid; // 188
53 bool modded; // 189
54 std::uint8_t unk18A; // 18A
55 std::uint8_t pad18B; // 18B
56 std::uint32_t pad18C; // 18C
59 std::uint32_t pad19C; // 19C
60 };
61 static_assert(sizeof(Entry) == 0x1A0);
62
63 virtual ~BSSaveDataSystemUtility(); // 00
64
65 // add
66 virtual bool CreateSaveDirectory(const char* a_pathName, bool a_ignoreINI) = 0; // 01
67 virtual errno_t PrepareFileSavePath(const char* a_fileName, char* a_dst, bool a_tmpSave, bool a_ignoreINI) = 0; // 02 - a_dst must be 0x104 in length
68 virtual void Unk_03(void); // 03 - { return Unk_04(); }
69 virtual void Unk_04(void); // 04 - { return; }
70 virtual void Unk_05(void); // 05
71 virtual void Unk_06(void) = 0; // 06
72 virtual void Unk_07(void); // 07
73 virtual void Unk_08(void); // 08 - { return; }
74 virtual void Unk_09(void); // 09 - { return; }
75 virtual void Unk_0A(void); // 0A
76 virtual void Unk_0B(void); // 0B - { return; }
77 virtual void Unk_0C(void); // 0C
78 virtual void Unk_0D(void); // 0D - { return; }
79 virtual void Unk_0E(void); // 0E - { return 1; }
80 virtual void Unk_0F(void); // 0F - { return 1; }
81 virtual void Unk_10(void); // 10 - { return 0; }
82 virtual void Unk_11(void); // 11 - { return; }
83
84 // members
85 std::uint8_t unk060; // 060
86 std::uint8_t pad061; // 061
87 std::uint16_t pad062; // 062
88 std::uint32_t currentCharacterID; // 064
89 std::uint8_t unk068; // 068
90 std::uint8_t pad069; // 069
91 std::uint16_t pad06A; // 06A
92 std::uint32_t pad06C; // 06C
93 Entry entry; // 070
94 std::uint32_t unk210; // 210
95 std::uint32_t pad214; // 214
96 std::uint64_t unk218; // 218
97 std::uint64_t unk220; // 220
98 };
99 static_assert(sizeof(BSSaveDataSystemUtility) == 0x228);
100}
Definition EnumSet.h:9
Definition BSSaveDataSystemUtility.h:19
BSString characterName
Definition BSSaveDataSystemUtility.h:43
REX::EnumSet< SaveType, std::uint32_t > saveType
Definition BSSaveDataSystemUtility.h:58
bool fileNameValid
Definition BSSaveDataSystemUtility.h:52
std::uint8_t pad18B
Definition BSSaveDataSystemUtility.h:55
std::uint32_t characterID
Definition BSSaveDataSystemUtility.h:50
std::uint8_t unk18A
Definition BSSaveDataSystemUtility.h:54
std::uint32_t pad19C
Definition BSSaveDataSystemUtility.h:59
std::uint64_t unk160
Definition BSSaveDataSystemUtility.h:44
std::uint32_t unk168
Definition BSSaveDataSystemUtility.h:45
std::uint32_t pad12C
Definition BSSaveDataSystemUtility.h:40
std::uint32_t unk184
Definition BSSaveDataSystemUtility.h:51
const char fileName[0x104]
Definition BSSaveDataSystemUtility.h:35
std::uint32_t pad0C
Definition BSSaveDataSystemUtility.h:36
BSString unk140
Definition BSSaveDataSystemUtility.h:42
bool modded
Definition BSSaveDataSystemUtility.h:53
std::uint32_t saveNumber
Definition BSSaveDataSystemUtility.h:49
std::uint32_t pad18C
Definition BSSaveDataSystemUtility.h:56
std::uint64_t unk120
Definition BSSaveDataSystemUtility.h:38
BSString fileNamePtr
Definition BSSaveDataSystemUtility.h:37
static constexpr auto RTTI
Definition BSSaveDataSystemUtility.h:21
std::uint64_t unk170
Definition BSSaveDataSystemUtility.h:47
BSString locationName
Definition BSSaveDataSystemUtility.h:41
std::uint32_t pad16C
Definition BSSaveDataSystemUtility.h:46
BSFixedString saveTypeName
Definition BSSaveDataSystemUtility.h:57
SaveType
Definition BSSaveDataSystemUtility.h:27
std::uint32_t unk128
Definition BSSaveDataSystemUtility.h:39
virtual void Read(const char *a_path)
std::uint32_t unk178
Definition BSSaveDataSystemUtility.h:48
static constexpr auto VTABLE
Definition BSSaveDataSystemUtility.h:22
Definition BSSaveDataSystemUtility.h:13
virtual void Unk_06(void)=0
virtual void Unk_11(void)
static constexpr auto VTABLE
Definition BSSaveDataSystemUtility.h:16
virtual void Unk_04(void)
virtual void Unk_0B(void)
virtual void Unk_0E(void)
virtual void Unk_0A(void)
std::uint8_t unk068
Definition BSSaveDataSystemUtility.h:89
std::uint8_t pad061
Definition BSSaveDataSystemUtility.h:86
virtual void Unk_0C(void)
std::uint64_t unk220
Definition BSSaveDataSystemUtility.h:97
std::uint32_t currentCharacterID
Definition BSSaveDataSystemUtility.h:88
virtual void Unk_0F(void)
Entry entry
Definition BSSaveDataSystemUtility.h:93
virtual bool CreateSaveDirectory(const char *a_pathName, bool a_ignoreINI)=0
virtual void Unk_03(void)
std::uint8_t pad069
Definition BSSaveDataSystemUtility.h:90
virtual void Unk_07(void)
virtual void Unk_10(void)
virtual void Unk_05(void)
std::uint16_t pad062
Definition BSSaveDataSystemUtility.h:87
static constexpr auto RTTI
Definition BSSaveDataSystemUtility.h:15
std::uint32_t unk210
Definition BSSaveDataSystemUtility.h:94
std::uint64_t unk218
Definition BSSaveDataSystemUtility.h:96
std::uint16_t pad06A
Definition BSSaveDataSystemUtility.h:91
std::uint32_t pad214
Definition BSSaveDataSystemUtility.h:95
virtual void Unk_08(void)
std::uint8_t unk060
Definition BSSaveDataSystemUtility.h:85
virtual void Unk_09(void)
std::uint32_t pad06C
Definition BSSaveDataSystemUtility.h:92
virtual errno_t PrepareFileSavePath(const char *a_fileName, char *a_dst, bool a_tmpSave, bool a_ignoreINI)=0
virtual void Unk_0D(void)
Definition BSTEvent.h:19
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_BSSaveDataSystemUtility(static_cast< std::uint64_t >(692123))
constexpr std::array< REL::ID, 1 > VTABLE_BSSaveDataSystemUtility
Definition Offsets_VTABLE.h:9426
constexpr REL::ID RTTI_BSSaveDataSystemUtility__Entry(static_cast< std::uint64_t >(692125))
constexpr std::array< REL::ID, 1 > VTABLE_BSSaveDataSystemUtility__Entry
Definition Offsets_VTABLE.h:9428