CommonLibSSE NG
Loading...
Searching...
No Matches
NiMultiTargetTransformController.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 class NiAVObject;
8 class NiBlendTransformInterpolator;
9
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_NiMultiTargetTransformController;
15
17
18 // override (NiInterpController)
19 const NiRTTI* GetRTTI() const override; // 02
20 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
21 void LoadBinary(NiStream& a_stream) override; // 18
22 void LinkObject(NiStream& a_stream) override; // 19
23 bool RegisterStreamables(NiStream& a_stream) override; // 1A
24 void SaveBinary(NiStream& a_stream) override; // 1B
25 bool IsEqual(NiObject* a_object) override; // 1C
26 void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
27 void Update(float a_time) override; // 27
28 bool TargetIsRequiredType() const override; // 2E
29 std::uint16_t GetInterpolatorCount() const override; // 2F - { return numInterps; }
30 const char* GetInterpolatorID(std::uint16_t a_index = 0) override; // 30 - { return targets[a_index]->name.c_str(); }
31 std::uint16_t GetInterpolatorIndex(const char* a_id) const override; // 31
32 std::uint16_t GetInterpolatorIndexFx(const BSFixedString& a_id) const override; // 32
33 NiInterpolator* GetInterpolator(std::uint16_t a_index = 0) const override; // 33
34 void SetInterpolator(NiInterpolator* a_interpolator, std::uint16_t a_index = 0) override; // 34 - { return; }
35 void ResetTimeExtrema() override; // 35
36 NiInterpolator* CreatePoseInterpolator(std::uint16_t a_index) override; // 37
37 void SynchronizePoseInterpolator(NiInterpolator* a_interp, std::uint16_t a_index = 0) override; // 38 - { return; }
38 NiBlendInterpolator* CreateBlendInterpolator(std::uint16_t a_index = 0, bool a_managerControlled = false, bool a_accumulateAnimations = false, float a_weightThreshold = 0.0, std::uint8_t a_arraySize = 2) const override; // 39
39 void GuaranteeTimeRange(float a_startTime, float a_endTime) override; // 3A
40 bool InterpolatorIsCorrectType(NiInterpolator* a_interpolator, std::uint16_t a_index) const override; // 3B
41
42 // members
43 NiBlendTransformInterpolator* blendInterps; // 48
45 std::uint16_t numInterps; // 58
46 std::uint16_t pad5A; // 58
47 std::uint32_t pad5C; // 5C
48 };
49 static_assert(sizeof(NiMultiTargetTransformController) == 0x60);
50}
Definition NiAVObject.h:50
Definition NiCloningProcess.h:10
Definition NiInterpController.h:11
Definition NiInterpolator.h:16
Definition NiMultiTargetTransformController.h:11
void SaveBinary(NiStream &a_stream) override
std::uint16_t GetInterpolatorIndex(const char *a_id) const override
static constexpr auto RTTI
Definition NiMultiTargetTransformController.h:13
NiInterpolator * CreatePoseInterpolator(std::uint16_t a_index) override
static auto Ni_RTTI
Definition NiMultiTargetTransformController.h:14
NiBlendInterpolator * CreateBlendInterpolator(std::uint16_t a_index=0, bool a_managerControlled=false, bool a_accumulateAnimations=false, float a_weightThreshold=0.0, std::uint8_t a_arraySize=2) const override
std::uint16_t pad5A
Definition NiMultiTargetTransformController.h:46
void GuaranteeTimeRange(float a_startTime, float a_endTime) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
std::uint32_t pad5C
Definition NiMultiTargetTransformController.h:47
void LinkObject(NiStream &a_stream) override
const NiRTTI * GetRTTI() const override
bool RegisterStreamables(NiStream &a_stream) override
void Update(float a_time) override
std::uint16_t numInterps
Definition NiMultiTargetTransformController.h:45
std::uint16_t GetInterpolatorCount() const override
NiBlendTransformInterpolator * blendInterps
Definition NiMultiTargetTransformController.h:43
void ProcessClone(NiCloningProcess &a_cloning) override
void SynchronizePoseInterpolator(NiInterpolator *a_interp, std::uint16_t a_index=0) override
void LoadBinary(NiStream &a_stream) override
const char * GetInterpolatorID(std::uint16_t a_index=0) override
bool InterpolatorIsCorrectType(NiInterpolator *a_interpolator, std::uint16_t a_index) const override
bool IsEqual(NiObject *a_object) override
NiAVObject ** targets
Definition NiMultiTargetTransformController.h:44
bool TargetIsRequiredType() const override
std::uint16_t GetInterpolatorIndexFx(const BSFixedString &a_id) const override
void SetInterpolator(NiInterpolator *a_interpolator, std::uint16_t a_index=0) override
NiInterpolator * GetInterpolator(std::uint16_t a_index=0) const override
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_NiMultiTargetTransformController(524061, 410642, 0x316c4b8)
constexpr REL::VariantID RTTI_NiMultiTargetTransformController(690505, 398360, 0x1f62e60)