CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
MapMenu.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTArray.h"
5#include "RE/B/BSTEvent.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
13namespace 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
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
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>)
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: BSTArray.h:377
Definition: BSTEvent.h:146
Definition: BSTEvent.h:28
Definition: BSTSmartPointer.h:37
Definition: FxDelegateHandler.h:19
Definition: GFxValue.h:90
Definition: IMenu.h:55
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
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
static constexpr std::string_view MENU_NAME
Definition: MapMenu.h:33
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:48
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