CommonLibSSE NG
TESCustomPackageData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
5 #include "RE/B/BSTArray.h"
6 #include "RE/B/BSTSmartPointer.h"
7 #include "RE/T/TESPackageData.h"
8 
9 namespace RE
10 {
11  class IPackageData;
12  class IProcedureTreeItem;
13  class TESPackage;
14 
16  {
17  IPackageData** data; // 00
18  std::int8_t* uids; // 08
19  std::uint16_t dataSize; // 10
20  std::int8_t nextUID; // 12 - XNAM
21  std::uint8_t pad13; // 13
22  std::uint32_t pad14; // 14
23  };
24  static_assert(sizeof(BGSPackageDataList) == 0x18);
25 
27  {
28  public:
29  struct NameMapData
30  {
31  public:
32  enum class Flag
33  {
34  kNone = 0,
35  kPublic = 1 << 0
36  };
37 
38  // members
39  BSFixedString name; // 00 - BNAM
40  std::int8_t uid; // 08 - UNAM
41  bool isPublic; // 09 - PNAM
42  std::uint8_t pad0A; // 0A
43  std::uint8_t pad0B; // 0B
44  std::uint32_t pad0C; // 0C
45  };
46  static_assert(sizeof(NameMapData) == 0x10);
47 
48  // members
49  std::uint32_t pad04; // 04
51  };
52  static_assert(sizeof(BGSPackageDataNameMap) == 0x20);
53 
55  {
56  public:
57  inline static constexpr auto RTTI = RTTI_TESCustomPackageData;
58 
59  ~TESCustomPackageData() override; // 00
60 
61  // override (TESPackageData)
62  void Copy(TESPackageData* a_package, TESForm* a_form) override; // 01
63  void InitItem(TESForm* a_form) override; // 03
64  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 04 - { return; }
65  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 05 - { return; }
66 
67  // members
72  std::uint16_t version; // 38
74  std::uint8_t pad3B; // 3B
75  std::uint32_t pad3C; // 3C
76  };
77  static_assert(sizeof(TESCustomPackageData) == 0x40);
78 }
Definition: BGSLoadFormBuffer.h:11
Definition: BGSSaveFormBuffer.h:8
Definition: BSTArray.h:377
Definition: BSTSmartPointer.h:36
Definition: IPackageData.h:12
Definition: IProcedureTreeItem.h:8
Definition: TESCustomPackageData.h:55
~TESCustomPackageData() override
bool alwaysRecheckConditions
Definition: TESCustomPackageData.h:73
std::uint16_t version
Definition: TESCustomPackageData.h:72
static constexpr auto RTTI
Definition: TESCustomPackageData.h:57
void LoadGame(BGSLoadFormBuffer *a_buf) override
void Copy(TESPackageData *a_package, TESForm *a_form) override
std::uint32_t pad3C
Definition: TESCustomPackageData.h:75
void SaveGame(BGSSaveFormBuffer *a_buf) override
void InitItem(TESForm *a_form) override
TESPackage * templateParent
Definition: TESCustomPackageData.h:71
std::uint8_t pad3B
Definition: TESCustomPackageData.h:74
BSTSmartPointer< BGSPackageDataNameMap > nameMap
Definition: TESCustomPackageData.h:70
BGSPackageDataList data
Definition: TESCustomPackageData.h:68
IProcedureTreeItem * procedureTree
Definition: TESCustomPackageData.h:69
Definition: TESForm.h:36
Definition: TESPackageData.h:10
Definition: TESPackage.h:255
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESCustomPackageData(686030, 393831, 0x1ef4ac8)
Definition: TESCustomPackageData.h:16
std::int8_t * uids
Definition: TESCustomPackageData.h:18
IPackageData ** data
Definition: TESCustomPackageData.h:17
std::uint16_t dataSize
Definition: TESCustomPackageData.h:19
std::uint8_t pad13
Definition: TESCustomPackageData.h:21
std::int8_t nextUID
Definition: TESCustomPackageData.h:20
std::uint32_t pad14
Definition: TESCustomPackageData.h:22
Definition: TESCustomPackageData.h:30
Flag
Definition: TESCustomPackageData.h:33
std::int8_t uid
Definition: TESCustomPackageData.h:40
std::uint32_t pad0C
Definition: TESCustomPackageData.h:44
std::uint8_t pad0B
Definition: TESCustomPackageData.h:43
BSFixedString name
Definition: TESCustomPackageData.h:39
bool isPublic
Definition: TESCustomPackageData.h:41
std::uint8_t pad0A
Definition: TESCustomPackageData.h:42
Definition: TESCustomPackageData.h:27
BSTArray< NameMapData > nameMap
Definition: TESCustomPackageData.h:50
std::uint32_t pad04
Definition: TESCustomPackageData.h:46
Definition: BSIntrusiveRefCounted.h:8