CommonLibSSE (powerof3)
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 inline static constexpr auto VTABLE = VTABLE_BGSBipedObjectForm;
65
69
70 ~BGSBipedObjectForm() override; // 00
71
72 // override (BaseFormComponent)
73 void InitializeDataComponent() override; // 01
74 void ClearDataComponent() override; // 02 - { return; }
75 void CopyComponent(BaseFormComponent* a_rhs) override; // 03
76
78 [[nodiscard]] ArmorType GetArmorType() const;
79 [[nodiscard]] BipedObjectSlot GetSlotMask() const;
80 [[nodiscard]] bool HasPartOf(BipedObjectSlot a_flag) const;
81 [[nodiscard]] bool IsClothing() const;
82 [[nodiscard]] bool IsHeavyArmor() const;
83 [[nodiscard]] bool IsLightArmor() const;
84 [[nodiscard]] bool IsShield() const;
87
88 // members
90 };
91 static_assert(sizeof(BGSBipedObjectForm) == 0x10);
92}
Definition EnumSet.h:9
Definition BGSBipedObjectForm.h:61
BipedObjectSlot AddSlotToMask(BipedObjectSlot a_slot)
static constexpr auto VTABLE
Definition BGSBipedObjectForm.h:64
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:89
BipedObjectSlot GetSlotMask() const
void CopyComponent(BaseFormComponent *a_rhs) override
Definition BaseFormComponent.h:8
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BGSBipedObjectForm
Definition Offsets_VTABLE.h:8593
constexpr REL::ID RTTI_BGSBipedObjectForm(static_cast< std::uint64_t >(513928))
Definition BGSBipedObjectForm.h:8
BipedObjectSlot
Definition BGSBipedObjectForm.h:11
REX::EnumSet< BipedObjectSlot, std::uint32_t > bipedObjectSlots
Definition BGSBipedObjectForm.h:55
ArmorType
Definition BGSBipedObjectForm.h:48
REX::EnumSet< ArmorType, std::uint32_t > armorType
Definition BGSBipedObjectForm.h:56