CommonLibSSE (Parapets fork)
BGSCreatedObjectManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/E/Effect.h"
6 
7 namespace RE
8 {
9  class EnchantmentItem;
10 
12  {
13  public:
15  {
17  volatile std::uint32_t refCount; // 08
18  std::uint32_t pad0C; // 0C
19  };
20  static_assert(sizeof(EnchantmentEntry) == 0x10);
21 
22  struct UnkData
23  {
24  void* unk00; // 00
25  std::uint64_t unk08; // 08
26  void* unk10; // 10
27  std::uint64_t unk18; // 18
28  std::uint32_t unk20; // 20
29  std::uint32_t unk24; // 24
30  std::uint32_t unk28; // 28
31  std::uint32_t unk2C; // 2C
32  };
33  static_assert(sizeof(UnkData) == 0x30);
34 
36 
39  void DestroyEnchantment(EnchantmentItem* a_enchantment, bool a_isWeapon);
40 
41  // members
42  std::uint64_t unk00; // 00
45  std::uint64_t pad38; // 38
46  std::uint32_t pad40; // 40
47  std::uint32_t unk44; // 44
48  std::uint32_t unk48; // 48
49  std::uint32_t unk4C; // 4C
50  UnkData unk50; // 50
51  UnkData unk80; // 80
52  void* unkB0; // B0
53  std::uint64_t padB8; // B8
54  std::uint64_t unkC0; // C0
55  mutable BSSpinLock lock; // C8
56  };
57  static_assert(sizeof(BGSCreatedObjectManager) == 0xD0);
58 }
Definition: BGSCreatedObjectManager.h:12
std::uint32_t unk4C
Definition: BGSCreatedObjectManager.h:49
UnkData unk50
Definition: BGSCreatedObjectManager.h:50
static BGSCreatedObjectManager * GetSingleton()
EnchantmentItem * AddWeaponEnchantment(BSTArray< Effect > &a_effects)
std::uint64_t padB8
Definition: BGSCreatedObjectManager.h:53
BSTArray< EnchantmentEntry > armorEnchantments
Definition: BGSCreatedObjectManager.h:44
BSSpinLock lock
Definition: BGSCreatedObjectManager.h:55
EnchantmentItem * AddArmorEnchantment(BSTArray< Effect > &a_effects)
std::uint64_t unk00
Definition: BGSCreatedObjectManager.h:42
std::uint32_t unk48
Definition: BGSCreatedObjectManager.h:48
std::uint64_t unkC0
Definition: BGSCreatedObjectManager.h:54
UnkData unk80
Definition: BGSCreatedObjectManager.h:51
void DestroyEnchantment(EnchantmentItem *a_enchantment, bool a_isWeapon)
std::uint64_t pad38
Definition: BGSCreatedObjectManager.h:45
std::uint32_t pad40
Definition: BGSCreatedObjectManager.h:46
std::uint32_t unk44
Definition: BGSCreatedObjectManager.h:47
void * unkB0
Definition: BGSCreatedObjectManager.h:52
BSTArray< EnchantmentEntry > weaponEnchantments
Definition: BGSCreatedObjectManager.h:43
Definition: BSAtomic.h:49
Definition: BSTArray.h:377
Definition: EnchantmentItem.h:10
Definition: AbsorbEffect.h:6
Definition: BGSCreatedObjectManager.h:15
volatile std::uint32_t refCount
Definition: BGSCreatedObjectManager.h:17
EnchantmentItem * enchantment
Definition: BGSCreatedObjectManager.h:16
std::uint32_t pad0C
Definition: BGSCreatedObjectManager.h:18
Definition: BGSCreatedObjectManager.h:23
std::uint64_t unk18
Definition: BGSCreatedObjectManager.h:27
std::uint32_t unk20
Definition: BGSCreatedObjectManager.h:28
void * unk00
Definition: BGSCreatedObjectManager.h:24
std::uint32_t unk28
Definition: BGSCreatedObjectManager.h:30
std::uint32_t unk24
Definition: BGSCreatedObjectManager.h:29
void * unk10
Definition: BGSCreatedObjectManager.h:26
std::uint32_t unk2C
Definition: BGSCreatedObjectManager.h:31
std::uint64_t unk08
Definition: BGSCreatedObjectManager.h:25