CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
TESObject.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/T/TESForm.h"
4
5namespace RE
6{
7 class NiAVObject;
8 class TESObjectREFR;
9
10 class TESObject : public TESForm
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_TESObject;
14 inline static constexpr auto VTABLE = VTABLE_TESObject;
15
17 {
18 enum ChangeFlag : std::uint32_t
19 {
20 kObjectValue = 1 << 1,
21 kObjectFullName = 1 << 2
22 };
23 };
24
25 ~TESObject() override; // 00
26
27 // override (TESForm)
28 bool IsObject() const override; // 28 - { return true; }
29 [[nodiscard]] std::uint32_t GetRefCount() const override; // 2D - { return 0; }
30
31 // add
32 virtual void Unk_3B(void); // 3B - { return 0; }
33 virtual bool IsBoundAnimObject(); // 3C - { return false; }
34 [[nodiscard]] virtual TESWaterForm* GetWaterType() const; // 3D - { return 0; }
35 [[nodiscard]] virtual bool IsAutoCalc() const; // 3E - { return false; }
36 virtual void SetAutoCalc(bool a_autoCalc); // 3F - { return; }
37 virtual NiAVObject* Clone3D(TESObjectREFR* a_ref, bool a_arg3); // 40 - { return 0; }
38 virtual void UnClone3D(TESObjectREFR* a_ref); // 41
39 virtual bool IsMarker(); // 42
40 virtual bool IsOcclusionMarker(); // 43 - { return formType == FormType::Static && this == Plane/Room/PortalMarker; }
41 virtual bool ReplaceModel(); // 44
42 virtual std::uint32_t IncRef(); // 45 - { return 0; }
43 virtual std::uint32_t DecRef(); // 46 - { return 0; }
44 virtual NiAVObject* LoadGraphics(TESObjectREFR* a_ref); // 47
45 };
46 static_assert(sizeof(TESObject) == 0x20);
47}
Definition NiAVObject.h:51
Definition TESForm.h:36
Definition TESObjectREFR.h:114
Definition TESObject.h:11
static constexpr auto VTABLE
Definition TESObject.h:14
~TESObject() override
virtual bool IsBoundAnimObject()
virtual void Unk_3B(void)
bool IsObject() const override
virtual bool ReplaceModel()
static constexpr auto RTTI
Definition TESObject.h:13
std::uint32_t GetRefCount() const override
virtual NiAVObject * Clone3D(TESObjectREFR *a_ref, bool a_arg3)
virtual bool IsMarker()
virtual std::uint32_t DecRef()
virtual bool IsAutoCalc() const
virtual TESWaterForm * GetWaterType() const
virtual void UnClone3D(TESObjectREFR *a_ref)
virtual bool IsOcclusionMarker()
virtual void SetAutoCalc(bool a_autoCalc)
virtual NiAVObject * LoadGraphics(TESObjectREFR *a_ref)
virtual std::uint32_t IncRef()
Definition TESWaterForm.h:83
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_TESObject(static_cast< std::uint64_t >(513853))
constexpr std::array< REL::ID, 1 > VTABLE_TESObject
Definition Offsets_VTABLE.h:12855
Definition TESObject.h:17
ChangeFlag
Definition TESObject.h:19
@ kObjectValue
Definition TESObject.h:20
@ kObjectFullName
Definition TESObject.h:21