CommonLibVR
TutorialMenu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GFxValue.h"
4 #include "RE/I/IMenu.h"
5 
6 namespace RE
7 {
8  // menuDepth = 10
9  // flags = kPausesGame | kModal | kUpdateUsesCursor
10  // context = kMenuMode
11  class TutorialMenu : public IMenu
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_TutorialMenu;
15  constexpr static std::string_view MENU_NAME = "Tutorial Menu";
16 
17  ~TutorialMenu() override; // 00
18 
19  // override (IMenu)
20  void Accept(CallbackProcessor* a_processor) override; // 01
21  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
22 
23  static void OpenTutorialMenu(DEFAULT_OBJECT a_tutorial)
24  {
25  using func_t = decltype(&TutorialMenu::OpenTutorialMenu);
26  static REL::Relocation<func_t> func{ RELOCATION_ID(51818, 52692) };
27  return func(a_tutorial);
28  }
29 
30  // members
31  GFxValue root; // 30 - "Menu_mc"
32  private:
33  KEEP_FOR_RE()
34  };
35 #ifndef SKYRIMVR
36  static_assert(sizeof(TutorialMenu) == 0x48);
37 #else
38  static_assert(sizeof(TutorialMenu) == 0x58);
39 #endif
40 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: FxDelegateHandler.h:20
Definition: GFxValue.h:92
Definition: IMenu.h:64
Definition: TutorialMenu.h:12
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
~TutorialMenu() override
GFxValue root
Definition: TutorialMenu.h:31
void Accept(CallbackProcessor *a_processor) override
static constexpr auto RTTI
Definition: TutorialMenu.h:14
constexpr static std::string_view MENU_NAME
Definition: TutorialMenu.h:15
static void OpenTutorialMenu(DEFAULT_OBJECT a_tutorial)
Definition: TutorialMenu.h:23
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:49
constexpr REL::ID RTTI_TutorialMenu(static_cast< std::uint64_t >(688921))
DEFAULT_OBJECT
Definition: BGSDefaultObjectManager.h:12