CommonLibVR
Loading...
Searching...
No Matches
NiColorInterpolator.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiColor.h"
6
7namespace RE
8{
9 class NiColorData;
10
12 {
13 public:
14 inline static constexpr auto RTTI = RTTI_NiColorInterpolator;
15 inline static constexpr auto Ni_RTTI = NiRTTI_NiColorInterpolator;
16 inline static constexpr auto VTABLE = VTABLE_NiColorInterpolator;
17
18 ~NiColorInterpolator() override; // 00
19
20 // override (NiKeyBasedInterpolator)
21 const NiRTTI* GetRTTI() const override; // 02
22 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
23 void LoadBinary(NiStream& a_stream) override; // 18
24 void LinkObject(NiStream& a_stream) override; // 19 - { NiKeyBasedInterpolator::LinkObject(a_stream); }
25 bool RegisterStreamables(NiStream& a_stream) override; // 1A
26 void SaveBinary(NiStream& a_stream) override; // 1B
27 bool IsEqual(NiObject* a_object) override; // 1C
28 bool Update1(float a_time, NiObjectNET* a_interpTarget, NiQuatTransform& a_value) override; // 25 - { return NiInterpolator::UpdateTransform(a_time, a_interpTarget, a_value); }
29 bool Update2(float a_time, NiObjectNET* a_target, NiColorA& a_value) override; // 26
30 bool Update3(float a_time, NiObjectNET* a_interpTarget, NiPoint3& a_value) override; // 27 - { return NiInterpolator::UpdateTransform(a_time, a_interpTarget, a_value); }
31 bool Update4(float a_time, NiObjectNET* a_interpTarget, NiQuaternion& a_value) override; // 28 - { return NiInterpolator::UpdateTransform(a_time, a_interpTarget, a_value); }
32 bool Update5(float a_time, NiObjectNET* a_interpTarget, float& a_value) override; // 29 - { return NiInterpolator::UpdateTransform(a_time, a_interpTarget, a_value); }
33 bool Update6(float a_time, NiObjectNET* a_interpTarget, bool& a_value) override; // 2A - { return NiInterpolator::UpdateTransform(a_time, a_interpTarget, a_value); }
34 bool IsColorAValueSupported() const override; // 2F - { return true; }
35 void Collapse() override; // 31
36 void GuaranteeTimeRange(float a_start, float a_end) override; // 33
37 NiInterpolator* GetSequenceInterpolator(float a_start, float a_end) override; // 34
38 std::uint16_t GetKeyChannelCount() const override; // 39 - { return 1; }
39 std::uint32_t GetKeyCount(std::uint16_t a_channel) const override; // 3A - { return colorData ? colorData->numKeys : 0; }
40 KeyContent GetKeyContent(std::uint16_t a_channel) const override; // 3B - { KeyContent::kColor; }
41 KeyType GetKeyType(std::uint16_t a_channel) const override; // 3C - { return colorData ? colorData->type : 0; }
42 void* GetKeyArray(std::uint16_t a_channel) const override; // 3D - { return colorData ? colorData->keys : 0; }
43 std::uint8_t GetKeyStride(std::uint16_t a_channel) const override; // 3E - { return colorData ? colorData->keySize : 0; }
44 [[nodiscard]] bool GetChannelPosed(std::uint16_t a_channel) const override; // 3F
45
46 // members
49 std::uint32_t lastIndex; // 30
50 std::uint32_t pad34; // 34
51 private:
53 };
54 static_assert(sizeof(NiColorInterpolator) == 0x38);
55}
#define KEEP_FOR_RE()
Definition PCH.h:517
KeyContent
Definition NiAnimationKey.h:9
KeyType
Definition NiAnimationKey.h:21
Definition NiCloningProcess.h:10
Definition NiColor.h:283
Definition NiColorInterpolator.h:12
void SaveBinary(NiStream &a_stream) override
void GuaranteeTimeRange(float a_start, float a_end) override
static constexpr auto VTABLE
Definition NiColorInterpolator.h:16
NiObject * CreateClone(NiCloningProcess &a_cloning) override
NiPointer< NiColorData > colorData
Definition NiColorInterpolator.h:48
void Collapse() override
bool Update6(float a_time, NiObjectNET *a_interpTarget, bool &a_value) override
~NiColorInterpolator() override
KeyContent GetKeyContent(std::uint16_t a_channel) const override
const NiRTTI * GetRTTI() const override
bool GetChannelPosed(std::uint16_t a_channel) const override
bool RegisterStreamables(NiStream &a_stream) override
bool Update2(float a_time, NiObjectNET *a_target, NiColorA &a_value) override
NiColorA colorValue
Definition NiColorInterpolator.h:47
NiInterpolator * GetSequenceInterpolator(float a_start, float a_end) override
bool IsEqual(NiObject *a_object) override
void LinkObject(NiStream &a_stream) override
bool Update1(float a_time, NiObjectNET *a_interpTarget, NiQuatTransform &a_value) override
void * GetKeyArray(std::uint16_t a_channel) const override
std::uint32_t pad34
Definition NiColorInterpolator.h:50
void LoadBinary(NiStream &a_stream) override
std::uint32_t GetKeyCount(std::uint16_t a_channel) const override
bool Update5(float a_time, NiObjectNET *a_interpTarget, float &a_value) override
static constexpr auto Ni_RTTI
Definition NiColorInterpolator.h:15
static constexpr auto RTTI
Definition NiColorInterpolator.h:14
bool Update3(float a_time, NiObjectNET *a_interpTarget, NiPoint3 &a_value) override
KeyType GetKeyType(std::uint16_t a_channel) const override
std::uint32_t lastIndex
Definition NiColorInterpolator.h:49
std::uint8_t GetKeyStride(std::uint16_t a_channel) const override
std::uint16_t GetKeyChannelCount() const override
bool Update4(float a_time, NiObjectNET *a_interpTarget, NiQuaternion &a_value) override
bool IsColorAValueSupported() const override
Definition NiInterpolator.h:16
Definition NiKeyBasedInterpolator.h:9
Definition NiObjectNET.h:13
Definition NiObject.h:37
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition NiQuaternion.h:6
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition AbsorbEffect.h:6
constexpr REL::ID NiRTTI_NiColorInterpolator(static_cast< std::uint64_t >(524341))
constexpr std::array< REL::ID, 1 > VTABLE_NiColorInterpolator
Definition Offsets_VTABLE.h:12195
constexpr REL::ID RTTI_NiColorInterpolator(static_cast< std::uint64_t >(690512))