CommonLibVR
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;
14 inline static constexpr auto Ni_RTTI = NiRTTI_NiMultiTargetTransformController;
15 inline static constexpr auto VTABLE = VTABLE_NiMultiTargetTransformController;
16
18
19 // override (NiInterpController)
20 const NiRTTI* GetRTTI() const override; // 02
21 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
22 void LoadBinary(NiStream& a_stream) override; // 18
23 void LinkObject(NiStream& a_stream) override; // 19
24 bool RegisterStreamables(NiStream& a_stream) override; // 1A
25 void SaveBinary(NiStream& a_stream) override; // 1B
26 bool IsEqual(NiObject* a_object) override; // 1C
27 void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
28 void Update(float a_time) override; // 27
29 bool TargetIsRequiredType() const override; // 2E
30 std::uint16_t GetInterpolatorCount() const override; // 2F - { return numInterps; }
31 const char* GetInterpolatorID(std::uint16_t a_index = 0) override; // 30 - { return targets[a_index]->name.c_str(); }
32 std::uint16_t GetInterpolatorIndex(const char* a_id) const override; // 31
33 std::uint16_t GetInterpolatorIndexFx(const BSFixedString& a_id) const override; // 32
34 NiInterpolator* GetInterpolator(std::uint16_t a_index = 0) const override; // 33
35 void SetInterpolator(NiInterpolator* a_interpolator, std::uint16_t a_index = 0) override; // 34 - { return; }
36 void ResetTimeExtrema() override; // 35
37 NiInterpolator* CreatePoseInterpolator(std::uint16_t a_index) override; // 37
38 void SynchronizePoseInterpolator(NiInterpolator* a_interp, std::uint16_t a_index = 0) override; // 38 - { return; }
39 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
40 void GuaranteeTimeRange(float a_startTime, float a_endTime) override; // 3A
41 bool InterpolatorIsCorrectType(NiInterpolator* a_interpolator, std::uint16_t a_index) const override; // 3B
42
43 // members
44 NiBlendTransformInterpolator* blendInterps; // 48
46 std::uint16_t numInterps; // 58
47 std::uint16_t pad5A; // 58
48 std::uint32_t pad5C; // 5C
49 private:
51 };
52 static_assert(sizeof(NiMultiTargetTransformController) == 0x60);
53}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition NiAVObject.h:57
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
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:47
void GuaranteeTimeRange(float a_startTime, float a_endTime) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
std::uint32_t pad5C
Definition NiMultiTargetTransformController.h:48
void LinkObject(NiStream &a_stream) override
const NiRTTI * GetRTTI() const override
bool RegisterStreamables(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition NiMultiTargetTransformController.h:14
void Update(float a_time) override
std::uint16_t numInterps
Definition NiMultiTargetTransformController.h:46
static constexpr auto VTABLE
Definition NiMultiTargetTransformController.h:15
std::uint16_t GetInterpolatorCount() const override
NiBlendTransformInterpolator * blendInterps
Definition NiMultiTargetTransformController.h:44
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:45
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:29
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_NiMultiTargetTransformController
Definition Offsets_VTABLE.h:12234
constexpr REL::ID RTTI_NiMultiTargetTransformController(static_cast< std::uint64_t >(690505))
constexpr REL::ID NiRTTI_NiMultiTargetTransformController(static_cast< std::uint64_t >(524061))