CommonLibSSE NG
Loading...
Searching...
No Matches
Console.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/I/IMenu.h"
6
7namespace 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
21 {
22#define RUNTIME_DATA_CONTENT \
23 void* opcode; /* 00 */ \
24 std::uint64_t unk38; /* 08 */ \
25 std::uint64_t unk40; /* 10 */ \
26 std::uint64_t unk48; /* 18 */ \
27 std::uint64_t unk50; /* 20 */
28
30 };
31 static_assert(sizeof(RUNTIME_DATA) == 0x28);
32
33 ~Console() override; // 00
34
35 // override (IMenu)
36 void Accept(CallbackProcessor* a_processor) override; // 01
37 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
38
41
45
46 [[nodiscard]] inline RUNTIME_DATA& GetRuntimeData() noexcept
47 {
48 return REL::RelocateMember<RUNTIME_DATA>(this, 0x30, 0x40);
49 }
50
51 [[nodiscard]] inline const RUNTIME_DATA& GetRuntimeData() const noexcept
52 {
53 return REL::RelocateMember<RUNTIME_DATA>(this, 0x30, 0x40);
54 }
55
56 // members
57#ifndef SKYRIM_CROSS_VR
58 RUNTIME_DATA_CONTENT // 30, 40
59#endif
60
61 protected :
62 void
64 };
65#ifndef ENABLE_SKYRIM_VR
66 static_assert(sizeof(Console) == 0x58);
67#elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
68 static_assert(sizeof(Console) == 0x68);
69#endif
70}
71#undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition Actor.h:633
Definition Console.h:15
void SetSelectedRef_Impl(ObjectRefHandle &a_handle)
static constexpr auto RTTI
Definition Console.h:17
static constexpr std::string_view MENU_NAME
Definition Console.h:18
void Accept(CallbackProcessor *a_processor) override
static ObjectRefHandle GetSelectedRefHandle()
void SetSelectedRef(ObjectRefHandle a_handle)
RUNTIME_DATA & GetRuntimeData() noexcept
Definition Console.h:46
static NiPointer< TESObjectREFR > GetSelectedRef()
const RUNTIME_DATA & GetRuntimeData() const noexcept
Definition Console.h:51
~Console() override
void SetSelectedRef(NiPointer< TESObjectREFR > a_refPtr)
void SetSelectedRef(TESObjectREFR *a_ref)
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
Definition FxDelegateHandler.h:19
Definition IMenu.h:55
Definition NiSmartPointer.h:9
Definition TESObjectREFR.h:112
Definition UIMessage.h:28
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_Console(688803, 396655, 0x1f46028)
UI_MESSAGE_RESULTS
Definition IMenu.h:48
Definition Console.h:21