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