CommonLibSSE (Parapets fork)
MapMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSSoundHandle.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTEvent.h"
6 #include "RE/B/BSTSmartPointer.h"
7 #include "RE/G/GFxValue.h"
9 #include "RE/I/IMenu.h"
10 #include "RE/L/LocalMapMenu.h"
11 #include "RE/M/MapCamera.h"
12 
13 namespace RE
14 {
15  class BSAudioManager;
16  class MapLookHandler;
17  class MapMoveHandler;
18  class MapZoomHandler;
19  class MenuOpenCloseEvent;
20  class TESWorldSpace;
21 
22 #ifndef SKYRIMVR
23  // menuDepth = 3
24  // flags = kPausesGame | kUsesCursor | kRendersOffscreenTargets | kCustomRendering
25  // context = kMap
26  class MapMenu :
27  public IMenu, // 00000
28  public BSTEventSink<MenuOpenCloseEvent>, // 00030
29  public IMapCameraCallbacks // 00038
30  {
31  public:
32  inline static constexpr auto RTTI = RTTI_MapMenu;
33  constexpr static std::string_view MENU_NAME = "MapMenu";
34 
35  ~MapMenu() override; // 00
36 
37  // override (IMenu)
38  void Accept(CallbackProcessor* a_processor) override; // 01
39  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
40  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
41  void RefreshPlatform() override; // 08
42 
43  // override (BSTEventSink<MenuOpenCloseEvent>)
45 
46  // members
50  std::uint64_t unk00058; // 00058
52  RefHandle unk30460; // 30460
53  std::uint32_t unk30464; // 30464
54  std::uint32_t unk30468; // 30468
55  std::uint32_t unk3046C; // 3046C
58  MapCamera camera; // 304A0
59  std::uint64_t unk30530; // 30530
61  GFxValue unk30540; // 30540
62  std::uint64_t unk30558; // 30558
63  std::uint64_t unk30560; // 30560
64  std::uint64_t unk30568; // 30568
65  std::uint32_t unk30570; // 30570
67  std::uint64_t unk30580; // 30580
68  std::uint64_t unk30588; // 30588
69  std::uint64_t unk30590; // 30590
70  };
71  static_assert(sizeof(MapMenu) == 0x30598);
72 #else
73  class MapClickHandler;
74  class MapTouchpadHandler;
75 
76  class MapMenu :
77  public WorldSpaceMenu, // 00
78  public BSTEventSink<MenuOpenCloseEvent> // 58
79  {
80  public:
81  inline static constexpr auto RTTI = RTTI_MapMenu;
82  constexpr static std::string_view MENU_NAME = "MapMenu";
83 
84  ~MapMenu() override; // 00
85 
86  // override (IMenu)
87  void Accept(CallbackProcessor* a_processor) override; // 01
88  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
89  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
90  void RefreshPlatform() override; // 08
91 
92  // override (BSTEventSink<MenuOpenCloseEvent>)
93  BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent* a_event, BSTEventSource<MenuOpenCloseEvent>* a_eventSource) override; // 01
94 
95  // members
99  BSTSmartPointer<MapClickHandler> clickHandler; // 00078
100  BSTSmartPointer<MapTouchpadHandler> touchpadHandler; // 00080
101  BSTSmartPointer<void*> unk00088; // 00088
102  BSTSmartPointer<void*> unk00090; // 00090
103  BSTSmartPointer<void*> unk00098; // 00098
104  BSTSmartPointer<void*> unk000A0; // 000A0
105  std::uint64_t unk000A8; // 000A8
106  LocalMapMenu localMapMenu; // 000B0
107  RefHandle unk30530; // 30530
108  NiPoint3 unk30534; // 30534
109  BSTArray<void*> unk30540; // 30540
110  BSTArray<void*> unk30558; // 30558
111  NiPoint3 unk30570; // 30570
112  std::uint32_t unk3057C; // 3057C
113  std::uint64_t unk30580; // 30580
114  std::uint64_t unk30588; // 30588
115  TESWorldSpace* worldSpace; // 30590
116  GFxValue unk30598; // 30598
117  BSSoundHandle unk305B0; // 305B0
118  std::uint64_t unk305C0; // 305C0
119  std::uint64_t unk305C8; // 305C8
120  std::uint64_t unk305D0; // 305D0
121  std::uint64_t unk305D8; // 305D0
122  std::uint64_t unk305E0; // 305E0
123  std::uint64_t unk305E8; // 305E8
124  };
125  static_assert(sizeof(MapMenu) == 0x305F0);
126 #endif
127 }
Definition: BSTEvent.h:146
Definition: BSTSmartPointer.h:37
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:92
Definition: IMenu.h:56
Definition: MapCamera.h:21
Definition: MapMenu.h:30
~MapMenu() override
std::uint64_t unk30588
Definition: MapMenu.h:68
MapCamera camera
Definition: MapMenu.h:58
void Accept(CallbackProcessor *a_processor) override
std::uint32_t unk3046C
Definition: MapMenu.h:55
constexpr static std::string_view MENU_NAME
Definition: MapMenu.h:33
LocalMapMenu localMapMenu
Definition: MapMenu.h:51
std::uint64_t unk30590
Definition: MapMenu.h:69
BSTSmartPointer< MapZoomHandler > zoomHandler
Definition: MapMenu.h:49
std::uint64_t unk30560
Definition: MapMenu.h:63
BSTSmartPointer< MapLookHandler > lookHandler
Definition: MapMenu.h:48
std::uint32_t unk30468
Definition: MapMenu.h:54
GFxValue unk30540
Definition: MapMenu.h:61
std::uint64_t unk30530
Definition: MapMenu.h:59
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
std::uint32_t unk30570
Definition: MapMenu.h:65
BSTArray< void * > unk30488
Definition: MapMenu.h:57
std::uint64_t unk00058
Definition: MapMenu.h:50
std::uint64_t unk30568
Definition: MapMenu.h:64
TESWorldSpace * worldSpace
Definition: MapMenu.h:60
std::uint64_t unk30558
Definition: MapMenu.h:62
BSTArray< void * > unk30470
Definition: MapMenu.h:56
RefHandle unk30460
Definition: MapMenu.h:52
std::uint64_t unk30580
Definition: MapMenu.h:67
BSSoundHandle unk30574
Definition: MapMenu.h:66
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
static constexpr auto RTTI
Definition: MapMenu.h:32
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
std::uint32_t unk30464
Definition: MapMenu.h:53
void RefreshPlatform() override
BSTSmartPointer< MapMoveHandler > moveHandler
Definition: MapMenu.h:47
Definition: MenuOpenCloseEvent.h:8
Definition: NiPoint3.h:6
Definition: TESWorldSpace.h:116
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
std::uint32_t RefHandle
Definition: BSCoreTypes.h:6
constexpr REL::ID RTTI_MapMenu
Definition: Offsets_RTTI.h:5148
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSSoundHandle.h:10
Definition: IMapCameraCallbacks.h:8
Definition: LocalMapMenu.h:20