CommonLibVR
BSFaceGenAnimationData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
5 #include "RE/N/NiExtraData.h"
6 #include "RE/N/NiPoint3.h"
7 
8 namespace RE
9 {
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BSFaceGenAnimationData;
14  inline static constexpr auto Ni_RTTI = NiRTTI_BSFaceGenAnimationData;
15  inline static constexpr auto VTABLE = VTABLE_BSFaceGenAnimationData;
16 
17  ~BSFaceGenAnimationData() override; // 00
18 
19  // override (NiExtraData)
20  const NiRTTI* GetRTTI() const override; // 02
21 
22  void ClearExpressionOverride() noexcept { exprOverride = false; }
23 
24  void Reset(float a_timer, bool a_resetExpression, bool a_resetModifierAndPhoneme, bool a_resetCustom, bool a_closeEyes)
25  {
26  using func_t = decltype(&BSFaceGenAnimationData::Reset);
27  static REL::Relocation<func_t> func{ RELOCATION_ID(25977, 26586) };
28  return func(this, a_timer, a_resetExpression, a_resetModifierAndPhoneme, a_resetCustom, a_closeEyes);
29  }
30 
31  void SetExpressionOverride(std::int32_t a_idx, float a_value)
32  {
33  using func_t = decltype(&BSFaceGenAnimationData::SetExpressionOverride);
34  static REL::Relocation<func_t> func{ RELOCATION_ID(25980, 26594) };
35  return func(this, a_idx, a_value);
36  }
37 
38  // members
52  NiPoint3 unk1A0; // 1A0
53  std::uint32_t unk1AC; // 1AC
54  std::uint64_t unk1B0; // 1B0
55  std::uint64_t unk1B8; // 1B8
56  std::uint64_t unk1C0; // 1C0
57  std::uint64_t unk1C8; // 1C8
58  std::uint8_t unk1D0; // 1D0
59  std::uint8_t unk1D1; // 1D1
60  std::uint16_t unk1D2; // 1D2
61  std::uint32_t unk1D4; // 1D4
62  std::uint64_t unk1D8; // 1D8
63  std::uint64_t unk1E0; // 1E0
64  std::uint64_t unk1E8; // 1E8
65  std::uint32_t unk1F0; // 1F0
66  std::uint32_t unk1F4; // 1F4
67  std::uint64_t unk1F8; // 1F8
68  std::uint32_t unk200; // 200
69  float blinkDelay; // 204
70  std::uint32_t unk208; // 208
71  std::uint32_t unk20C; // 20C
72  std::uint32_t unk210; // 210
73  std::uint16_t unk214; // 214
74  std::uint8_t unk216; // 216
75  std::uint8_t unk217; // 217
76  std::uint8_t unk218; // 218
77  std::uint8_t unk219; // 219
78  std::uint8_t unk21A; // 21A
79  std::uint8_t unk21B; // 21B
80  std::uint8_t unk21C; // 21C
81  std::uint8_t unk21D; // 21D
82  bool exprOverride; // 21E
83  std::uint8_t unk21F; // 21F
84  mutable BSSpinLock lock; // 220
85  std::uint64_t unk228; // 228
86  private:
87  KEEP_FOR_RE()
88  };
89  static_assert(sizeof(BSFaceGenAnimationData) == 0x230);
90 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: BSFaceGenAnimationData.h:11
void ClearExpressionOverride() noexcept
Definition: BSFaceGenAnimationData.h:22
BSFaceGenKeyframeMultiple * transitionTargetKeyFrame
Definition: BSFaceGenAnimationData.h:39
static constexpr auto Ni_RTTI
Definition: BSFaceGenAnimationData.h:14
static constexpr auto RTTI
Definition: BSFaceGenAnimationData.h:13
std::uint8_t unk21C
Definition: BSFaceGenAnimationData.h:80
BSFaceGenKeyframeMultiple unk180
Definition: BSFaceGenAnimationData.h:51
std::uint32_t unk210
Definition: BSFaceGenAnimationData.h:72
std::uint8_t unk21D
Definition: BSFaceGenAnimationData.h:81
BSFaceGenKeyframeMultiple unk120
Definition: BSFaceGenAnimationData.h:48
std::uint32_t unk1F0
Definition: BSFaceGenAnimationData.h:65
BSFaceGenKeyframeMultiple unk140
Definition: BSFaceGenAnimationData.h:49
BSFaceGenKeyframeMultiple unk0C0
Definition: BSFaceGenAnimationData.h:45
std::uint64_t unk1E8
Definition: BSFaceGenAnimationData.h:64
NiPoint3 unk1A0
Definition: BSFaceGenAnimationData.h:52
std::uint8_t unk21B
Definition: BSFaceGenAnimationData.h:79
std::uint64_t unk1D8
Definition: BSFaceGenAnimationData.h:62
std::uint16_t unk214
Definition: BSFaceGenAnimationData.h:73
std::uint8_t unk1D0
Definition: BSFaceGenAnimationData.h:58
std::uint16_t unk1D2
Definition: BSFaceGenAnimationData.h:60
std::uint64_t unk1B8
Definition: BSFaceGenAnimationData.h:55
std::uint8_t unk216
Definition: BSFaceGenAnimationData.h:74
std::uint64_t unk1C8
Definition: BSFaceGenAnimationData.h:57
std::uint64_t unk1F8
Definition: BSFaceGenAnimationData.h:67
BSFaceGenKeyframeMultiple phenomeKeyFrame
Definition: BSFaceGenAnimationData.h:43
BSFaceGenKeyframeMultiple unk100
Definition: BSFaceGenAnimationData.h:47
std::uint32_t unk20C
Definition: BSFaceGenAnimationData.h:71
float blinkDelay
Definition: BSFaceGenAnimationData.h:69
static constexpr auto VTABLE
Definition: BSFaceGenAnimationData.h:15
BSFaceGenKeyframeMultiple modifierKeyFrame
Definition: BSFaceGenAnimationData.h:42
~BSFaceGenAnimationData() override
bool exprOverride
Definition: BSFaceGenAnimationData.h:82
std::uint8_t unk21A
Definition: BSFaceGenAnimationData.h:78
BSFaceGenKeyframeMultiple customKeyFrame
Definition: BSFaceGenAnimationData.h:44
std::uint32_t unk208
Definition: BSFaceGenAnimationData.h:70
std::uint32_t unk1D4
Definition: BSFaceGenAnimationData.h:61
std::uint32_t unk1AC
Definition: BSFaceGenAnimationData.h:53
BSFaceGenKeyframeMultiple expressionKeyFrame
Definition: BSFaceGenAnimationData.h:40
std::uint8_t unk21F
Definition: BSFaceGenAnimationData.h:83
std::uint64_t unk1B0
Definition: BSFaceGenAnimationData.h:54
BSFaceGenKeyframeMultiple unk040
Definition: BSFaceGenAnimationData.h:41
const NiRTTI * GetRTTI() const override
std::uint32_t unk200
Definition: BSFaceGenAnimationData.h:68
std::uint8_t unk217
Definition: BSFaceGenAnimationData.h:75
BSSpinLock lock
Definition: BSFaceGenAnimationData.h:84
std::uint8_t unk218
Definition: BSFaceGenAnimationData.h:76
BSFaceGenKeyframeMultiple unk160
Definition: BSFaceGenAnimationData.h:50
std::uint64_t unk228
Definition: BSFaceGenAnimationData.h:85
std::uint64_t unk1E0
Definition: BSFaceGenAnimationData.h:63
std::uint8_t unk219
Definition: BSFaceGenAnimationData.h:77
BSFaceGenKeyframeMultiple unk0E0
Definition: BSFaceGenAnimationData.h:46
std::uint32_t unk1F4
Definition: BSFaceGenAnimationData.h:66
std::uint8_t unk1D1
Definition: BSFaceGenAnimationData.h:59
std::uint64_t unk1C0
Definition: BSFaceGenAnimationData.h:56
void SetExpressionOverride(std::int32_t a_idx, float a_value)
Definition: BSFaceGenAnimationData.h:31
void Reset(float a_timer, bool a_resetExpression, bool a_resetModifierAndPhoneme, bool a_resetCustom, bool a_closeEyes)
Definition: BSFaceGenAnimationData.h:24
Definition: BSFaceGenKeyframeMultiple.h:8
Definition: BSAtomic.h:92
Definition: NiExtraData.h:9
Definition: NiPoint3.h:6
Definition: NiRTTI.h:6
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSFaceGenAnimationData(static_cast< std::uint64_t >(685550))
constexpr std::array< REL::ID, 1 > VTABLE_BSFaceGenAnimationData
Definition: Offsets_VTABLE.h:9011
constexpr REL::ID NiRTTI_BSFaceGenAnimationData(static_cast< std::uint64_t >(515540))