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