CommonLibVR
BookMenu.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
RE/B/BSScaleformExternalTexture.h
"
4
#include "
RE/B/BSString.h
"
5
#include "
RE/B/BSTEvent.h
"
6
#include "
RE/G/GPtr.h
"
7
#include "
RE/I/IMenu.h
"
8
#include "
RE/N/NiMatrix3.h
"
9
#include "
RE/N/NiSmartPointer.h
"
10
#include "
RE/S/SimpleAnimationGraphManagerHolder.h
"
11
12
namespace
RE
13
{
14
struct
BSAnimationGraphEvent;
15
16
class
BSGeometry;
17
class
ExtraDataList;
18
class
NiAVObject;
19
class
NiSourceTexture;
20
class
TESObjectBOOK;
21
class
TESObjectREFR;
22
23
// menuDepth = 1
24
// flags = kPausesGame | kUsesMenuContext | kDisablePauseMenu | kRequiresUpdate | kTopmostRenderedMenu | kRendersOffscreenTargets
25
// context = kBook
26
class
BookMenu
:
27
public
IMenu
,
// 00
28
public
SimpleAnimationGraphManagerHolder
,
// 30
29
public
BSTEventSink
<BSAnimationGraphEvent>
// 48
30
{
31
public
:
32
inline
static
constexpr
auto
RTTI
=
RTTI_BookMenu
;
33
inline
static
constexpr
auto
VTABLE
=
VTABLE_BookMenu
;
34
constexpr
static
std::string_view
MENU_NAME
=
"Book Menu"
;
35
36
~BookMenu
()
override
;
// 00
37
38
// override (IMenu)
39
UI_MESSAGE_RESULTS
ProcessMessage
(
UIMessage
& a_message)
override
;
// 04
40
void
AdvanceMovie
(
float
a_interval, std::uint32_t a_currentTime)
override
;
// 05
41
void
PostDisplay
()
override
;
// 06
42
void
PreDisplay
()
override
;
// 07
43
44
// override (BSTEventSink<BSAnimationGraphEvent>)
45
BSEventNotifyControl
ProcessEvent
(
const
BSAnimationGraphEvent
* a_event,
BSTEventSource<BSAnimationGraphEvent>
* a_eventSource)
override
;
// 01
46
47
[[nodiscard]]
static
TESObjectBOOK
*
GetTargetForm
();
48
[[nodiscard]]
static
TESObjectREFR
*
GetTargetReference
();
// returns null if opened from inventory
49
50
static
void
OpenBookMenu
(
const
BSString
& a_description,
const
ExtraDataList
* a_extraList,
TESObjectREFR
* a_ref,
TESObjectBOOK
* a_book,
const
NiPoint3
& a_pos,
const
NiMatrix3
& a_rot,
float
a_scale,
bool
a_useDefaultPos);
51
52
// members
53
BSTArray<BSScaleformExternalTexture>
bookTextures
;
// 50
54
GPtr<GFxMovieView>
book
;
// 68
55
NiPointer<NiAVObject>
bookModel
;
// 70
56
std::uint32_t
numRenderTargets
;
// 78
57
std::uint32_t
pad7C
;
// 7C
58
NiSourceTexture
*
pageTexture
;
// 80
59
NiPointer<BSGeometry>
pageTextGeo
;
// 88 - smart ptr
60
std::uint16_t
unk90
;
// 90
61
std::uint16_t
startAnimating
;
// 92
62
bool
closeMenu
;
// 94
63
bool
isNote
;
// 95
64
bool
bookInitialized
;
// 96
65
std::uint8_t
pad97
;
// 97
66
private
:
67
KEEP_FOR_RE
()
68
};
69
#ifndef SKYRIMVR
70
static_assert(
sizeof
(
BookMenu
) == 0x98);
71
#else
72
//static_assert(sizeof(BookMenu) == 0xB0);
73
#endif
74
}
BSScaleformExternalTexture.h
BSString.h
BSTEvent.h
GPtr.h
IMenu.h
NiMatrix3.h
NiSmartPointer.h
KEEP_FOR_RE
#define KEEP_FOR_RE()
Definition:
PCH.h:713
SimpleAnimationGraphManagerHolder.h
RE::BSStringT< char, static_cast< std::uint32_t >(-1), DynamicMemoryManagementPol >
RE::BSTArray
Definition:
BSTArray.h:378
RE::BSTEventSink
Definition:
BSTEvent.h:143
RE::BSTEventSource< BSAnimationGraphEvent >
RE::BookMenu
Definition:
BookMenu.h:30
RE::BookMenu::MENU_NAME
constexpr static std::string_view MENU_NAME
Definition:
BookMenu.h:34
RE::BookMenu::startAnimating
std::uint16_t startAnimating
Definition:
BookMenu.h:61
RE::BookMenu::pad7C
std::uint32_t pad7C
Definition:
BookMenu.h:57
RE::BookMenu::pad97
std::uint8_t pad97
Definition:
BookMenu.h:65
RE::BookMenu::VTABLE
static constexpr auto VTABLE
Definition:
BookMenu.h:33
RE::BookMenu::PostDisplay
void PostDisplay() override
RE::BookMenu::book
GPtr< GFxMovieView > book
Definition:
BookMenu.h:54
RE::BookMenu::ProcessMessage
UI_MESSAGE_RESULTS ProcessMessage(UIMessage &a_message) override
RE::BookMenu::PreDisplay
void PreDisplay() override
RE::BookMenu::bookModel
NiPointer< NiAVObject > bookModel
Definition:
BookMenu.h:55
RE::BookMenu::RTTI
static constexpr auto RTTI
Definition:
BookMenu.h:32
RE::BookMenu::numRenderTargets
std::uint32_t numRenderTargets
Definition:
BookMenu.h:56
RE::BookMenu::unk90
std::uint16_t unk90
Definition:
BookMenu.h:60
RE::BookMenu::pageTextGeo
NiPointer< BSGeometry > pageTextGeo
Definition:
BookMenu.h:59
RE::BookMenu::bookTextures
BSTArray< BSScaleformExternalTexture > bookTextures
Definition:
BookMenu.h:53
RE::BookMenu::GetTargetReference
static TESObjectREFR * GetTargetReference()
RE::BookMenu::ProcessEvent
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
RE::BookMenu::isNote
bool isNote
Definition:
BookMenu.h:63
RE::BookMenu::bookInitialized
bool bookInitialized
Definition:
BookMenu.h:64
RE::BookMenu::GetTargetForm
static TESObjectBOOK * GetTargetForm()
RE::BookMenu::~BookMenu
~BookMenu() override
RE::BookMenu::closeMenu
bool closeMenu
Definition:
BookMenu.h:62
RE::BookMenu::pageTexture
NiSourceTexture * pageTexture
Definition:
BookMenu.h:58
RE::BookMenu::AdvanceMovie
void AdvanceMovie(float a_interval, std::uint32_t a_currentTime) override
RE::BookMenu::OpenBookMenu
static void OpenBookMenu(const BSString &a_description, const ExtraDataList *a_extraList, TESObjectREFR *a_ref, TESObjectBOOK *a_book, const NiPoint3 &a_pos, const NiMatrix3 &a_rot, float a_scale, bool a_useDefaultPos)
RE::ExtraDataList
Definition:
ExtraDataList.h:51
RE::GPtr
Definition:
GPtr.h:7
RE::IMenu
Definition:
IMenu.h:64
RE::NiMatrix3
Definition:
NiMatrix3.h:8
RE::NiPoint3
Definition:
NiPoint3.h:6
RE::NiPointer
Definition:
NiSmartPointer.h:9
RE::NiSourceTexture
Definition:
NiSourceTexture.h:21
RE::SimpleAnimationGraphManagerHolder
Definition:
SimpleAnimationGraphManagerHolder.h:11
RE::TESObjectBOOK
Definition:
TESObjectBOOK.h:66
RE::TESObjectREFR
Definition:
TESObjectREFR.h:113
RE::UIMessage
Definition:
UIMessage.h:28
RE
Definition:
AbsorbEffect.h:6
RE::RTTI_BookMenu
constexpr REL::ID RTTI_BookMenu(static_cast< std::uint64_t >(688801))
RE::UI_MESSAGE_RESULTS
UI_MESSAGE_RESULTS
Definition:
IMenu.h:49
RE::VTABLE_BookMenu
constexpr std::array< REL::ID, 3 > VTABLE_BookMenu
Definition:
Offsets_VTABLE.h:10613
RE::BSEventNotifyControl
BSEventNotifyControl
Definition:
BSTEvent.h:12
RE::BSAnimationGraphEvent
Definition:
BSAnimationGraphEvent.h:10
CommonLibVR
include
RE
B
BookMenu.h
Generated by
1.9.1