CommonLibSSE NG
Loading...
Searching...
No Matches
TESObjectARMA.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTArray.h"
5#include "RE/F/FormTypes.h"
6#include "RE/S/Sexes.h"
8#include "RE/T/TESObject.h"
9#include "RE/T/TESRaceForm.h"
10
11namespace RE
12{
13 struct OBJ_ARMA // DNAM
14 {
15 std::int8_t priorities[SEXES::kTotal]; // 0
16 std::int8_t modelRange[SEXES::kTotal]; // 2
17 std::int8_t unused[SEXES::kTotal]; // 4
18 std::int8_t detectionSoundValue; // 6
19 std::uint8_t pad07; // 7
20 float weaponAdjust; // 8
21 };
22 static_assert(sizeof(OBJ_ARMA) == 0xC);
23
25 public TESObject, // 00
26 public TESRaceForm, // 20
27 public BGSBipedObjectForm // 30
28 {
29 public:
30 inline static constexpr auto RTTI = RTTI_TESObjectARMA;
31 inline static constexpr auto VTABLE = VTABLE_TESObjectARMA;
32 inline static constexpr auto FORMTYPE = FormType::Armature;
33
35 {
36 enum RecordFlag : std::uint32_t
37 {
38 kDeleted = 1 << 5,
39 kIgnored = 1 << 12
40 };
41 };
42
43 ~TESObjectARMA() override; // 00
44
45 // override (TESObject)
46 void InitializeData() override; // 04
47 void ClearData() override; // 05
48 bool Load(TESFile* a_mod) override; // 06
49 void InitItemImpl() override; // 13
50
51 [[nodiscard]] bool IsValidRace(TESRace* a_sourceRace) const;
52 void GetNodeName(char* a_dstBuff, const TESObjectREFR* a_refr, const TESObjectARMO* a_armor, float a_weightOverride);
53
54 // members
55 OBJ_ARMA data; // 040 - DNAM
56 std::uint32_t pad04C; // 04C
57 TESModelTextureSwap bipedModels[SEXES::kTotal]; // 050
59 BGSTextureSet* skinTextures[SEXES::kTotal]; // 130 - NAM0 - NAM1
60 BGSListForm* skinTextureSwapLists[SEXES::kTotal]; // 140 - NAM2 - NAM3
63 BGSArtObject* artObject; // 170 - ONAM
64 };
65 static_assert(sizeof(TESObjectARMA) == 0x178);
66}
Definition BGSArtObject.h:12
Definition BGSBipedObjectForm.h:61
Definition BGSFootstepSet.h:25
Definition BGSListForm.h:11
Definition BGSTextureSet.h:16
Definition BSTArray.h:377
Definition TESFile.h:15
Definition TESModelTextureSwap.h:10
Definition TESObjectARMA.h:28
BGSListForm * skinTextureSwapLists[SEXES::kTotal]
Definition TESObjectARMA.h:60
BGSFootstepSet * footstepSet
Definition TESObjectARMA.h:62
void ClearData() override
bool IsValidRace(TESRace *a_sourceRace) const
void GetNodeName(char *a_dstBuff, const TESObjectREFR *a_refr, const TESObjectARMO *a_armor, float a_weightOverride)
std::uint32_t pad04C
Definition TESObjectARMA.h:56
BSTArray< TESRace * > additionalRaces
Definition TESObjectARMA.h:61
static constexpr auto FORMTYPE
Definition TESObjectARMA.h:32
BGSTextureSet * skinTextures[SEXES::kTotal]
Definition TESObjectARMA.h:59
OBJ_ARMA data
Definition TESObjectARMA.h:55
TESModelTextureSwap bipedModels[SEXES::kTotal]
Definition TESObjectARMA.h:57
bool Load(TESFile *a_mod) override
static constexpr auto RTTI
Definition TESObjectARMA.h:30
TESModelTextureSwap bipedModel1stPersons[SEXES::kTotal]
Definition TESObjectARMA.h:58
void InitializeData() override
void InitItemImpl() override
~TESObjectARMA() override
static constexpr auto VTABLE
Definition TESObjectARMA.h:31
BGSArtObject * artObject
Definition TESObjectARMA.h:63
Definition TESObjectARMO.h:37
Definition TESObject.h:11
Definition TESObjectREFR.h:112
Definition TESRaceForm.h:10
Definition TESRace.h:146
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESObjectARMA(513976, 392827, 0x1edef98)
constexpr std::array< REL::VariantID, 3 > VTABLE_TESObjectARMA
Definition Offsets_VTABLE.h:530
Definition TESObjectARMA.h:14
std::int8_t detectionSoundValue
Definition TESObjectARMA.h:18
std::int8_t unused[SEXES::kTotal]
Definition TESObjectARMA.h:17
std::int8_t modelRange[SEXES::kTotal]
Definition TESObjectARMA.h:16
std::int8_t priorities[SEXES::kTotal]
Definition TESObjectARMA.h:15
float weaponAdjust
Definition TESObjectARMA.h:20
std::uint8_t pad07
Definition TESObjectARMA.h:19
Definition TESObjectARMA.h:35
RecordFlag
Definition TESObjectARMA.h:37
@ kDeleted
Definition TESObjectARMA.h:38
@ kIgnored
Definition TESObjectARMA.h:39