CommonLibSSE NG
Loading...
Searching...
No Matches
WorldSpaceMenu.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTEvent.h"
4#include "RE/I/IMenu.h"
5
6namespace RE
7{
8 class HudModeChangeEvent;
9
10 // menuDepth = 4
11 // context = 22
13#ifndef SKYRIM_CROSS_VR
14 public IMenu, // 00
15 public BSTEventSink<HudModeChangeEvent> // 40
16#else
17 public IMenu // 00
18#endif
19 {
20 public:
21#if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
22 inline static constexpr auto RTTI = RTTI_WorldSpaceMenu;
23#endif
24
25 ~WorldSpaceMenu() override; // 00
26
28 {
29 if (!REL::Module::IsVR()) {
30 return nullptr;
31 }
32 return &REL::RelocateMember<BSTEventSink<HudModeChangeEvent>>(this, 0, 0x40);
33 }
34
35 [[nodiscard]] const BSTEventSink<HudModeChangeEvent>* AsHudModeChangeEventSink() const noexcept
36 {
37 return const_cast<WorldSpaceMenu*>(this)->AsHudModeChangeEventSink();
38 }
39
40#if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
41 // add
42 virtual void Unk_11();
43 virtual void Unk_12();
44 virtual void Unk_13();
45
46 // members
47 std::uint16_t unk48{ 0 }; // 40
48 std::uint8_t unk50{ 0 }; // 42
49 std::uint8_t unk51{ 0 }; // 43
50 std::uint8_t unk52{ 0 }; // 44
51 std::uint8_t pad53{ 0 }; // 45
52 std::uint32_t pad54{ 0 }; // 46
53#endif
54 };
55#if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
56 static_assert(sizeof(WorldSpaceMenu) == 0x58);
57#endif
58}
Definition BSTEvent.h:143
Definition IMenu.h:55
Definition WorldSpaceMenu.h:19
std::uint8_t unk52
Definition WorldSpaceMenu.h:50
std::uint8_t pad53
Definition WorldSpaceMenu.h:51
std::uint8_t unk51
Definition WorldSpaceMenu.h:49
std::uint32_t pad54
Definition WorldSpaceMenu.h:52
const BSTEventSink< HudModeChangeEvent > * AsHudModeChangeEventSink() const noexcept
Definition WorldSpaceMenu.h:35
static constexpr auto RTTI
Definition WorldSpaceMenu.h:22
~WorldSpaceMenu() override
virtual void Unk_12()
virtual void Unk_13()
BSTEventSink< HudModeChangeEvent > * AsHudModeChangeEventSink() noexcept
Definition WorldSpaceMenu.h:27
virtual void Unk_11()
std::uint8_t unk50
Definition WorldSpaceMenu.h:48
std::uint16_t unk48
Definition WorldSpaceMenu.h:47
static SKYRIM_REL_VR bool IsVR() noexcept
Definition Relocation.h:821
Definition AbsorbEffect.h:6
constexpr REL::VariantOffset RTTI_WorldSpaceMenu(0, 0, 0x1efe318)