CommonLibSSE (powerof3)
BGSBipedObjectForm.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
7  struct BIPED_MODEL // BOD2
8  {
9  public:
10  enum class BipedObjectSlot
11  {
12  kNone = 0,
13  kHead = 1 << 0,
14  kHair = 1 << 1,
15  kBody = 1 << 2,
16  kHands = 1 << 3,
17  kForearms = 1 << 4,
18  kAmulet = 1 << 5,
19  kRing = 1 << 6,
20  kFeet = 1 << 7,
21  kCalves = 1 << 8,
22  kShield = 1 << 9,
23  kTail = 1 << 10,
24  kLongHair = 1 << 11,
25  kCirclet = 1 << 12,
26  kEars = 1 << 13,
27  kDecapitateHead = 1 << 20,
28  kDecapitate = 1 << 21,
29  kFX01 = 1 << 31
30  };
31 
32  enum class ArmorType
33  {
36  kClothing
37  };
38 
39  // members
42  };
43  static_assert(sizeof(BIPED_MODEL) == 0x8);
44 
46  {
47  public:
48  inline static constexpr auto RTTI = RTTI_BGSBipedObjectForm;
49 
53 
54  ~BGSBipedObjectForm() override; // 00
55 
56  // override (BaseFormComponent)
57  void InitializeDataComponent() override; // 01
58  void ClearDataComponent() override; // 02 - { return; }
59  void CopyComponent(BaseFormComponent* a_rhs) override; // 03
60 
62  [[nodiscard]] ArmorType GetArmorType() const;
63  [[nodiscard]] BipedObjectSlot GetSlotMask() const;
64  [[nodiscard]] bool HasPartOf(BipedObjectSlot a_flag) const;
65  [[nodiscard]] bool IsClothing() const;
66  [[nodiscard]] bool IsHeavyArmor() const;
67  [[nodiscard]] bool IsLightArmor() const;
68  [[nodiscard]] bool IsShield() const;
71 
72  // members
74  };
75  static_assert(sizeof(BGSBipedObjectForm) == 0x10);
76 }
Definition: BGSBipedObjectForm.h:46
BipedObjectSlot AddSlotToMask(BipedObjectSlot a_slot)
void InitializeDataComponent() override
static constexpr auto RTTI
Definition: BGSBipedObjectForm.h:48
ArmorType GetArmorType() const
void SetSlotMask(BipedObjectSlot a_mask)
bool IsClothing() const
~BGSBipedObjectForm() override
bool IsLightArmor() const
bool HasPartOf(BipedObjectSlot a_flag) const
BipedObjectSlot RemoveSlotFromMask(BipedObjectSlot a_slot)
void ClearDataComponent() override
bool IsHeavyArmor() const
BIPED_MODEL bipedModelData
Definition: BGSBipedObjectForm.h:73
BipedObjectSlot GetSlotMask() const
void CopyComponent(BaseFormComponent *a_rhs) override
Definition: BaseFormComponent.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSBipedObjectForm
Definition: Offsets_RTTI.h:1267
Definition: BGSBipedObjectForm.h:8
stl::enumeration< ArmorType, std::uint32_t > armorType
Definition: BGSBipedObjectForm.h:41
BipedObjectSlot
Definition: BGSBipedObjectForm.h:11
ArmorType
Definition: BGSBipedObjectForm.h:33
stl::enumeration< BipedObjectSlot, std::uint32_t > bipedObjectSlots
Definition: BGSBipedObjectForm.h:40