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_actorValue);
123 return func(a_valid);
127 #ifndef SKYRIM_CROSS_VR
128 # if !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
134 #ifndef ENABLE_SKYRIM_VR
135 static_assert(
sizeof(
HUDMenu) == 0x98);
136 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
137 static_assert(
sizeof(
HUDMenu) == 0xC8);
140 #undef RUNTIME_DATA_CONTENT
#define SKYRIM_REL_CONSTEXPR
Definition: Common.h:47
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
static SKYRIM_REL_VR bool IsVR() noexcept
Definition: Module.h:254
Definition: Relocation.h:204
Definition: BSTEvent.h:143
Definition: BSTEvent.h:19
Definition: FxDelegateHandler.h:19
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
ActorValue
Definition: ActorValues.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