CommonLibVR
Loading...
Searching...
No Matches
NiAlphaProperty.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiProperty.h"
4
5namespace RE
6{
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_NiAlphaProperty;
11 inline static constexpr auto Ni_RTTI = NiRTTI_NiAlphaProperty;
12 inline static constexpr auto VTABLE = VTABLE_NiAlphaProperty;
13
28
29 enum class TestFunction
30 {
31 kAlways,
32 kLess,
33 kEqual,
38 kNever
39 };
40
41 ~NiAlphaProperty() override; // 00
42
43 // override (NiProperty)
44 const NiRTTI* GetRTTI() const override; // 02
45 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
46 void LoadBinary(NiStream& a_stream) override; // 18
47 void LinkObject(NiStream& a_stream) override; // 19 - { NiProperty::LinkObject(a_stream); }
48 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiProperty::RegisterStreamables(a_stream); }
49 void SaveBinary(NiStream& a_stream) override; // 1B
50 bool IsEqual(NiObject* a_object) override; // 1C
51 [[nodiscard]] Type GetType() const override; // 25 - { return Type::kAlpha; }
52
53 [[nodiscard]] bool GetAlphaBlending() const;
54 [[nodiscard]] bool GetAlphaTesting() const;
55 [[nodiscard]] AlphaFunction GetDestBlendMode() const;
56 [[nodiscard]] AlphaFunction GetSrcBlendMode() const;
57 void SetAlphaBlending(bool a_enable);
58 void SetAlphaTesting(bool a_enable);
61
62 // members
63 std::uint16_t alphaFlags; // 30
64 std::uint8_t alphaThreshold; // 32
65 std::uint8_t pad33; // 33
66 std::uint32_t pad34; // 34
67 private:
69 };
70 static_assert(sizeof(NiAlphaProperty) == 0x38);
71}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition NiAlphaProperty.h:8
std::uint16_t alphaFlags
Definition NiAlphaProperty.h:63
void SetDestBlendMode(AlphaFunction a_mode)
bool GetAlphaBlending() const
void SetSrcBlendMode(AlphaFunction a_mode)
void LinkObject(NiStream &a_stream) override
void LoadBinary(NiStream &a_stream) override
bool RegisterStreamables(NiStream &a_stream) override
AlphaFunction GetSrcBlendMode() const
Type GetType() const override
static constexpr auto Ni_RTTI
Definition NiAlphaProperty.h:11
AlphaFunction
Definition NiAlphaProperty.h:15
AlphaFunction GetDestBlendMode() const
void SetAlphaTesting(bool a_enable)
bool GetAlphaTesting() const
static constexpr auto RTTI
Definition NiAlphaProperty.h:10
std::uint8_t alphaThreshold
Definition NiAlphaProperty.h:64
std::uint32_t pad34
Definition NiAlphaProperty.h:66
const NiRTTI * GetRTTI() const override
std::uint8_t pad33
Definition NiAlphaProperty.h:65
~NiAlphaProperty() override
TestFunction
Definition NiAlphaProperty.h:30
void SaveBinary(NiStream &a_stream) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
static constexpr auto VTABLE
Definition NiAlphaProperty.h:12
bool IsEqual(NiObject *a_object) override
void SetAlphaBlending(bool a_enable)
Definition NiCloningProcess.h:10
Definition NiObject.h:37
Definition NiProperty.h:8
Type
Definition NiProperty.h:15
Definition NiRTTI.h:6
Definition NiStream.h:29
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_NiAlphaProperty(static_cast< std::uint64_t >(684913))
constexpr std::array< REL::ID, 1 > VTABLE_NiAlphaProperty
Definition Offsets_VTABLE.h:12147
constexpr REL::ID NiRTTI_NiAlphaProperty(static_cast< std::uint64_t >(523931))