CommonLibSSE (Parapets fork)
LockpickingMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSSoundHandle.h"
4 #include "RE/B/BSTEvent.h"
5 #include "RE/I/IMenu.h"
7 
8 namespace RE
9 {
10  class MenuOpenCloseEvent;
11  class TESObjectREFR;
12 
13  // menuDepth = 3
14  // flags = kPausesGame | kDisablePauseMenu | kRequiresUpdate
15  // context = kLockpicking
17  public IMenu, // 00
18  public MenuEventHandler, // 30
19  public BSTEventSink<MenuOpenCloseEvent> // 40
20  {
21  public:
22  inline static constexpr auto RTTI = RTTI_LockpickingMenu;
23  constexpr static std::string_view MENU_NAME = "Lockpicking Menu";
24 
25  ~LockpickingMenu() override; // 00
26 
27  // override (IMenu)
28  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
29 
30  // override (MenuEventHandler)
31  bool ShouldHandleEvent(const InputEvent* a_event) override; // 01
32  bool HandleEvent(const ButtonEvent* a_event) override; // 05
33  bool HandleEvent(const MouseMoveEvent* a_event) override; // 04
34  bool HandleEvent(const ThumbstickEvent* a_event) override; // 03
35 
36  // override (BSTEventSink<MenuOpenCloseEvent>)
38 
40 
41  // members
42  void* unk048; // 048
43  void* unk050; // 050
44  float unk058; // 058
45  std::uint32_t unk05C; // 05C
46  std::uint64_t unk060; // 060
47  float unk068; // 068
48  std::uint32_t unk06C; // 06C
49  std::uint64_t unk070; // 070
50  std::uint32_t unk078; // 078
51  std::uint32_t unk07C; // 07C
52  std::uint32_t unk080; // 080
53  std::uint32_t unk084; // 084
54  std::uint64_t unk088; // 088
55  std::uint64_t unk090; // 090
56  std::uint64_t unk098; // 098
57  std::uint64_t unk0A0; // 0A0
58  std::uint64_t unk0A8; // 0A8
59  std::uint64_t unk0B0; // 0B0
60  std::uint64_t unk0B8; // 0B8
61  std::uint64_t unk0C0; // 0C0
62  float unk0C8; // 0C8
63  std::uint32_t unk0CC; // 0CC
64  std::uint64_t unk0D0; // 0D0
65  float unk0D8; // 0D8
66  std::uint32_t unk0DC; // 0DC
67  std::uint32_t unk0E0; // 0E0
68  std::uint32_t unk0E4; // 0E4
69  std::uint32_t unk0E8; // 0E8
71  std::uint32_t unk0F8; // 0F8
72  std::uint32_t unk0FC; // 0FC
73  std::uint32_t unk100; // 100
74  std::uint32_t unk104; // 104
75  std::uint16_t unk108; // 108
76  std::uint8_t unk10A; // 10A
77  std::uint8_t unk10B; // 10B
78  std::uint8_t unk10C; // 10C
79  std::uint8_t unk10D; // 10D
80  std::uint8_t unk10E; // 10E
81  std::uint8_t pad10F; // 10F
82  };
83 #ifndef SKYRIMVR
84  static_assert(sizeof(LockpickingMenu) == 0x110);
85 #else
86  static_assert(sizeof(LockpickingMenu) == 0x120);
87 #endif
88 }
Definition: BSTEvent.h:146
Definition: ButtonEvent.h:15
Definition: IMenu.h:56
Definition: InputEvent.h:26
Definition: LockpickingMenu.h:20
std::uint64_t unk0B0
Definition: LockpickingMenu.h:59
~LockpickingMenu() override
bool HandleEvent(const ButtonEvent *a_event) override
std::uint64_t unk0D0
Definition: LockpickingMenu.h:64
BSSoundHandle unk0EC
Definition: LockpickingMenu.h:70
std::uint64_t unk070
Definition: LockpickingMenu.h:49
std::uint32_t unk084
Definition: LockpickingMenu.h:53
std::uint64_t unk0A0
Definition: LockpickingMenu.h:57
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
std::uint8_t unk10A
Definition: LockpickingMenu.h:76
std::uint8_t unk10E
Definition: LockpickingMenu.h:80
std::uint8_t unk10B
Definition: LockpickingMenu.h:77
bool HandleEvent(const MouseMoveEvent *a_event) override
std::uint32_t unk100
Definition: LockpickingMenu.h:73
std::uint16_t unk108
Definition: LockpickingMenu.h:75
std::uint32_t unk0FC
Definition: LockpickingMenu.h:72
float unk068
Definition: LockpickingMenu.h:47
float unk0D8
Definition: LockpickingMenu.h:65
std::uint64_t unk060
Definition: LockpickingMenu.h:46
void * unk050
Definition: LockpickingMenu.h:43
std::uint32_t unk0E4
Definition: LockpickingMenu.h:68
std::uint32_t unk0CC
Definition: LockpickingMenu.h:63
void * unk048
Definition: LockpickingMenu.h:42
std::uint64_t unk0C0
Definition: LockpickingMenu.h:61
std::uint64_t unk0A8
Definition: LockpickingMenu.h:58
float unk0C8
Definition: LockpickingMenu.h:62
std::uint32_t unk05C
Definition: LockpickingMenu.h:45
std::uint32_t unk06C
Definition: LockpickingMenu.h:48
std::uint32_t unk0DC
Definition: LockpickingMenu.h:66
std::uint32_t unk080
Definition: LockpickingMenu.h:52
bool ShouldHandleEvent(const InputEvent *a_event) override
std::uint32_t unk0E8
Definition: LockpickingMenu.h:69
std::uint64_t unk0B8
Definition: LockpickingMenu.h:60
std::uint64_t unk098
Definition: LockpickingMenu.h:56
std::uint32_t unk078
Definition: LockpickingMenu.h:50
std::uint64_t unk090
Definition: LockpickingMenu.h:55
std::uint32_t unk0E0
Definition: LockpickingMenu.h:67
std::uint64_t unk088
Definition: LockpickingMenu.h:54
std::uint8_t unk10D
Definition: LockpickingMenu.h:79
float unk058
Definition: LockpickingMenu.h:44
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
TESObjectREFR * GetTargetReference()
std::uint32_t unk104
Definition: LockpickingMenu.h:74
static constexpr auto RTTI
Definition: LockpickingMenu.h:22
std::uint32_t unk07C
Definition: LockpickingMenu.h:51
constexpr static std::string_view MENU_NAME
Definition: LockpickingMenu.h:23
std::uint8_t unk10C
Definition: LockpickingMenu.h:78
std::uint32_t unk0F8
Definition: LockpickingMenu.h:71
bool HandleEvent(const ThumbstickEvent *a_event) override
std::uint8_t pad10F
Definition: LockpickingMenu.h:81
Definition: MenuEventHandler.h:17
Definition: MenuOpenCloseEvent.h:8
Definition: MouseMoveEvent.h:8
Definition: TESObjectREFR.h:105
Definition: ThumbstickEvent.h:8
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
constexpr REL::ID RTTI_LockpickingMenu
Definition: Offsets_RTTI.h:5121
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSSoundHandle.h:10