CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
BGSRefAlias.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BGSBaseAlias.h"
5#include "RE/F/FormTypes.h"
6#include "RE/Q/QuestEvents.h"
7
8namespace RE
9{
10 class BGSLocationRefType;
11 class TESBoundObject;
12 class TESCondition;
13
15 {
16 public:
17 inline static constexpr auto RTTI = RTTI_BGSRefAlias;
18 inline static constexpr auto VTABLE = VTABLE_BGSRefAlias;
19 inline static constexpr auto VMTYPEID = static_cast<VMTypeID>(140);
20
21 struct ForcedFillData // kForced
22 {
23 public:
24 // members
26 };
27 static_assert(sizeof(ForcedFillData) == 0x4);
28
29 struct FromAliasFillData // kFromAlias
30 {
31 public:
32 // members
33 std::uint32_t forcedFromAlias; // 00 - ALFA
34 std::uint32_t pad04; // 04
36 };
37 static_assert(sizeof(FromAliasFillData) == 0x10);
38
39 struct FromEventFillData // kFromEvent
40 {
41 public:
42 // members
44 std::uint32_t forcedEventData; // ALFD
45 };
46 static_assert(sizeof(FromEventFillData) == 0x8);
47
48 struct CreatedFillData // kCreated
49 {
50 public:
51 enum class Level // ALCL
52 {
53 kEasy = 0,
54 kMedium = 1,
55 kHard = 2,
56 kVeryHard = 3,
57 kNone = 4
58 };
59
60 struct Alias // ALCA
61 {
62 public:
63 enum class Create
64 {
65 kAt = 0x0000,
66 kIn = 0x8000
67 };
68
69 // members
70 std::uint16_t alias; // 0
72 };
73 static_assert(sizeof(Alias) == 0x4);
74
75 // members
76 TESBoundObject* object; // 00 - ALCO
77 Alias alias; // 08 - ALCA
79 std::uint16_t pad0E; // 0E
80 };
81 static_assert(sizeof(CreatedFillData) == 0x10);
82
83 struct FromExternalFillData // kFromExternal
84 {
85 public:
86 // members
87 TESQuest* externalQuest; // 00 - ALEQ
88 std::uint32_t externalAlias; // 08 - ALEA
89 std::uint32_t pad0C; // 0C
90 };
91 static_assert(sizeof(FromExternalFillData) == 0x10);
92
93 struct UniqueActorFillData // kUniqueActor
94 {
95 public:
96 // members
97 TESNPC* uniqueActor; // 0 - ALUA
98 };
99 static_assert(sizeof(UniqueActorFillData) == 0x8);
100
101 struct NearAliasFillData // kNearAlias
102 {
103 public:
104 enum class NEARFILLTYPE
105 {
106 kLinkedChildren = 0,
108 };
109
110 // members
111 std::uint32_t nearAlias; // 0 - ALNA
113 };
114 static_assert(sizeof(NearAliasFillData) == 0x8);
115
117 {
118 public:
119 struct Padding
120 {
121 public:
122 // members
123 std::uint64_t pad1; // 00
124 std::uint64_t pad2; // 08
125 std::uint64_t pad3; // 10
126 };
127 static_assert(sizeof(Padding) == 0x18);
128
130
131 // members
140 };
141 static_assert(sizeof(GenericFillData) == 0x18);
142
143 ~BGSRefAlias() override; // 00
144
145 // override (BGSBaseAlias)
146 bool Load(TESFile* a_mod) override; // 01
147 void InitItem(TESForm* a_form) override; // 02
148 [[nodiscard]] const BSFixedString& QType() const override; // 03 - { return "Ref"; }
149
152
153 // members
156 };
157 static_assert(sizeof(BGSRefAlias) == 0x48);
158}
Definition EnumSet.h:9
Definition Actor.h:133
Definition BGSBaseAlias.h:12
Definition BGSLocationRefType.h:9
Definition BGSRefAlias.h:15
GenericFillData fillData
Definition BGSRefAlias.h:154
~BGSRefAlias() override
TESCondition * conditions
Definition BGSRefAlias.h:155
void InitItem(TESForm *a_form) override
TESObjectREFR * GetReference() const
static constexpr auto RTTI
Definition BGSRefAlias.h:17
Actor * GetActorReference() const
static constexpr auto VTABLE
Definition BGSRefAlias.h:18
const BSFixedString & QType() const override
bool Load(TESFile *a_mod) override
static constexpr auto VMTYPEID
Definition BGSRefAlias.h:19
Definition TESBoundObject.h:24
Definition TESCondition.h:992
Definition TESFile.h:17
Definition TESForm.h:36
Definition TESNPC.h:36
Definition TESObjectREFR.h:114
Definition TESQuest.h:189
Definition AbsorbEffect.h:6
QuestEvent
Definition QuestEvents.h:6
constexpr REL::ID RTTI_BGSRefAlias(static_cast< std::uint64_t >(685398))
constexpr std::array< REL::ID, 1 > VTABLE_BGSRefAlias
Definition Offsets_VTABLE.h:8843
std::uint32_t VMTypeID
Definition BSCoreTypes.h:9
Definition BGSRefAlias.h:61
Create
Definition BGSRefAlias.h:64
std::uint16_t alias
Definition BGSRefAlias.h:70
REX::EnumSet< Create, std::uint16_t > create
Definition BGSRefAlias.h:71
Definition BGSRefAlias.h:49
Alias alias
Definition BGSRefAlias.h:77
TESBoundObject * object
Definition BGSRefAlias.h:76
REX::EnumSet< Level, std::uint16_t > level
Definition BGSRefAlias.h:78
std::uint16_t pad0E
Definition BGSRefAlias.h:79
Level
Definition BGSRefAlias.h:52
Definition BGSRefAlias.h:22
ObjectRefHandle forcedRef
Definition BGSRefAlias.h:25
Definition BGSRefAlias.h:30
std::uint32_t pad04
Definition BGSRefAlias.h:34
BGSLocationRefType * forcedRefType
Definition BGSRefAlias.h:35
std::uint32_t forcedFromAlias
Definition BGSRefAlias.h:33
Definition BGSRefAlias.h:40
std::uint32_t forcedEventData
Definition BGSRefAlias.h:44
QuestEvent forcedFromEvent
Definition BGSRefAlias.h:43
Definition BGSRefAlias.h:84
std::uint32_t externalAlias
Definition BGSRefAlias.h:88
TESQuest * externalQuest
Definition BGSRefAlias.h:87
std::uint32_t pad0C
Definition BGSRefAlias.h:89
Definition BGSRefAlias.h:120
std::uint64_t pad1
Definition BGSRefAlias.h:123
std::uint64_t pad3
Definition BGSRefAlias.h:125
std::uint64_t pad2
Definition BGSRefAlias.h:124
Definition BGSRefAlias.h:102
std::uint32_t nearAlias
Definition BGSRefAlias.h:111
NEARFILLTYPE
Definition BGSRefAlias.h:105
REX::EnumSet< NEARFILLTYPE, std::uint32_t > nearFillType
Definition BGSRefAlias.h:112
Definition BGSRefAlias.h:94
TESNPC * uniqueActor
Definition BGSRefAlias.h:97
Definition BGSRefAlias.h:117
UniqueActorFillData uniqueActor
Definition BGSRefAlias.h:138
FromAliasFillData fromAlias
Definition BGSRefAlias.h:134
NearAliasFillData nearAlias
Definition BGSRefAlias.h:139
~GenericFillData()
Definition BGSRefAlias.h:129
CreatedFillData created
Definition BGSRefAlias.h:136
FromExternalFillData fromExternal
Definition BGSRefAlias.h:137
Padding padding
Definition BGSRefAlias.h:132
FromEventFillData fromEvent
Definition BGSRefAlias.h:135
ForcedFillData forced
Definition BGSRefAlias.h:133