#pragma once #include "RE/B/BSTEvent.h" #include "RE/G/GameMenuBase.h" namespace RE { class HUDComponentBase; class RequestHUDModesEvent; class UserEventEnabledEvent; class __declspec(novtable) HUDMenu : public GameMenuBase, // 000 public BSTEventSink, // 0E0 public BSTEventSink // 0E8 { public: static constexpr auto RTTI{ RTTI::HUDMenu }; static constexpr auto VTABLE{ VTABLE::HUDMenu }; static constexpr auto MENU_NAME{ "HUDMenu"sv }; enum class ShowMenuState { kConstructed = 0x0, kShown = 0x1, kHidden = 0x2, kReshowOnDestructor = 0x3 }; void SetHUDColor() { using func_t = decltype(&HUDMenu::SetHUDColor); REL::Relocation func{ ID::HUDMenu::SetHUDColor }; return func(this); } // members BSTSmallArray, 32> hudObjects; // 0F0 BSTArray hudModes; // 200 REX::TEnumSet hudShowMenuState; // 218 }; static_assert(sizeof(HUDMenu) == 0x220); }