11 class ActorValueMeter;
12 class HudModeChangeEvent;
15 class UserEventEnabledEvent;
16 struct BSRemoteGamepadEvent;
22#if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
26#elif !defined(ENABLE_SKYRIM_VR)
37 constexpr static std::string_view
MENU_NAME =
"HUD Menu";
41#define RUNTIME_DATA_CONTENT \
42 BSTArray<HUDObject*> objects; \
43 ActorValueMeter* health; \
44 ActorValueMeter* stamina; \
45 ActorValueMeter* magicka; \
58 void AdvanceMovie(
float a_interval, std::uint32_t a_currentTime)
override;
61#ifndef SKYRIM_CROSS_VR
74 return &REL::RelocateMember<WorldSpaceMenu>(
this, 0, 0);
84 return &REL::RelocateMember<BSTEventSink<UserEventEnabledEvent>>(
this, 0x30, 0x58);
94 return &REL::RelocateMember<BSTEventSink<BSRemoteGamepadEvent>>(
this, 0x38, 0x60);
104 return REL::RelocateMember<RUNTIME_DATA>(
this, 0x40, 0x70);
109 return REL::RelocateMember<RUNTIME_DATA>(
this, 0x40, 0x70);
116 return func(a_valid);
120#ifndef SKYRIM_CROSS_VR
121# if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
127#ifndef ENABLE_SKYRIM_VR
128 static_assert(
sizeof(
HUDMenu) == 0x98);
129#elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
130 static_assert(
sizeof(
HUDMenu) == 0xC8);
133#undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition Actor.h:633
#define RELOCATION_ID(a_se, a_ae)
Definition PCH.h:794
#define SKYRIM_REL_CONSTEXPR
Definition Relocation.h:105
Definition BSTEvent.h:143
Definition FxDelegateHandler.h:19
Definition UIMessage.h:28
static SKYRIM_REL_VR bool IsVR() noexcept
Definition Relocation.h:821
Definition Relocation.h:1638
Definition AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition IMenu.h:48
constexpr REL::VariantID RTTI_HUDMenu(688836, 396688, 0x1f46818)
BSEventNotifyControl
Definition BSTEvent.h:12
constexpr std::array< REL::VariantID, 4 > VTABLE_HUDMenu
Definition Offsets_VTABLE.h:4038