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