CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BookMenu.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTEvent.h"
4#include "RE/G/GPtr.h"
5#include "RE/I/IMenu.h"
6#include "RE/I/ImageData.h"
8
9namespace RE
10{
11 struct BSAnimationGraphEvent;
12
13 class TESObjectREFR;
14
15 // menuDepth = 1
16 // flags = kPausesGame | kUsesMenuContext | kDisablePauseMenu | kRequiresUpdate | kTopmostRenderedMenu | kRendersOffscreenTargets
17 // context = kBook
18 class BookMenu :
19 public IMenu, // 00
21 public BSTEventSink<BSAnimationGraphEvent> // 48
22 {
23 public:
24 inline static constexpr auto RTTI = RTTI_BookMenu;
25 constexpr static std::string_view MENU_NAME = "Book Menu";
26
27 ~BookMenu() override; // 00
28
29 // override (IMenu)
30 UI_MESSAGE_RESULTS ProcessMessage(UIMessage& a_message) override; // 04
31 void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override; // 05
32 void PostDisplay() override; // 06
33 void PreDisplay() override; // 07
34
35 // override (BSTEventSink<BSAnimationGraphEvent>)
37
38 [[nodiscard]] TESObjectREFR* GetTargetReference(); // returns null if opened from inventory
39
40 // members
43 void* unk70; // 70 - smart ptr
44 std::uint32_t unk78; // 78
45 std::uint32_t pad7C; // 7C
46 std::uint64_t unk80; // 80
47 void* unk88; // 88 - smart ptr
48 std::uint16_t unk90; // 90
49 std::uint16_t unk92; // 92
50 bool closeMenu; // 94
51 bool isNote; // 95
52 std::uint8_t unk96; // 96
53 std::uint8_t pad97; // 97
54 };
55#ifndef SKYRIMVR
56 static_assert(sizeof(BookMenu) == 0x98);
57#else
58 //static_assert(sizeof(BookMenu) == 0xB0);
59#endif
60}
Definition: BSTArray.h:377
Definition: BSTEvent.h:146
Definition: BSTEvent.h:28
Definition: BookMenu.h:22
std::uint64_t unk80
Definition: BookMenu.h:46
void * unk88
Definition: BookMenu.h:47
TESObjectREFR * GetTargetReference()
std::uint32_t pad7C
Definition: BookMenu.h:45
std::uint8_t pad97
Definition: BookMenu.h:53
void PostDisplay() override
std::uint16_t unk92
Definition: BookMenu.h:49
GPtr< GFxMovieView > book
Definition: BookMenu.h:42
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
void PreDisplay() override
std::uint8_t unk96
Definition: BookMenu.h:52
std::uint32_t unk78
Definition: BookMenu.h:44
static constexpr auto RTTI
Definition: BookMenu.h:24
BSTArray< ImageData > unk50
Definition: BookMenu.h:41
std::uint16_t unk90
Definition: BookMenu.h:48
void * unk70
Definition: BookMenu.h:43
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
static constexpr std::string_view MENU_NAME
Definition: BookMenu.h:25
bool isNote
Definition: BookMenu.h:51
~BookMenu() override
bool closeMenu
Definition: BookMenu.h:50
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
Definition: GPtr.h:7
Definition: IMenu.h:55
Definition: SimpleAnimationGraphManagerHolder.h:11
Definition: TESObjectREFR.h:105
Definition: UIMessage.h:28
Definition: AbsorbEffect.h:6
UI_MESSAGE_RESULTS
Definition: IMenu.h:48
constexpr REL::ID RTTI_BookMenu
Definition: Offsets_RTTI.h:3687
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: BSAnimationGraphEvent.h:10