CommonLibVR
Console.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSPointerHandle.h"
4 #include "RE/I/IMenu.h"
5 #include "RE/N/NiSmartPointer.h"
6 
7 namespace RE
8 {
9  class TESObjectREFR;
10 
11  // menuDepth = 12
12  // flags = kPausesGame | kAlwaysOpen | kUsesCursor | kAllowSaving
13  // context = kConsole
14  class Console : public IMenu
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_Console;
18  constexpr static std::string_view MENU_NAME = "Console";
19 
20  ~Console() override; // 00
21 
22  // override (IMenu)
23  void Accept(CallbackProcessor* a_processor) override; // 01
24  UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
25 
28 
32 
33  // members
34  void* opcode; // 30
35  std::uint64_t unk38; // 38
36  std::uint64_t unk40; // 40
37 #ifdef SKYRIM_SUPPORT_AE
38  std::uint32_t unk48; // 48
39  std::uint8_t unk4c; // 4c
40  bool showAchievementWarning; // 4d -- only used in ctor
41  bool ctrlKeyHeld; // 4e
42  std::uint8_t pad4f; // 4f
43 #else
44  std::uint64_t unk48; // 48
45  std::uint64_t unk50; // 50
46 #endif
47 
48  protected:
50 
51  private:
52  KEEP_FOR_RE()
53  };
54 #ifndef SKYRIMVR
55 # ifdef SKYRIM_SUPPORT_AE
56  static_assert(sizeof(Console) == 0x50);
57 # else
58  static_assert(sizeof(Console) == 0x58);
59 # endif
60 #else
61  static_assert(sizeof(Console) == 0x68);
62 #endif
63 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: Console.h:15
std::uint64_t unk48
Definition: Console.h:44
void SetSelectedRef_Impl(ObjectRefHandle &a_handle)
static constexpr auto RTTI
Definition: Console.h:17
std::uint64_t unk50
Definition: Console.h:45
void Accept(CallbackProcessor *a_processor) override
static ObjectRefHandle GetSelectedRefHandle()
void SetSelectedRef(ObjectRefHandle a_handle)
constexpr static std::string_view MENU_NAME
Definition: Console.h:18
static NiPointer< TESObjectREFR > GetSelectedRef()
~Console() override
void * opcode
Definition: Console.h:34
std::uint64_t unk40
Definition: Console.h:36
void SetSelectedRef(NiPointer< TESObjectREFR > a_refPtr)
void SetSelectedRef(TESObjectREFR *a_ref)
std::uint64_t unk38
Definition: Console.h:35
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
Definition: FxDelegateHandler.h:20
Definition: IMenu.h:64
Definition: NiSmartPointer.h:9
Definition: TESObjectREFR.h:113
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_Console(static_cast< std::uint64_t >(688803))
UI_MESSAGE_RESULTS
Definition: IMenu.h:49