@@ -30,19 +30,35 @@ namespace RE
3030 public:
3131 F4_HEAP_REDEFINE_NEW (ExtraDataList);
3232
33+ using ComparisonQualifier = bool (*)(const BSExtraData*);
34+
3335 enum class CLEAR_FOR
3436 {
3537 kContainer = 0x0 ,
3638 kReference = 0x1
3739 };
3840
39- void AddExtra (BSExtraData* a_extra)
41+ ExtraDataList ()
42+ {
43+ using func_t = void (*)(ExtraDataList*);
44+ static REL ::Relocation<func_t > func{ ID ::ExtraDataList::Ctor };
45+ func (this );
46+ }
47+
48+ inline void AddExtra (BSExtraData* a_extra)
4049 {
4150 const BSAutoWriteLock l{ extraRWLock };
4251 extraData.AddExtra (a_extra);
4352 }
4453
45- TBO_InstanceData* CreateInstanceData (TESBoundObject* a_object, bool a_generateName)
54+ inline void CopyList (const ExtraDataList* a_copy) noexcept
55+ {
56+ using func_t = decltype (&ExtraDataList::CopyList);
57+ static REL ::Relocation<func_t > func{ ID ::ExtraDataList::CopyList };
58+ func (this , a_copy);
59+ }
60+
61+ inline TBO_InstanceData* CreateInstanceData (TESBoundObject* a_object, bool a_generateName)
4662 {
4763 using func_t = decltype (&ExtraDataList::CreateInstanceData);
4864 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::CreateInstanceData };
@@ -87,90 +103,96 @@ namespace RE
87103 }
88104
89105 template <detail::ExtraDataListConstraint T>
90- std::unique_ptr<T> RemoveExtra ()
106+ inline std::unique_ptr<T> RemoveExtra ()
91107 {
92108 return std::unique_ptr<T>{ static_cast <T*>(RemoveExtra (T::TYPE ).release ()) };
93109 }
94110
95- bool SetBendableSplineInfo (float * a_thickness, float * a_slack, NiPoint3* a_halfExtents = nullptr , bool * a_detachedEnd = nullptr )
111+ inline bool SetBendableSplineInfo (float * a_thickness, float * a_slack, NiPoint3* a_halfExtents = nullptr , bool * a_detachedEnd = nullptr )
96112 {
97113 using func_t = decltype (&ExtraDataList::SetBendableSplineInfo);
98114 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetBendableSplineInfo };
99115 return func (this , a_thickness, a_slack, a_halfExtents, a_detachedEnd);
100116 }
101117
102- void SetDisplayNameFromInstanceData (BGSObjectInstanceExtra* a_instExtra, TESBoundObject* a_object, const BSTSmartPointer<TBO_InstanceData>& a_data)
118+ inline void SetCount (std::int16_t a_count) noexcept
119+ {
120+ using func_t = decltype (&ExtraDataList::SetCount);
121+ static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetCount };
122+ func (this , a_count);
123+ }
124+
125+ inline void SetDisplayNameFromInstanceData (BGSObjectInstanceExtra* a_instExtra, TESBoundObject* a_object, const BSTSmartPointer<TBO_InstanceData>& a_data)
103126 {
104127 using func_t = decltype (&ExtraDataList::SetDisplayNameFromInstanceData);
105128 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetDisplayNameFromInstanceData };
106- return func (this , a_instExtra, a_object, a_data);
129+ func (this , a_instExtra, a_object, a_data);
107130 }
108131
109- void SetOverrideName (const char * a_name)
132+ inline void SetOverrideName (const char * a_name)
110133 {
111134 using func_t = decltype (&ExtraDataList::SetOverrideName);
112135 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetOverrideName };
113- return func (this , a_name);
136+ func (this , a_name);
114137 }
115138
116- void SetStartingWorldOrCell (TESForm* a_form)
139+ inline void SetStartingWorldOrCell (TESForm* a_form)
117140 {
118141 using func_t = decltype (&ExtraDataList::SetStartingWorldOrCell);
119142 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetStartingWorldOrCell };
120- return func (this , a_form);
143+ func (this , a_form);
121144 }
122145
123- float GetHealthPerc ()
146+ inline float GetHealthPerc ()
124147 {
125148 using func_t = decltype (&ExtraDataList::GetHealthPerc);
126149 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::GetHealthPerc };
127150 return func (this );
128151 }
129152
130- void SetHealthPerc (float a_healthPerc)
153+ inline void SetHealthPerc (float a_healthPerc)
131154 {
132155 using func_t = decltype (&ExtraDataList::SetHealthPerc);
133156 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetHealthPerc };
134- return func (this , a_healthPerc);
157+ func (this , a_healthPerc);
135158 }
136159
137- bool ClearFavorite ()
160+ inline bool ClearFavorite ()
138161 {
139162 using func_t = decltype (&ExtraDataList::ClearFavorite);
140163 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::ClearFavorite };
141164 return func (this );
142165 }
143166
144- bool IsFavorite ()
167+ inline bool IsFavorite ()
145168 {
146169 using func_t = decltype (&ExtraDataList::IsFavorite);
147170 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::IsFavorite };
148171 return func (this );
149172 }
150173
151- bool IsDamaged ()
174+ inline bool IsDamaged ()
152175 {
153176 using func_t = decltype (&ExtraDataList::IsDamaged);
154177 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::IsDamaged };
155178 return func (this );
156179 }
157180
158- typedef bool (*ComparisonQualifier)(const BSExtraData*);
159- bool CompareList (const ExtraDataList* a_compare, ComparisonQualifier a_qualifier)
181+ inline bool CompareList (const ExtraDataList* a_compare, ComparisonQualifier a_qualifier)
160182 {
161183 using func_t = decltype (&ExtraDataList::CompareList);
162184 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::CompareList };
163185 return func (this , a_compare, a_qualifier);
164186 }
165187
166- void SetFavorite (char a_quickKeyIndex)
188+ inline void SetFavorite (char a_quickKeyIndex)
167189 {
168190 using func_t = decltype (&ExtraDataList::SetFavorite);
169191 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::SetFavorite };
170- return func (this , a_quickKeyIndex);
192+ func (this , a_quickKeyIndex);
171193 }
172194
173- BGSPrimitive* GetPrimitive ()
195+ inline BGSPrimitive* GetPrimitive ()
174196 {
175197 using func_t = decltype (&ExtraDataList::GetPrimitive);
176198 static REL ::Relocation<func_t > func{ ID ::ExtraDataList::GetPrimitive };
0 commit comments