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 // members
94 BGSSaveLoadChangesMap* saveLoadChanges; // 330
95 std::uint64_t unk338; // 338
97 std::uint8_t currentMinorVersion; // 344
98 };
99 static_assert(sizeof(BGSSaveLoadGame) == 0x348);
100}
#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:85
BSTArray< void * > unk18
Definition BGSSaveLoadGame.h:84
BSTArray< TESFile * > pluginList
Definition BGSSaveLoadGame.h:83
bool GetChange(TESForm *a_form, std::uint32_t a_changes)
Definition BGSSaveLoadGame.h:75
Flags
Definition BGSSaveLoadGame.h:59
BGSSaveLoadReferencesMap unkC8
Definition BGSSaveLoadGame.h:87
BGSSaveLoadQueuedSubBufferMap queuedSubBuffersMap
Definition BGSSaveLoadGame.h:90
BSTArray< void * > saveLoadHistory
Definition BGSSaveLoadGame.h:92
REX::EnumSet< Flags, std::uint32_t > flags
Definition BGSSaveLoadGame.h:96
BGSSaveLoadChangesMap * saveLoadChanges
Definition BGSSaveLoadGame.h:94
BSTHashMap< FormID, ActorHandle > unk98
Definition BGSSaveLoadGame.h:86
BGSConstructFormsInAllFilesMap reconstructFormsMap
Definition BGSSaveLoadGame.h:89
BSTHashMap< FormID, FormID > unk158
Definition BGSSaveLoadGame.h:88
static BGSSaveLoadGame * GetSingleton()
Definition BGSSaveLoadGame.h:69
BSTArray< void * > unk318
Definition BGSSaveLoadGame.h:93
std::uint64_t unk338
Definition BGSSaveLoadGame.h:95
BGSSaveLoadFormIDMap formIDMap
Definition BGSSaveLoadGame.h:91
std::uint8_t currentMinorVersion
Definition BGSSaveLoadGame.h:97
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