CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
BGSSaveLoadGame.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTArray.h"
5#include "RE/B/BSTHashMap.h"
6
7namespace RE
8{
9 class BGSCellFormIDArrayMap;
10 class BGSConstructFormsInFileMap;
11 class BGSSaveLoadChangesMap;
12 class TESFile;
13 class TESForm;
14 struct BGSLoadGameSubBuffer;
15
17 {
18 public:
19 // members
22 std::uint32_t unk60; // 60
23 std::uint32_t pad64; // 64
24 };
25 static_assert(sizeof(BGSSaveLoadFormIDMap) == 0x68);
26
35 static_assert(sizeof(BGSSaveLoadReferencesMap) == 0x90);
36
38 {
39 public:
40 // members
43 std::uint32_t unk78; // 78
44 };
45 static_assert(sizeof(BGSConstructFormsInAllFilesMap) == 0x80);
46
53 static_assert(sizeof(BGSSaveLoadQueuedSubBufferMap) == 0x90);
54
56 {
57 public:
58 enum class Flags
59 {
60 kGlobalAllowChanges = 1 << 0,
61 kLoading = 1 << 1,
62 kSaving = 1 << 2,
63 kInitingForms = 1 << 3,
64 kDeferInitForms = 1 << 4,
65 kPositioningPlayer = 1 << 5,
67 };
68
70 {
71 static REL::Relocation<BGSSaveLoadGame**> singleton{ RELOCATION_ID(516851, 403330) };
72 return *singleton;
73 }
74
75 bool GetChange(TESForm* a_form, std::uint32_t a_changes)
76 {
77 using func_t = decltype(&BGSSaveLoadGame::GetChange);
78 static REL::Relocation<func_t> func{ RELOCATION_ID(34655, 35577) };
79 return func(this, a_form, a_changes);
80 }
81
82 bool IsFormIDInUse(FormID a_formID)
83 {
84 using func_t = decltype(&BGSSaveLoadGame::IsFormIDInUse);
85 static REL::Relocation<func_t> func{ RELOCATION_ID(34670, 35593) };
86 return func(this, a_formID);
87 }
88
89 // members
101 BGSSaveLoadChangesMap* saveLoadChanges; // 330
102 std::uint64_t unk338; // 338
104 std::uint8_t currentMinorVersion; // 344
105 };
106 static_assert(sizeof(BGSSaveLoadGame) == 0x348);
107}
#define RELOCATION_ID(SE, AE)
Definition PCH.h:506
Definition Relocation.h:210
Definition EnumSet.h:9
Definition BGSSaveLoadGame.h:38
std::uint32_t unk78
Definition BGSSaveLoadGame.h:43
BSTArray< void * > unk30[3]
Definition BGSSaveLoadGame.h:42
BSTHashMap< TESFile *, BGSConstructFormsInFileMap * > unk00
Definition BGSSaveLoadGame.h:41
Definition BGSSaveLoadGame.h:17
std::uint32_t pad64
Definition BGSSaveLoadGame.h:23
BSTHashMap< FormID, FormID > unk30
Definition BGSSaveLoadGame.h:21
std::uint32_t unk60
Definition BGSSaveLoadGame.h:22
BSTHashMap< FormID, FormID > unk00
Definition BGSSaveLoadGame.h:20
Definition BGSSaveLoadGame.h:56
BGSSaveLoadFormIDMap worldspaceFormIDMap
Definition BGSSaveLoadGame.h:92
BSTArray< void * > unk18
Definition BGSSaveLoadGame.h:91
BSTArray< TESFile * > pluginList
Definition BGSSaveLoadGame.h:90
bool GetChange(TESForm *a_form, std::uint32_t a_changes)
Definition BGSSaveLoadGame.h:75
Flags
Definition BGSSaveLoadGame.h:59
BGSSaveLoadReferencesMap unkC8
Definition BGSSaveLoadGame.h:94
bool IsFormIDInUse(FormID a_formID)
Definition BGSSaveLoadGame.h:82
BGSSaveLoadQueuedSubBufferMap queuedSubBuffersMap
Definition BGSSaveLoadGame.h:97
BSTArray< void * > saveLoadHistory
Definition BGSSaveLoadGame.h:99
REX::EnumSet< Flags, std::uint32_t > flags
Definition BGSSaveLoadGame.h:103
BGSSaveLoadChangesMap * saveLoadChanges
Definition BGSSaveLoadGame.h:101
BSTHashMap< FormID, ActorHandle > unk98
Definition BGSSaveLoadGame.h:93
BGSConstructFormsInAllFilesMap reconstructFormsMap
Definition BGSSaveLoadGame.h:96
BSTHashMap< FormID, FormID > unk158
Definition BGSSaveLoadGame.h:95
static BGSSaveLoadGame * GetSingleton()
Definition BGSSaveLoadGame.h:69
BSTArray< void * > unk318
Definition BGSSaveLoadGame.h:100
std::uint64_t unk338
Definition BGSSaveLoadGame.h:102
BGSSaveLoadFormIDMap formIDMap
Definition BGSSaveLoadGame.h:98
std::uint8_t currentMinorVersion
Definition BGSSaveLoadGame.h:104
Definition BGSSaveLoadGame.h:48
BSTHashMap< TESForm *, BGSLoadGameSubBuffer > queuedSubBuffers[3]
Definition BGSSaveLoadGame.h:51
Definition BGSSaveLoadGame.h:28
BSTHashMap< FormID, BSTArray< FormID > > unk30
Definition BGSSaveLoadGame.h:32
BSTHashMap< FormID, FormID > unk00
Definition BGSSaveLoadGame.h:31
BSTHashMap< FormID, BGSCellFormIDArrayMap * > unk60
Definition BGSSaveLoadGame.h:33
Definition BSTArray.h:378
Definition BSTHashMap.h:21
Definition TESForm.h:36
Definition AbsorbEffect.h:6
std::uint32_t FormID
Definition BSCoreTypes.h:5