CommonLibSSE (powerof3)
BSAnimationGraphManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 #include "RE/B/BSFixedString.h"
6 #include "RE/B/BSTArray.h"
7 #include "RE/B/BSTEvent.h"
8 #include "RE/B/BSTSmartPointer.h"
9 
10 namespace 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  };
94 #ifndef SKYRIM_SUPPORT_AE
95  static_assert(sizeof(BSAnimationGraphManager) == 0xB0);
96 #else
97  static_assert(sizeof(BSAnimationGraphManager) == 0xB8);
98 #endif
99 }
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: BSTSmartPointer.h:37
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSAnimationGraphManager
Definition: Offsets_VTABLE.h:8946
BSSmartPointer(BSAnimationGraphManager)
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:69
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