#pragma once #include "RE/B/BSTOptional.h" #include "RE/D/DifficultyLevel.h" #include "RE/G/GameMenuBase.h" #include "RE/P/PlayerCharacter.h" namespace RE { class __declspec(novtable) StartMenuBase : public GameMenuBase // 00 { public: static constexpr auto RTTI{ RTTI::StartMenuBase }; static constexpr auto VTABLE{ VTABLE::StartMenuBase }; virtual ~StartMenuBase(); // 00 // add virtual void DoLoadGame(std::int32_t a_saveIndex); // 14 virtual void InitMainList(); // 15 virtual bool GetIsMenuReady(); // 16 virtual void SaveSettings_Derived(); // 17 virtual void SetMenuColor(); // 18 DifficultyLevel GetMenuDifficultyLevel() { using func_t = decltype(&StartMenuBase::GetMenuDifficultyLevel); static REL::Relocation func{ ID::StartMenuBase::GetMenuDifficultyLevel }; return func(this); } // members std::unique_ptr mainPanel; // 0E0 std::unique_ptr versionText; // 0E8 std::unique_ptr mainPanelBackground; // 0F0 std::unique_ptr loadPanelBackground; // 0F8 std::unique_ptr loadPanelBrackets; // 100 std::unique_ptr loadPanelList; // 108 std::unique_ptr loadPanelPlayerInfo; // 110 std::unique_ptr confirmText; // 118 std::unique_ptr levelText; // 120 std::unique_ptr playtimeText; // 128 std::unique_ptr locationText; // 130 std::unique_ptr levelMeter; // 138 std::unique_ptr modsLoadedText; // 140 std::unique_ptr settingsCategoryList; // 148 std::unique_ptr settingsList; // 150 std::unique_ptr DLCList; // 158 std::unique_ptr loadingIcon; // 160 std::unique_ptr colorReference; // 168 std::unique_ptr splashScreenText; // 170 std::unique_ptr controlsPanel; // 178 std::unique_ptr helpPanelBackground; // 180 std::unique_ptr helpListBackground; // 188 std::unique_ptr gamerTagPanel; // 190 std::unique_ptr gamerTagText; // 198 std::unique_ptr gamerTagIcon; // 1A0 std::unique_ptr bethesdaLogo; // 1A8 std::unique_ptr characterSelectList; // 1B0 std::unique_ptr remapPrompt; // 1B8 std::unique_ptr settingGuideText; // 1C0 std::unique_ptr blackBackground; // 1C8 std::unique_ptr modManager; // 1D0 std::unique_ptr DLCImageSizer; // 1D8 std::unique_ptr DLCPanelBrackets; // 1E0 std::unique_ptr loginObj; // 1E8 std::unique_ptr motD; // 1F0 BSTOptional currentDisplayDifficultyLevel; // 1F8 Scaleform::GFx::Value saveLoadPanelObj; // 218 bool gameDataReady; // 220 bool controlsChanged; // 221 }; static_assert(sizeof(StartMenuBase) == 0x228); }