CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
TESObjectCONT.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/F/FormTypes.h"
7#include "RE/T/TESContainer.h"
8#include "RE/T/TESFullName.h"
12#include "RE/T/TESWeightForm.h"
13
14namespace RE
15{
16 struct CONT_DATA
17 {
18 enum class Flag
19 {
20 kNone = 0,
22 kRespawn = 1 << 1,
23 kShowOwner = 1 << 2
24 };
25
27 };
28 static_assert(sizeof(CONT_DATA) == 0x1);
29
31 public TESBoundAnimObject, // 00
32 public TESContainer, // 30
33 public TESFullName, // 48
34 public TESModelTextureSwap, // 58
35 public TESWeightForm, // 90
36 public TESMagicCasterForm, // B8
37 public TESMagicTargetForm, // B9
38 public BGSDestructibleObjectForm, // A0
39 public BGSOpenCloseForm // B0
40 {
41 public:
42 inline static constexpr auto RTTI = RTTI_TESObjectCONT;
43 inline static constexpr auto FORMTYPE = FormType::Container;
44
46 {
47 enum RecordFlag : std::uint32_t
48 {
49 kDeleted = 1 << 5,
50 kIgnored = 1 << 12,
51 kHasDistantLOD = 1 << 15,
53 kObstacle = 1 << 25,
57 };
58 };
59
60 ~TESObjectCONT() override; // 00
61
62 // override (TESBoundAnimObject)
63 void InitializeData() override; // 04
64 bool Load(TESFile* a_mod) override; // 06
65 void InitItemImpl() override; // 13
66 bool Activate(TESObjectREFR* a_targetRef, TESObjectREFR* a_activatorRef, std::uint8_t a_arg3, TESBoundObject* a_object, std::int32_t a_targetCount) override; // 37
67 bool GetActivateText(TESObjectREFR* a_activator, BSString& a_dst) override; // 4C
68 bool CalculateDoFavor(Actor* a_activator, bool a_arg2, TESObjectREFR* a_toActivate, float a_arg3) override; // 4D
69
70 // override (BGSOpenCloseForm)
71 void HandleOpen(TESObjectREFR* a_target, TESObjectREFR* a_activator) override; // 01
72 void HandleClose(TESObjectREFR* a_target, TESObjectREFR* a_activator) override; // 02
73
74 // members
75 CONT_DATA data; // B9 - DATA
76 std::uint16_t padBA; // BA
77 std::uint32_t padBC; // BC
80 };
81 static_assert(offsetof(TESObjectCONT, data) == 0xB9);
82 static_assert(sizeof(TESObjectCONT) == 0xD0);
83}
Definition: Actor.h:125
Definition: BGSDestructibleObjectForm.h:61
Definition: BGSOpenCloseForm.h:9
Definition: BGSSoundDescriptorForm.h:14
Definition: TESBoundAnimObject.h:8
Definition: TESBoundObject.h:24
Definition: TESContainer.h:22
Definition: TESFile.h:14
Definition: TESFullName.h:9
Definition: TESMagicCasterForm.h:6
Definition: TESMagicTargetForm.h:6
Definition: TESModelTextureSwap.h:10
Definition: TESObjectCONT.h:40
bool CalculateDoFavor(Actor *a_activator, bool a_arg2, TESObjectREFR *a_toActivate, float a_arg3) override
BGSSoundDescriptorForm * openSound
Definition: TESObjectCONT.h:78
CONT_DATA data
Definition: TESObjectCONT.h:75
void HandleOpen(TESObjectREFR *a_target, TESObjectREFR *a_activator) override
bool GetActivateText(TESObjectREFR *a_activator, BSString &a_dst) override
void InitializeData() override
std::uint16_t padBA
Definition: TESObjectCONT.h:76
BGSSoundDescriptorForm * closeSound
Definition: TESObjectCONT.h:79
std::uint32_t padBC
Definition: TESObjectCONT.h:77
bool Activate(TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount) override
~TESObjectCONT() override
static constexpr auto FORMTYPE
Definition: TESObjectCONT.h:43
void HandleClose(TESObjectREFR *a_target, TESObjectREFR *a_activator) override
static constexpr auto RTTI
Definition: TESObjectCONT.h:42
bool Load(TESFile *a_mod) override
void InitItemImpl() override
Definition: TESObjectREFR.h:105
Definition: TESWeightForm.h:8
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESObjectCONT
Definition: Offsets_RTTI.h:6034
Definition: TESObjectCONT.h:17
Flag
Definition: TESObjectCONT.h:19
stl::enumeration< Flag, std::uint8_t > flags
Definition: TESObjectCONT.h:26
Definition: TESObjectCONT.h:46
RecordFlag
Definition: TESObjectCONT.h:48
@ kRandomAnimStart
Definition: TESObjectCONT.h:52
@ kHasDistantLOD
Definition: TESObjectCONT.h:51
@ kDeleted
Definition: TESObjectCONT.h:49
@ kObstacle
Definition: TESObjectCONT.h:53
@ kNavMeshGeneration_Ground
Definition: TESObjectCONT.h:56
@ kNavMeshGeneration_Filter
Definition: TESObjectCONT.h:54
@ kNavMeshGeneration_BoundingBox
Definition: TESObjectCONT.h:55
@ kIgnored
Definition: TESObjectCONT.h:50