CommonLibSSE NG
Loading...
Searching...
No Matches
TESBoundObject.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSString.h"
4#include "RE/F/FormTypes.h"
6#include "RE/T/TESObject.h"
7
8namespace RE
9{
10 class NiAVObject;
11 class TESObjectREFR;
12
14 {
15 public:
16 // members
17 std::int16_t x; // 0
18 std::int16_t y; // 2
19 std::int16_t z; // 4
20 };
21 static_assert(sizeof(NiNPShortPoint3) == 0x6);
22
24 {
25 public:
26 inline static constexpr auto RTTI = RTTI_TESBoundObject;
27
28 struct BOUND_DATA // OBND
29 {
30 public:
31 // members
34 };
35 static_assert(sizeof(BOUND_DATA) == 0xC);
36
37 ~TESBoundObject() override; // 00
38
39 // override (TESObject)
40 void LoadObjectBound(TESFile* a_mod) override; // 26
41 bool IsBoundObject() const override; // 27 - { return true; }
42 bool Activate(TESObjectREFR* a_targetRef, TESObjectREFR* a_activatorRef, std::uint8_t a_arg3, TESBoundObject* a_object, std::int32_t a_targetCount) override; // 37
43 NiAVObject* Clone3D(TESObjectREFR* a_ref, bool a_arg3) override; // 40
44 bool ReplaceModel() override; // 44
45
46 // add
47 virtual void SetObjectVoiceType(BGSVoiceType* a_voiceType); // 48 - { return; }
48 [[nodiscard]] virtual BGSVoiceType* GetObjectVoiceType() const; // 49 - { return 0; }
49 virtual NiAVObject* Clone3D(TESObjectREFR* a_ref); // 4A - { Clone3D(a_ref, false); }
50 virtual bool ReplaceModel(const char* a_str); // 4B
51 virtual bool GetActivateText(TESObjectREFR* a_activator, BSString& a_dst); // 4C
52 virtual bool CalculateDoFavor(Actor* a_activator, bool a_arg2, TESObjectREFR* a_toActivate, float a_arg3); // 4D
53 virtual void HandleRemoveItemFromContainer(TESObjectREFR* a_container); // 4E - { return; }
54 virtual void OnRemove3D(NiAVObject* a_obj3D); // 4F - { return; }
55 virtual void OnCheckModels(); // 50 - { return; }
56 virtual void OnCopyReference(); // 51 - { return; }
57 virtual void OnFinishScale(); // 52 - { return; }
58
59 // members
60 BOUND_DATA boundData; // 20 - OBND
61 std::uint32_t pad2C; // 2C
62 };
63 static_assert(sizeof(TESBoundObject) == 0x30);
64}
Definition Actor.h:131
Definition BGSVoiceType.h:25
Definition NiAVObject.h:50
Definition TESBoundObject.h:14
std::int16_t y
Definition TESBoundObject.h:18
std::int16_t x
Definition TESBoundObject.h:17
std::int16_t z
Definition TESBoundObject.h:19
Definition TESBoundObject.h:24
~TESBoundObject() override
virtual NiAVObject * Clone3D(TESObjectREFR *a_ref)
NiAVObject * Clone3D(TESObjectREFR *a_ref, bool a_arg3) override
virtual void OnRemove3D(NiAVObject *a_obj3D)
virtual void OnCopyReference()
bool IsBoundObject() const override
std::uint32_t pad2C
Definition TESBoundObject.h:61
virtual BGSVoiceType * GetObjectVoiceType() const
virtual bool GetActivateText(TESObjectREFR *a_activator, BSString &a_dst)
virtual void SetObjectVoiceType(BGSVoiceType *a_voiceType)
virtual bool CalculateDoFavor(Actor *a_activator, bool a_arg2, TESObjectREFR *a_toActivate, float a_arg3)
void LoadObjectBound(TESFile *a_mod) override
bool ReplaceModel() override
bool Activate(TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount) override
virtual void OnFinishScale()
BOUND_DATA boundData
Definition TESBoundObject.h:60
static constexpr auto RTTI
Definition TESBoundObject.h:26
virtual bool ReplaceModel(const char *a_str)
virtual void HandleRemoveItemFromContainer(TESObjectREFR *a_container)
virtual void OnCheckModels()
Definition TESFile.h:15
Definition TESObject.h:11
Definition TESObjectREFR.h:112
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESBoundObject(513852, 392220, 0x1ed6da8)
Definition TESBoundObject.h:29
NiNPShortPoint3 boundMin
Definition TESBoundObject.h:32
NiNPShortPoint3 boundMax
Definition TESBoundObject.h:33