CommonLibVR
Loading...
Searching...
No Matches
BSAnimationGraphManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
6#include "RE/B/BSTArray.h"
7#include "RE/B/BSTEvent.h"
9
10namespace RE
11{
12 class BSAnimationGraphChannel;
13 class BShkbAnimationGraph;
14 struct BSAnimationGraphEvent;
15
17 {
18 bool b;
19 std::int32_t i;
20 float f;
21 };
22 static_assert(sizeof(hkbVariableValue) == 0x4);
23
25 {
26 public:
27 // members
30 };
31 static_assert(sizeof(AnimVariableCacheInfo) == 0x10);
32
34 {
35 public:
36 // members
38 mutable BSSpinLock updateLock; // 18
39#ifdef SKYRIM_SUPPORT_AE
40 mutable BSSpinLock graphLock; // 20
41#endif
43 };
44#ifndef SKYRIM_SUPPORT_AE
45 static_assert(sizeof(BSAnimationGraphVariableCache) == 0x28);
46#else
47 static_assert(sizeof(BSAnimationGraphVariableCache) == 0x30);
48#endif
49
51
53 public BSTEventSink<BSAnimationGraphEvent>, // 00
54 public BSIntrusiveRefCounted // 08
55 {
56 public:
57 inline static constexpr auto RTTI = RTTI_BSAnimationGraphManager;
58 inline static constexpr auto VTABLE = VTABLE_BSAnimationGraphManager;
59
61 {
62 public:
63 union Value
64 {
65 bool b;
66 std::int32_t i;
67 float f;
68 };
69 static_assert(sizeof(Value) == 0x4);
70
71 // members
73 Value* value; // 08
74 };
75 static_assert(sizeof(AnimationVariable) == 0x10);
76
77 ~BSAnimationGraphManager() override; // 00
78
79 // override (BSTEventSink<BSAnimationGraphEvent>)
81
82 // members
83 std::uint32_t pad0C; // 0C
89 mutable BSSpinLock updateLock; // 98
91 std::uint32_t activeGraph; // A8
92 std::uint32_t generateDepth; // A8
93 private:
95 };
96#ifndef SKYRIM_SUPPORT_AE
97 static_assert(sizeof(BSAnimationGraphManager) == 0xB0);
98#else
99 static_assert(sizeof(BSAnimationGraphManager) == 0xB8);
100#endif
101}
#define BSSmartPointer(className)
Definition BSTSmartPointer.h:284
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSAnimationGraphManager.h:55
BSTArray< BSTSmartPointer< BSAnimationGraphChannel > > bumpedChannels
Definition BSAnimationGraphManager.h:85
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
BSTSmallArray< BSTSmartPointer< BShkbAnimationGraph > > graphs
Definition BSAnimationGraphManager.h:86
std::uint32_t activeGraph
Definition BSAnimationGraphManager.h:91
BSAnimationGraphVariableCache variableCache
Definition BSAnimationGraphManager.h:88
BSSpinLock updateLock
Definition BSAnimationGraphManager.h:89
static constexpr auto RTTI
Definition BSAnimationGraphManager.h:57
std::uint32_t pad0C
Definition BSAnimationGraphManager.h:83
BSTArray< BSTSmartPointer< BSAnimationGraphChannel > > boundChannels
Definition BSAnimationGraphManager.h:84
static constexpr auto VTABLE
Definition BSAnimationGraphManager.h:58
BSTArray< BSAnimationGraphManagerPtr > subManagers
Definition BSAnimationGraphManager.h:87
BSSpinLock dependentManagerLock
Definition BSAnimationGraphManager.h:90
std::uint32_t generateDepth
Definition BSAnimationGraphManager.h:92
Definition BSAtomic.h:92
Definition BSTArray.h:378
Definition BSTEvent.h:143
Definition BSTEvent.h:19
Definition BSTSmartPointer.h:37
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSAnimationGraphManager
Definition Offsets_VTABLE.h:8946
constexpr REL::ID RTTI_BSAnimationGraphManager(static_cast< std::uint64_t >(689998))
BSEventNotifyControl
Definition BSTEvent.h:12
Definition BSAnimationGraphManager.h:25
hkbVariableValue * variable
Definition BSAnimationGraphManager.h:29
BSFixedString variableName
Definition BSAnimationGraphManager.h:28
Definition BSAnimationGraphEvent.h:10
Definition BSAnimationGraphManager.h:61
Value * value
Definition BSAnimationGraphManager.h:73
BSFixedString name
Definition BSAnimationGraphManager.h:72
Definition BSAnimationGraphManager.h:34
BSSpinLock updateLock
Definition BSAnimationGraphManager.h:38
BSTSmartPointer< BShkbAnimationGraph > animationGraph
Definition BSAnimationGraphManager.h:42
BSTArray< AnimVariableCacheInfo > variableCache
Definition BSAnimationGraphManager.h:37
Definition BSIntrusiveRefCounted.h:8
Definition BSAnimationGraphManager.h:64
float f
Definition BSAnimationGraphManager.h:67
bool b
Definition BSAnimationGraphManager.h:65
std::int32_t i
Definition BSAnimationGraphManager.h:66
Definition BSAnimationGraphManager.h:17
std::int32_t i
Definition BSAnimationGraphManager.h:19
bool b
Definition BSAnimationGraphManager.h:18
float f
Definition BSAnimationGraphManager.h:20