|
| 1 | +#pragma once |
| 2 | + |
| 3 | +#include "RE/I/IconArray.h" |
| 4 | +#include "RE/M/Menu.h" |
| 5 | + |
| 6 | +namespace RE |
| 7 | +{ |
| 8 | + class TESQuestTarget; |
| 9 | + class Tile; |
| 10 | + |
| 11 | + class HUDMainMenu : |
| 12 | + public Menu |
| 13 | + { |
| 14 | + public: |
| 15 | + inline static constexpr auto RTTI = RTTI::HUDMainMenu; |
| 16 | + inline static constexpr auto VTABLE = VTABLE::HUDMainMenu; |
| 17 | + |
| 18 | + enum class MENU_POSITION : std::int32_t |
| 19 | + { |
| 20 | + kMENU_POSITION_NONE = -1, |
| 21 | + kMENU_POSITION_A = 0, |
| 22 | + kMENU_POSITION_B = 1, |
| 23 | + kMENU_POSITION_C = 2, |
| 24 | + kMENU_POSITION_D = 3, |
| 25 | + kMENU_POSITION_COUNT = 4, |
| 26 | + }; |
| 27 | + |
| 28 | + virtual ~HUDMainMenu() override; // 07 |
| 29 | + |
| 30 | + // override (IVPairableItem) |
| 31 | + virtual void ProcessPairItem() override; // 01 |
| 32 | + virtual void ProcessUnpairItem() override; // 02 |
| 33 | + |
| 34 | + // override (Menu) |
| 35 | + virtual void AttachTileByID(std::int32_t a_ID, Tile* a_tile) override; // 08 |
| 36 | + virtual void DoDownClick(std::int32_t a_ID, Tile* a_target) override; // 09 |
| 37 | + virtual void DoClick(std::int32_t a_ID, Tile* a_target) override; // 0A |
| 38 | + virtual void DoStillDown(std::int32_t a_ID, Tile* a_target) override; // 0F |
| 39 | + virtual void DoIdle() override; // 12 |
| 40 | + virtual std::int32_t GetClass() override; // 14 |
| 41 | + virtual void StartFadeOut() override; // 16 |
| 42 | + virtual void StartFadeIn() override; // 18 |
| 43 | + |
| 44 | + // members |
| 45 | + Tile* background; // 050 |
| 46 | + Tile* health; // 058 |
| 47 | + Tile* magic; // 060 |
| 48 | + Tile* fatigue; // 068 |
| 49 | + Tile* weapon; // 070 |
| 50 | + Tile* spell; // 078 |
| 51 | + Tile* compass; // 080 |
| 52 | + Tile* compassFace; // 088 |
| 53 | + Tile* frame; // 090 |
| 54 | + Tile* playerGrab; // 098 |
| 55 | + Tile* activeFXIcons; // 0A0 |
| 56 | + Tile* levelupIcon; // 0A8 |
| 57 | + Tile* brackets; // 0B0 |
| 58 | + REX::Enum<MENU_POSITION, std::int32_t> currentLoc; // 0B8 |
| 59 | + REX::Enum<MENU_POSITION, std::int32_t> destLoc; // 0BC |
| 60 | + BSSimpleList<TESQuestTarget*>* questList; // 0C0 |
| 61 | + float mouseDownX; // 0C8 |
| 62 | + float mouseDownY; // 0CC |
| 63 | + float zoomPos; // 0D0 |
| 64 | + std::uint32_t killRegionDisplay; // 0D4 |
| 65 | + IconArray activeFX; // 0D8 |
| 66 | + bool isVisible; // 100 |
| 67 | + }; |
| 68 | + static_assert(sizeof(HUDMainMenu) == 0x108); |
| 69 | +} |
0 commit comments