CommonLibVR
LocalMapMenu.h
Go to the documentation of this file.
1 #pragma once
2 
5 #include "RE/B/BSTArray.h"
6 #include "RE/B/BSTSmartPointer.h"
7 #include "RE/G/GFxValue.h"
9 #include "RE/L/LocalMapCamera.h"
10 #include "RE/M/MenuEventHandler.h"
11 #include "RE/N/NiSmartPointer.h"
12 
13 namespace RE
14 {
15  class BSShaderAccumulator;
16  class NiCamera;
17  class NiNode;
18  struct MapMenuMarker;
19 
20  struct LocalMapMenu
21  {
22  public:
24  {
25  public:
26  struct Data
27  {
28  public:
29  // members
31  void* unk08; // 08 - smart ptr
33  std::uint64_t unk18; // 18
34  std::uint64_t unk20; // 20
35  std::uint64_t unk28; // 28
36  std::uint64_t unk30; // 30
37  std::uint64_t unk38; // 38
38  void* unk40; // 40 - smart ptr
39  };
40  static_assert(sizeof(Data) == 0x48);
41 
42  // members
44  Data unk301F8; // 301F8
45  std::uint64_t unk30240; // 30240
46  std::uint64_t unk30248; // 30248
47 #ifdef SKYRIMVR
48  std::uint64_t padVR1; // VR offset moved by 0x10
49  std::uint64_t padVR2;
50 #endif
51  std::uint64_t unk30250; // 30250
52  std::uint64_t unk30258; // 30258
56  std::uint64_t unk30350; // 30350
58 #ifdef SKYRIMVR
59  BSTArray<void*> unk30370;
60  BSTArray<void*> unk30388;
62  void* unk303B8;
63  NiCamera* unk303C0;
64  std::uint32_t unk303C8;
65  std::uint32_t pad303CC;
66  std::uint64_t unk303D0;
67 #endif
68  };
69 #ifndef SKYRIMVR
70  static_assert(sizeof(LocalMapCullingProcess) == 0x30360);
71 #else
72  static_assert(sizeof(LocalMapCullingProcess) == 0x303D8);
73 #endif
74 
76  {
77  public:
78  inline static constexpr auto RTTI = RTTI_LocalMapMenu__InputHandler;
79  inline static constexpr auto VTABLE = VTABLE_LocalMapMenu__InputHandler;
80 
81  ~InputHandler() override; // 00
82 
83  // override (MenuEventHandler)
84  bool CanProcess(InputEvent* a_event) override; // 01
85  bool ProcessThumbstick(ThumbstickEvent* a_event) override; // 03
86  bool ProcessMouseMove(MouseMoveEvent* a_event) override; // 04
87  bool ProcessButton(ButtonEvent* a_event) override; // 05
88 
89  // members
91  };
92  static_assert(sizeof(InputHandler) == 0x18);
93 
94  // members
96  GFxValue unk00018; // 00018
97  float unk00030; // 00030
98  float unk00034; // 00034
99  float unk00038; // 00038
100  float unk0003C; // 0003C
104  GFxValue mapMovie; // 303D0
105  void* unk303E8; // 303E8
107  std::int32_t selectedMarker; // 303F8
108  bool showingMap; // 303FC
109  bool dragging; // 303FD
110  bool controlsReady; // 303FE
111  std::uint8_t unk303FF; // 303FF
112 #ifdef SKYRIMVR
113  std::uint32_t unk30478; // 30478
114  std::uint32_t pad3047C; // 3047C
115 #endif
116  private:
117  KEEP_FOR_RE()
118  };
119 #ifndef SKYRIMVR
120  static_assert(sizeof(LocalMapMenu) == 0x30400);
121 #else
122  static_assert(sizeof(LocalMapMenu) == 0x30480);
123 #endif
124 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSCullingProcess.h:17
Definition: BSScaleformExternalTexture.h:9
Definition: BSTSmartPointer.h:37
Definition: ButtonEvent.h:16
Definition: GFxValue.h:92
Definition: ImageSpaceShaderParam.h:12
Definition: InputEvent.h:25
Definition: LocalMapCamera.h:14
Definition: LocalMapMenu.h:76
bool ProcessMouseMove(MouseMoveEvent *a_event) override
static constexpr auto RTTI
Definition: LocalMapMenu.h:78
bool ProcessButton(ButtonEvent *a_event) override
bool CanProcess(InputEvent *a_event) override
static constexpr auto VTABLE
Definition: LocalMapMenu.h:79
LocalMapMenu * localMapMenu
Definition: LocalMapMenu.h:90
bool ProcessThumbstick(ThumbstickEvent *a_event) override
Definition: MenuEventHandler.h:14
Definition: MouseMoveEvent.h:8
Definition: NiCamera.h:11
Definition: ThumbstickEvent.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_LocalMapMenu__InputHandler(static_cast< std::uint64_t >(688975))
constexpr std::array< REL::ID, 1 > VTABLE_LocalMapMenu__InputHandler
Definition: Offsets_VTABLE.h:11967
void * unk08
Definition: LocalMapMenu.h:31
std::uint64_t unk38
Definition: LocalMapMenu.h:37
std::uint64_t unk30
Definition: LocalMapMenu.h:36
std::uint64_t unk20
Definition: LocalMapMenu.h:34
std::uint64_t unk28
Definition: LocalMapMenu.h:35
NiPointer< NiCamera > camera
Definition: LocalMapMenu.h:32
void * unk40
Definition: LocalMapMenu.h:38
NiPointer< BSShaderAccumulator > shaderAccumulator
Definition: LocalMapMenu.h:30
std::uint64_t unk18
Definition: LocalMapMenu.h:33
Definition: LocalMapMenu.h:24
NiPointer< NiNode > unk30358
Definition: LocalMapMenu.h:57
std::uint64_t unk30250
Definition: LocalMapMenu.h:51
std::uint64_t unk30240
Definition: LocalMapMenu.h:45
std::uint64_t unk30350
Definition: LocalMapMenu.h:56
NiPointer< BSShaderAccumulator > unk302C8
Definition: LocalMapMenu.h:54
LocalMapCamera camera
Definition: LocalMapMenu.h:53
std::uint64_t unk30258
Definition: LocalMapMenu.h:52
Data unk301F8
Definition: LocalMapMenu.h:44
std::uint64_t unk30248
Definition: LocalMapMenu.h:46
ImageSpaceShaderParam unk302D0
Definition: LocalMapMenu.h:55
BSCullingProcess cullingProcess
Definition: LocalMapMenu.h:40
Definition: LocalMapMenu.h:21
bool showingMap
Definition: LocalMapMenu.h:108
BSScaleformExternalTexture unk303A0
Definition: LocalMapMenu.h:102
LocalMapCullingProcess localCullingProcess
Definition: LocalMapMenu.h:101
void * unk303E8
Definition: LocalMapMenu.h:105
float unk00038
Definition: LocalMapMenu.h:99
GFxValue mapMovie
Definition: LocalMapMenu.h:104
BSTSmartPointer< InputHandler > unk303F0
Definition: LocalMapMenu.h:106
float unk00030
Definition: LocalMapMenu.h:97
std::uint8_t unk303FF
Definition: LocalMapMenu.h:111
float unk00034
Definition: LocalMapMenu.h:98
GFxValue unk00018
Definition: LocalMapMenu.h:96
std::int32_t selectedMarker
Definition: LocalMapMenu.h:107
BSTArray< MapMenuMarker > mapMarkers
Definition: LocalMapMenu.h:92
GFxValue localMapMovie
Definition: LocalMapMenu.h:103
float unk0003C
Definition: LocalMapMenu.h:100
bool dragging
Definition: LocalMapMenu.h:109
bool controlsReady
Definition: LocalMapMenu.h:110