CommonLibSSE (powerof3)
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
60 {
61 public:
62 union Value
63 {
64 bool b;
65 std::int32_t i;
66 float f;
67 };
68 static_assert(sizeof(Value) == 0x4);
69
70 // members
72 Value* value; // 08
73 };
74 static_assert(sizeof(AnimationVariable) == 0x10);
75
76 ~BSAnimationGraphManager() override; // 00
77
78 // override (BSTEventSink<BSAnimationGraphEvent>)
80
81 // members
82 std::uint32_t pad0C; // 0C
88 mutable BSSpinLock updateLock; // 98
90 std::uint32_t activeGraph; // A8
91 std::uint32_t generateDepth; // A8
92 };
93#ifndef SKYRIM_SUPPORT_AE
94 static_assert(sizeof(BSAnimationGraphManager) == 0xB0);
95#else
96 static_assert(sizeof(BSAnimationGraphManager) == 0xB8);
97#endif
98}
#define BSSmartPointer(className)
Definition: BSTSmartPointer.h:284
Definition: BSAnimationGraphManager.h:55
BSTArray< BSTSmartPointer< BSAnimationGraphChannel > > bumpedChannels
Definition: BSAnimationGraphManager.h:84
BSEventNotifyControl ProcessEvent(const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource) override
BSTSmallArray< BSTSmartPointer< BShkbAnimationGraph > > graphs
Definition: BSAnimationGraphManager.h:85
std::uint32_t activeGraph
Definition: BSAnimationGraphManager.h:90
BSAnimationGraphVariableCache variableCache
Definition: BSAnimationGraphManager.h:87
BSSpinLock updateLock
Definition: BSAnimationGraphManager.h:88
static constexpr auto RTTI
Definition: BSAnimationGraphManager.h:57
std::uint32_t pad0C
Definition: BSAnimationGraphManager.h:82
BSTArray< BSTSmartPointer< BSAnimationGraphChannel > > boundChannels
Definition: BSAnimationGraphManager.h:83
BSTArray< BSAnimationGraphManagerPtr > subManagers
Definition: BSAnimationGraphManager.h:86
BSSpinLock dependentManagerLock
Definition: BSAnimationGraphManager.h:89
std::uint32_t generateDepth
Definition: BSAnimationGraphManager.h:91
Definition: BSAtomic.h:49
Definition: BSTArray.h:377
Definition: BSTEvent.h:143
Definition: BSTEvent.h:19
Definition: BSTSmartPointer.h:37
Definition: AbsorbEffect.h:6
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:60
Value * value
Definition: BSAnimationGraphManager.h:72
BSFixedString name
Definition: BSAnimationGraphManager.h:71
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:63
float f
Definition: BSAnimationGraphManager.h:66
bool b
Definition: BSAnimationGraphManager.h:64
std::int32_t i
Definition: BSAnimationGraphManager.h:65
Definition: BSAnimationGraphManager.h:17
std::int32_t i
Definition: BSAnimationGraphManager.h:19
bool b
Definition: BSAnimationGraphManager.h:18
float f
Definition: BSAnimationGraphManager.h:20