CommonLibSSE NG
Loading...
Searching...
No Matches
BGSBipedObjectForm.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace 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 kModMouth = 1 << 14,
28 kModNeck = 1 << 15,
29 kModChestPrimary = 1 << 16,
30 kModBack = 1 << 17,
31 kModMisc1 = 1 << 18,
32 kModPelvisPrimary = 1 << 19,
33 kDecapitateHead = 1 << 20,
34 kDecapitate = 1 << 21,
35 kModPelvisSecondary = 1 << 22,
36 kModLegRight = 1 << 23,
37 kModLegLeft = 1 << 24,
38 kModFaceJewelry = 1 << 25,
39 kModChestSecondary = 1 << 26,
40 kModShoulder = 1 << 27,
41 kModArmLeft = 1 << 28,
42 kModArmRight = 1 << 29,
43 kModMisc2 = 1 << 30,
44 kFX01 = 1 << 31
45 };
46
47 enum class ArmorType
48 {
52 };
53
54 // members
57 };
58 static_assert(sizeof(BIPED_MODEL) == 0x8);
59
61 {
62 public:
63 inline static constexpr auto RTTI = RTTI_BGSBipedObjectForm;
64
68
69 ~BGSBipedObjectForm() override; // 00
70
71 // override (BaseFormComponent)
72 void InitializeDataComponent() override; // 01
73 void ClearDataComponent() override; // 02 - { return; }
74 void CopyComponent(BaseFormComponent* a_rhs) override; // 03
75
77 [[nodiscard]] ArmorType GetArmorType() const;
78 [[nodiscard]] BipedObjectSlot GetSlotMask() const;
79 [[nodiscard]] bool HasPartOf(BipedObjectSlot a_flag) const;
80 [[nodiscard]] bool IsClothing() const;
81 [[nodiscard]] bool IsHeavyArmor() const;
82 [[nodiscard]] bool IsLightArmor() const;
83 [[nodiscard]] bool IsShield() const;
86
87 // members
89 };
90 static_assert(sizeof(BGSBipedObjectForm) == 0x10);
91}
Definition BGSBipedObjectForm.h:61
BipedObjectSlot AddSlotToMask(BipedObjectSlot a_slot)
void InitializeDataComponent() override
static constexpr auto RTTI
Definition BGSBipedObjectForm.h:63
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:88
BipedObjectSlot GetSlotMask() const
void CopyComponent(BaseFormComponent *a_rhs) override
Definition BaseFormComponent.h:8
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSBipedObjectForm(513928, 392565, 0x1edb040)
Definition BGSBipedObjectForm.h:8
stl::enumeration< ArmorType, std::uint32_t > armorType
Definition BGSBipedObjectForm.h:56
BipedObjectSlot
Definition BGSBipedObjectForm.h:11
ArmorType
Definition BGSBipedObjectForm.h:48
stl::enumeration< BipedObjectSlot, std::uint32_t > bipedObjectSlots
Definition BGSBipedObjectForm.h:55