CommonLibSSE (Parapets fork)
BGSMaterialType.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/N/NiColor.h"
6 #include "RE/T/TESForm.h"
7 
8 namespace RE
9 {
10  class BGSMaterialType : public TESForm
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BGSMaterialType;
14  inline static constexpr auto FORMTYPE = FormType::MaterialType;
15 
16  enum class FLAG
17  {
18  kNone = 0,
19  kStairs = 1 << 0,
20  kArrowsStick = 1 << 1
21  };
22 
23  struct RecordFlags
24  {
25  enum RecordFlag : std::uint32_t
26  {
27  kDeleted = 1 << 5,
28  kIgnored = 1 << 12
29  };
30  };
31 
32  ~BGSMaterialType() override; // 00
33 
34  // override (TESForm)
35  void ClearData() override; // 04
36  bool Load(TESFile* a_mod) override; // 06
37  void InitItemImpl() override; // 13
38 
39  // members
40  BGSMaterialType* parentType; // 20 - PNAM
42  std::uint32_t materialID; // 30
43  NiColor materialColor; // 34 - CNAM
44  float buoyancy; // 40 - BNAM
47  };
48  static_assert(sizeof(BGSMaterialType) == 0x50);
49 }
Definition: BGSImpactDataSet.h:13
Definition: BGSMaterialType.h:11
float buoyancy
Definition: BGSMaterialType.h:44
void ClearData() override
std::uint32_t materialID
Definition: BGSMaterialType.h:42
void InitItemImpl() override
BGSMaterialType * parentType
Definition: BGSMaterialType.h:40
bool Load(TESFile *a_mod) override
NiColor materialColor
Definition: BGSMaterialType.h:43
stl::enumeration< FLAG, std::uint32_t > flags
Definition: BGSMaterialType.h:45
FLAG
Definition: BGSMaterialType.h:17
static constexpr auto FORMTYPE
Definition: BGSMaterialType.h:14
static constexpr auto RTTI
Definition: BGSMaterialType.h:13
BSFixedString materialName
Definition: BGSMaterialType.h:41
~BGSMaterialType() override
BGSImpactDataSet * havokImpactDataSet
Definition: BGSMaterialType.h:46
Definition: NiColor.h:9
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSMaterialType
Definition: Offsets_RTTI.h:1327
Definition: BGSMaterialType.h:24
RecordFlag
Definition: BGSMaterialType.h:26
@ kDeleted
Definition: BGSMaterialType.h:27
@ kIgnored
Definition: BGSMaterialType.h:28