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