CommonLibSSE (powerof3)
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  // menuDepth = 3
23  // flags = kPausesGame | kUsesCursor | kRendersOffscreenTargets | kCustomRendering
24  // context = kMap
25  class MapMenu :
26  public IMenu, // 00000
27  public BSTEventSink<MenuOpenCloseEvent>, // 00030
28  public IMapCameraCallbacks // 00038
29  {
30  public:
31  inline static constexpr auto RTTI = RTTI_MapMenu;
32  constexpr static std::string_view MENU_NAME = "MapMenu";
33 
34  ~MapMenu() override; // 00
35 
36  // override (IMenu)
37  void Accept(CallbackProcessor* a_processor) override; // 01
38  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
39  void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
40  void RefreshPlatform() override; // 08
41 
42  // override (BSTEventSink<MenuOpenCloseEvent>)
44 
45  void PlaceMarker()
46  {
47  using func_t = decltype(&MapMenu::PlaceMarker);
48  static REL::Relocation<func_t> func{ RELOCATION_ID(52226, 53113) };
49  return func(this);
50  }
51 
52  // members
58  RefHandle unk30460; // 30460
62  MapCamera camera; // 304A0
63  std::uint64_t unk30530; // 30530
65  GFxValue mapMovie; // 30540
66  std::int32_t selectedMarker; // 30558
70  std::uint64_t unk30580; // 30580
71  std::uint32_t unk30588; // 30588
72  bool controlsReady; // 3058C
73  std::uint8_t unk3058D; // 3058D
74  std::uint16_t unk3058E; // 3058E
75  std::uint64_t unk30590; // 30590
76  };
77  static_assert(sizeof(MapMenu) == 0x30598);
78 }
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:505
Definition: Relocation.h:210
Definition: BSTArray.h:378
Definition: BSTEvent.h:143
Definition: BSTSmartPointer.h:37
Definition: FxDelegateHandler.h:20
Definition: GFxValue.h:92
Definition: IMenu.h:55
Definition: MapCamera.h:19
Definition: MapMenu.h:29
~MapMenu() override
MapCamera camera
Definition: MapMenu.h:62
NiPoint3 cameraPickOrigin
Definition: MapMenu.h:67
BSTArray< GFxValue > markerData
Definition: MapMenu.h:61
void Accept(CallbackProcessor *a_processor) override
constexpr static std::string_view MENU_NAME
Definition: MapMenu.h:32
LocalMapMenu localMapMenu
Definition: MapMenu.h:57
std::uint16_t unk3058E
Definition: MapMenu.h:74
std::uint64_t unk30590
Definition: MapMenu.h:75
BSTSmartPointer< MapZoomHandler > zoomHandler
Definition: MapMenu.h:55
BSTSmartPointer< MapLookHandler > lookHandler
Definition: MapMenu.h:54
NiPoint3 playerMarkerPosition
Definition: MapMenu.h:59
std::uint64_t unk30530
Definition: MapMenu.h:63
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
BSTArray< MapMenuMarker > mapMarkers
Definition: MapMenu.h:60
bool controlsReady
Definition: MapMenu.h:72
GFxValue mapMovie
Definition: MapMenu.h:65
NiPoint3 cameraPickDirection
Definition: MapMenu.h:68
TESWorldSpace * worldSpace
Definition: MapMenu.h:64
std::uint8_t unk3058D
Definition: MapMenu.h:73
RefHandle unk30460
Definition: MapMenu.h:58
std::uint64_t unk30580
Definition: MapMenu.h:70
std::int32_t selectedMarker
Definition: MapMenu.h:66
std::uint32_t unk30588
Definition: MapMenu.h:71
BSSoundHandle unk30574
Definition: MapMenu.h:69
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
static constexpr auto RTTI
Definition: MapMenu.h:31
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
void PlaceMarker()
Definition: MapMenu.h:45
ObjectRefHandle mapMarker
Definition: MapMenu.h:56
void RefreshPlatform() override
BSTSmartPointer< MapMoveHandler > moveHandler
Definition: MapMenu.h:53
Definition: MenuOpenCloseEvent.h:8
Definition: NiPoint3.h:6
Definition: TESWorldSpace.h:118
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_MapMenu(static_cast< std::uint64_t >(688986))
std::uint32_t RefHandle
Definition: BSCoreTypes.h:6
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSSoundHandle.h:10
Definition: IMapCameraCallbacks.h:6
Definition: LocalMapMenu.h:21