CommonLibSSE NG
Loading...
Searching...
No Matches
Main.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTEvent.h"
5#include "RE/S/ScrapHeap.h"
6
7namespace RE
8{
9 class NiNode;
10 class NiCamera;
11 class Scenegraph;
12 class ScrapHeap;
13 struct BSGamerProfileEvent;
14 struct BSPackedTask;
15 struct PositionPlayerEvent;
16
18 {
19 public:
20 using UnpackFunc_t = void(const BSPackedTask*);
21
22 struct Semaphore
23 {
24 public:
25 // members
26 void* handle; // 00
27 std::uint32_t size; // 08
28 std::uint32_t capacity; // 0C
29 };
30 static_assert(sizeof(Semaphore) == 0x10);
31
32 // members
34 mutable Semaphore semaphore; // 28
36 };
37 static_assert(sizeof(BSPackedTaskQueue) == 0x40);
38
40 {
41 public:
42 // members
43 std::uint32_t size; // 00
44 std::uint32_t width; // 04
45 std::uint32_t height; // 08
46 std::uint32_t pad0C; // 0C
47 char* buffer; // 10
48 };
49 static_assert(sizeof(BSSaveDataSystemUtilityImage) == 0x18);
50
51 class Main :
52 public BSTEventSink<PositionPlayerEvent>, // 00
53 public BSTEventSink<BSGamerProfileEvent> // 08
54 {
55 public:
56 inline static constexpr auto RTTI = RTTI_Main;
57
58 ~Main() override; // 00
59
60 // override (BSTEventSink<PositionPlayerEvent>)
61 BSEventNotifyControl ProcessEvent(const PositionPlayerEvent* a_event, BSTEventSource<PositionPlayerEvent>* a_eventSource) override; // 01 - { return BSEventNotifyControl::kContinue; }
62
63 // override (BSTEventSink<BSGamerProfileEvent>)
64 BSEventNotifyControl ProcessEvent(const BSGamerProfileEvent* a_event, BSTEventSource<BSGamerProfileEvent>* a_eventSource) override; // 01
65
66 static Main* GetSingleton();
67
68 static float QFrameAnimTime();
70 static Scenegraph* WorldRootNode();
71
72 void SetActive(bool a_active);
73
74 // members
75 bool quitGame; // 010
76 bool resetGame; // 011
77 bool fullReset; // 012
78 bool gameActive; // 013
79 bool onIdle; // 014
80 bool reloadContent; // 015
81 bool freezeTime; // 016
82 bool freezeNextFrame; // 017
85 std::uint32_t threadID; // 028
86 std::uint32_t unk02C; // 02C
87 std::uint64_t unk030; // 030
92 std::uint8_t unk1D8; // 1D8
93 std::uint8_t unk1D9; // 1D9
94 std::uint16_t unk1DA; // 1DA
95 std::uint32_t unk1DC; // 1DC
98 };
99 static_assert(sizeof(Main) == 0x270);
100}
Definition BSTMessageQueue.h:52
Definition BSTEvent.h:143
Definition BSTEvent.h:19
Definition Main.h:54
static Scenegraph * WorldRootNode()
bool quitGame
Definition Main.h:75
ScrapHeap secondaryPackedTaskHeap
Definition Main.h:90
static NiCamera * WorldRootCamera()
bool reloadContent
Definition Main.h:80
std::uint32_t unk02C
Definition Main.h:86
bool freezeTime
Definition Main.h:81
BSPackedTaskQueue taskQueue
Definition Main.h:89
BSPackedTaskQueue secondaryTaskQueue
Definition Main.h:91
bool resetGame
Definition Main.h:76
std::uint32_t threadID
Definition Main.h:85
WinAPI::HINSTANCE instance
Definition Main.h:84
std::uint32_t unk1DC
Definition Main.h:95
static constexpr auto RTTI
Definition Main.h:56
std::uint8_t unk1D9
Definition Main.h:93
ScrapHeap packedTaskHeap
Definition Main.h:88
std::uint64_t unk030
Definition Main.h:87
bool gameActive
Definition Main.h:78
WinAPI::HWND wnd
Definition Main.h:83
bool fullReset
Definition Main.h:77
BSEventNotifyControl ProcessEvent(const BSGamerProfileEvent *a_event, BSTEventSource< BSGamerProfileEvent > *a_eventSource) override
~Main() override
std::uint8_t unk1D8
Definition Main.h:92
static Main * GetSingleton()
void SetActive(bool a_active)
bool freezeNextFrame
Definition Main.h:82
bool onIdle
Definition Main.h:79
BSSaveDataSystemUtilityImage saveDataBackgroundImages[3]
Definition Main.h:96
std::uint16_t unk1DA
Definition Main.h:94
BSEventNotifyControl ProcessEvent(const PositionPlayerEvent *a_event, BSTEventSource< PositionPlayerEvent > *a_eventSource) override
BSSaveDataSystemUtilityImage saveDataIconImages[3]
Definition Main.h:97
static float QFrameAnimTime()
Definition NiCamera.h:12
Definition ScrapHeap.h:8
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_Main(686648, 394509, 0x1f02ec0)
BSEventNotifyControl
Definition BSTEvent.h:12
HWND__ * HWND
Definition WinAPI.h:75
HINSTANCE__ * HINSTANCE
Definition WinAPI.h:78
std::uint32_t size
Definition Main.h:27
void * handle
Definition Main.h:26
std::uint32_t capacity
Definition Main.h:28
Definition Main.h:18
void(const BSPackedTask *) UnpackFunc_t
Definition Main.h:20
UnpackFunc_t * unpackFunc
Definition Main.h:35
BSTCommonScrapHeapMessageQueue< BSPackedTask > queue
Definition Main.h:33
Semaphore semaphore
Definition Main.h:34
std::uint32_t pad0C
Definition Main.h:46
std::uint32_t width
Definition Main.h:44
char * buffer
Definition Main.h:47
std::uint32_t size
Definition Main.h:43
std::uint32_t height
Definition Main.h:45
Definition PositionPlayerEvent.h:7