CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
StatsMenu.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/A/ActorValues.h"
4#include "RE/B/BSTArray.h"
5#include "RE/G/GFxValue.h"
6#include "RE/I/IMenu.h"
8#include "RE/N/NiPoint3.h"
9
10namespace RE
11{
12 class BSEffectShaderProperty;
13 class BSFadeNode;
14 class BSScaleformMovieLoadTask;
15 class NiCamera;
16 class NiControllerManager;
17 class NiControllerSequence;
18 class NiNode;
19 class StatsNode;
20
21 namespace BSResource
22 {
23 struct ID;
24 }
25
26 // menuDepth = 3
27 // flags = kPausesGame | kUsesMenuContext | kDisablePauseMenu | kRequiresUpdate | kCustomRendering
28 // kUsesCursor if gamepad disabled
29 // context = kStats
30 class StatsMenu :
31 public IMenu, // 000
32 public MenuEventHandler // 030
33 {
34 public:
35 inline static constexpr auto RTTI = RTTI_StatsMenu;
36 constexpr static std::string_view MENU_NAME = "StatsMenu";
37
38 enum
39 {
40 kTotalTrees = 18
41 };
42
43 struct UnkData
44 {
45 public:
46 enum class State
47 {
48 kResting = 0,
49 kEntering = 1,
50 kExiting = 2
51 };
52
53 // members
54 BSEffectShaderProperty* unk00; // 00
56 std::uint32_t unk0C; // 0C
57 };
58 static_assert(sizeof(UnkData) == 0x10);
59
60 ~StatsMenu() override; // 00
61
62 // override (IMenu)
63 void Accept(CallbackProcessor* a_processor) override; // 01
64 void Unk_03(void) override; // 03 - { unk321 = 1; }
65 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
66 void PostDisplay() override; // 06
67
68 // override (MenuEventHandler)
69 bool CanProcess(InputEvent* a_event) override; // 01
70 bool ProcessThumbstick(ThumbstickEvent* a_event) override; // 03
71 bool ProcessButton(ButtonEvent* a_event) override; // 05
72
73 // members
75 float horizontalVelocity; // 048
76 std::uint32_t unk04C; // 04C
85 bool zoomed; // 1B8
86 std::uint8_t unk1B9; // 1B9
87 std::uint16_t unk1BA; // 1BA
88 bool scrolling; // 1BC
89 std::uint8_t unk1BD; // 1BD
90 std::uint16_t unk1BE; // 1BE
91 std::uint32_t selectedTree; // 1C0
92 std::uint32_t unk1C4; // 1C4
94 std::uint32_t unk1D0; // 1D0
95 std::uint32_t unk1D4; // 1D4
96 std::uint32_t unk1D8; // 1D8
97 std::uint32_t unk1DC; // 1DC
98 std::uint64_t unk1E0; // 1E0
99 std::uint32_t unk1E8; // 1E8
103 std::uint64_t unk210; // 210
104 std::uint64_t unk218; // 218
105 std::uint64_t unk220; // 220
106 std::uint64_t unk228; // 228
107 std::uint64_t unk230; // 230
108 std::uint64_t unk238; // 238
109 float unk240; // 240
110 float unk244; // 244
111 float unk248; // 248
112 float unk24C; // 24C
113 float unk250; // 250
114 float unk254; // 254
115 float unk258; // 258
116 float unk25C; // 25C
117 float unk260; // 260
118 float unk264; // 264
119 float unk268; // 268
120 float unk26C; // 26C
121 float unk270; // 270
122 float unk274; // 274
123 std::uint32_t unk278; // 278
124 float unk27C; // 27C
126 std::uint32_t unk284; // 284
132 std::uint64_t unk2B0; // 2B0
133 std::uint64_t unk2B8; // 2B8
136 BSScaleformMovieLoadTask* unk2F0; // 2F0
137 GFxValue unk2F8; // 2F8 - StatsMenuBaseInstance.BeastSkillHolder
138 std::uint32_t numSelectableTrees; // 310
139 float unk314; // 314
140 float unk318; // 318
141 std::uint32_t flags; // 31C
142 std::uint8_t unk320; // 320
143 std::uint8_t unk321; // 321
144 std::uint16_t unk322; // 322
145 std::uint32_t unk324; // 324
146 };
147#ifndef SKYRIMVR
148 static_assert(sizeof(StatsMenu) == 0x328);
149#else
150 //static_assert(sizeof(StatsMenu) == 0x3E0);
151#endif
152}
Definition: BSFadeNode.h:11
Definition: BSTArray.h:377
Definition: ButtonEvent.h:10
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:90
Definition: IMenu.h:55
Definition: InputEvent.h:22
Definition: MenuEventHandler.h:14
Definition: NiCamera.h:11
Definition: NiControllerManager.h:17
Definition: NiControllerSequence.h:23
Definition: NiNode.h:12
Definition: NiPoint3.h:6
Definition: StatsMenu.h:33
std::uint8_t unk321
Definition: StatsMenu.h:143
float horizontalVelocity
Definition: StatsMenu.h:75
std::uint8_t unk1BD
Definition: StatsMenu.h:89
std::uint64_t unk228
Definition: StatsMenu.h:106
float unk260
Definition: StatsMenu.h:117
std::uint64_t unk218
Definition: StatsMenu.h:104
std::uint64_t unk1E0
Definition: StatsMenu.h:98
NiControllerManager * unk2A8
Definition: StatsMenu.h:131
float unk244
Definition: StatsMenu.h:110
float unk27C
Definition: StatsMenu.h:124
bool ProcessThumbstick(ThumbstickEvent *a_event) override
bool zoomed
Definition: StatsMenu.h:85
bool scrolling
Definition: StatsMenu.h:88
float unk264
Definition: StatsMenu.h:118
static constexpr std::string_view MENU_NAME
Definition: StatsMenu.h:36
std::uint64_t unk220
Definition: StatsMenu.h:105
std::uint32_t unk1DC
Definition: StatsMenu.h:97
NiControllerSequence * cameraOutro
Definition: StatsMenu.h:129
std::uint32_t numSelectableTrees
Definition: StatsMenu.h:138
float unk25C
Definition: StatsMenu.h:116
float unk314
Definition: StatsMenu.h:139
float unk254
Definition: StatsMenu.h:114
std::uint64_t unk2B0
Definition: StatsMenu.h:132
NiPoint3 starCameraOffset
Definition: StatsMenu.h:101
GFxValue unk2F8
Definition: StatsMenu.h:137
std::uint32_t unk324
Definition: StatsMenu.h:145
BSResource::ID * linesHash
Definition: StatsMenu.h:80
float unk258
Definition: StatsMenu.h:115
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
float unk270
Definition: StatsMenu.h:121
BSResource::ID * skydomeHash
Definition: StatsMenu.h:78
std::uint64_t unk238
Definition: StatsMenu.h:108
BSTArray< GFxValue > unk2D8
Definition: StatsMenu.h:135
std::uint16_t unk1BE
Definition: StatsMenu.h:90
BSResource::ID * starsHash
Definition: StatsMenu.h:79
std::uint32_t unk1D8
Definition: StatsMenu.h:96
std::uint8_t unk1B9
Definition: StatsMenu.h:86
float unk274
Definition: StatsMenu.h:122
UnkData unk098[kTotalTrees]
Definition: StatsMenu.h:84
std::uint32_t unk1E8
Definition: StatsMenu.h:99
float unk268
Definition: StatsMenu.h:119
std::uint32_t unk278
Definition: StatsMenu.h:123
StatsNode * unk1C8
Definition: StatsMenu.h:93
NiNode * cameraPosition
Definition: StatsMenu.h:127
void Unk_03(void) override
BSFadeNode * linesNode
Definition: StatsMenu.h:83
NiControllerSequence * idle
Definition: StatsMenu.h:130
static constexpr auto RTTI
Definition: StatsMenu.h:35
~StatsMenu() override
std::uint16_t unk1BA
Definition: StatsMenu.h:87
std::uint64_t unk210
Definition: StatsMenu.h:103
std::uint32_t unk1D0
Definition: StatsMenu.h:94
NiPoint3 skillsLookAt
Definition: StatsMenu.h:100
BSFadeNode * starsNode
Definition: StatsMenu.h:82
float unk26C
Definition: StatsMenu.h:120
void PostDisplay() override
BSFadeNode * skydomeNode
Definition: StatsMenu.h:81
bool ProcessButton(ButtonEvent *a_event) override
BSTArray< ActorValue > skillTrees
Definition: StatsMenu.h:77
NiControllerSequence * cameraIntro
Definition: StatsMenu.h:128
std::uint32_t unk1C4
Definition: StatsMenu.h:92
BSTArray< StatsNode * > unk2C0
Definition: StatsMenu.h:134
std::uint32_t selectedTree
Definition: StatsMenu.h:91
float unk318
Definition: StatsMenu.h:140
float horizontalAcceleration
Definition: StatsMenu.h:125
std::uint64_t unk2B8
Definition: StatsMenu.h:133
std::uint32_t flags
Definition: StatsMenu.h:141
float unk248
Definition: StatsMenu.h:111
std::uint16_t unk322
Definition: StatsMenu.h:144
std::uint32_t unk284
Definition: StatsMenu.h:126
NiCamera * unk040
Definition: StatsMenu.h:74
BSScaleformMovieLoadTask * unk2F0
Definition: StatsMenu.h:136
void Accept(CallbackProcessor *a_processor) override
std::uint32_t unk1D4
Definition: StatsMenu.h:95
@ kTotalTrees
Definition: StatsMenu.h:40
bool CanProcess(InputEvent *a_event) override
float unk250
Definition: StatsMenu.h:113
std::uint8_t unk320
Definition: StatsMenu.h:142
NiPoint3 starLookAt
Definition: StatsMenu.h:102
float unk240
Definition: StatsMenu.h:109
std::uint32_t unk04C
Definition: StatsMenu.h:76
std::uint64_t unk230
Definition: StatsMenu.h:107
float unk24C
Definition: StatsMenu.h:112
Definition: StatsNode.h:16
Definition: ThumbstickEvent.h:8
Definition: UIMessage.h:28
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_StatsMenu
Definition: Offsets_RTTI.h:5946
Definition: ID.h:10
Definition: StatsMenu.h:44
State
Definition: StatsMenu.h:47
stl::enumeration< State, std::uint32_t > state
Definition: StatsMenu.h:55
std::uint32_t unk0C
Definition: StatsMenu.h:56
BSEffectShaderProperty * unk00
Definition: StatsMenu.h:54