CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
LockpickingMenu.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTEvent.h"
5#include "RE/I/IMenu.h"
7#include "RE/N/NiMatrix3.h"
8
9namespace RE
10{
11 class MenuOpenCloseEvent;
12 class NiAVObject;
13 class NiControllerManager;
14 class NiControllerSequence;
15 class TESObjectREFR;
16
18 {
19 public:
20 std::uint64_t unk00; // 00
21 std::uint64_t unk08; // 08
22 std::uint64_t unk10; // 10
23 std::uint64_t unk18; // 00
24 std::uint64_t unk20; // 00
26 };
27
28 // menuDepth = 3
29 // flags = kPausesGame | kDisablePauseMenu | kRequiresUpdate
30 // context = kLockpicking
32 public IMenu, // 00
33 public MenuEventHandler, // 30
34 public BSTEventSink<MenuOpenCloseEvent> // 40
35 {
36 public:
37 inline static constexpr auto RTTI = RTTI_LockpickingMenu;
38 constexpr static std::string_view MENU_NAME = "Lockpicking Menu";
39
40 ~LockpickingMenu() override; // 00
41
42 // override (IMenu)
43 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
44
45 // override (MenuEventHandler)
46 bool CanProcess(InputEvent* a_event) override; // 01
47 bool ProcessThumbstick(ThumbstickEvent* a_event) override; // 03
48 bool ProcessMouseMove(MouseMoveEvent* a_event) override; // 04
49 bool ProcessButton(ButtonEvent* a_event) override; // 05
50
51 // override (BSTEventSink<MenuOpenCloseEvent>)
53
54 [[nodiscard]] static TESObjectREFR* GetTargetReference();
55
56 // members
69 float pickKeyTime; // 0C8
70 std::uint32_t unk0CC; // 0CC
72 float shivKeyTime; // 0D8
73 std::uint32_t unk0DC; // 0DC
74 float currentAngle; // 0E0
75 float lockAngle; // 0E4
76 std::uint32_t unk0E8; // 0E8
78 std::uint32_t unk0F8; // 0F8
79 std::uint32_t unk0FC; // 0FC
80 std::uint32_t unk100; // 100
81 std::uint32_t unk104; // 104
82 std::uint16_t unk108; // 108
83 std::uint8_t unk10A; // 10A
84 std::uint8_t unk10B; // 10B
85 std::uint8_t unk10C; // 10C
86 std::uint8_t unk10D; // 10D
87 std::uint8_t unk10E; // 10E
88 std::uint8_t pad10F; // 10F
89 };
90 static_assert(sizeof(LockpickingMenu) == 0x110);
91}
Definition: BSTEvent.h:143
Definition: BSTEvent.h:19
Definition: ButtonEvent.h:11
Definition: IMenu.h:55
Definition: InputEvent.h:22
Definition: LockpickingMenu.h:35
NiControllerManager * pickController
Definition: LockpickingMenu.h:64
~LockpickingMenu() override
NiControllerSequence * pickDamage
Definition: LockpickingMenu.h:66
NiControllerManager * shivController
Definition: LockpickingMenu.h:61
bool ProcessThumbstick(ThumbstickEvent *a_event) override
bool ProcessButton(ButtonEvent *a_event) override
bool CanProcess(InputEvent *a_event) override
NiControllerSequence * pickBreak
Definition: LockpickingMenu.h:67
BSSoundHandle unk0EC
Definition: LockpickingMenu.h:77
static TESObjectREFR * GetTargetReference()
NiControllerSequence * pickIntro
Definition: LockpickingMenu.h:65
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
std::uint8_t unk10A
Definition: LockpickingMenu.h:83
std::uint8_t unk10E
Definition: LockpickingMenu.h:87
NiMatrix3 unk058
Definition: LockpickingMenu.h:59
NiControllerSequence * shivIntro
Definition: LockpickingMenu.h:62
std::uint8_t unk10B
Definition: LockpickingMenu.h:84
NiControllerSequence * currentPickSequence
Definition: LockpickingMenu.h:68
std::uint32_t unk100
Definition: LockpickingMenu.h:80
std::uint16_t unk108
Definition: LockpickingMenu.h:82
std::uint32_t unk0FC
Definition: LockpickingMenu.h:79
float currentAngle
Definition: LockpickingMenu.h:74
static constexpr std::string_view MENU_NAME
Definition: LockpickingMenu.h:38
float pickKeyTime
Definition: LockpickingMenu.h:69
std::uint32_t unk0CC
Definition: LockpickingMenu.h:70
NiControllerSequence * currentShivSequence
Definition: LockpickingMenu.h:71
NiPoint3 lockRotCenter
Definition: LockpickingMenu.h:60
bool ProcessMouseMove(MouseMoveEvent *a_event) override
std::uint32_t unk0DC
Definition: LockpickingMenu.h:73
ModelData * lockpick
Definition: LockpickingMenu.h:58
std::uint32_t unk0E8
Definition: LockpickingMenu.h:76
ModelData * lockpickShiv
Definition: LockpickingMenu.h:57
NiControllerSequence * shivRotate
Definition: LockpickingMenu.h:63
float lockAngle
Definition: LockpickingMenu.h:75
std::uint8_t unk10D
Definition: LockpickingMenu.h:86
float shivKeyTime
Definition: LockpickingMenu.h:72
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
std::uint32_t unk104
Definition: LockpickingMenu.h:81
static constexpr auto RTTI
Definition: LockpickingMenu.h:37
std::uint8_t unk10C
Definition: LockpickingMenu.h:85
std::uint32_t unk0F8
Definition: LockpickingMenu.h:78
std::uint8_t pad10F
Definition: LockpickingMenu.h:88
Definition: MenuEventHandler.h:14
Definition: MenuOpenCloseEvent.h:8
Definition: LockpickingMenu.h:18
std::uint64_t unk08
Definition: LockpickingMenu.h:21
std::uint64_t unk10
Definition: LockpickingMenu.h:22
std::uint64_t unk20
Definition: LockpickingMenu.h:24
std::uint64_t unk00
Definition: LockpickingMenu.h:20
NiAVObject * object
Definition: LockpickingMenu.h:25
std::uint64_t unk18
Definition: LockpickingMenu.h:23
Definition: MouseMoveEvent.h:8
Definition: NiAVObject.h:50
Definition: NiControllerManager.h:17
Definition: NiControllerSequence.h:23
Definition: NiMatrix3.h:8
Definition: NiPoint3.h:6
Definition: TESObjectREFR.h:110
Definition: ThumbstickEvent.h:8
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_LockpickingMenu(static_cast< std::uint64_t >(688864))
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSSoundHandle.h:10