CommonLibSSE (Parapets fork)
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 FORMTYPE = FormType::Armature;
32
34 {
35 enum RecordFlag : std::uint32_t
36 {
37 kDeleted = 1 << 5,
38 kIgnored = 1 << 12
39 };
40 };
41
42 ~TESObjectARMA() override; // 00
43
44 // override (TESObject)
45 void InitializeData() override; // 04
46 void ClearData() override; // 05
47 bool Load(TESFile* a_mod) override; // 06
48 void InitItemImpl() override; // 13
49
50 bool IsValidRace(TESRace* a_sourceRace) const;
51 void GetNodeName(char* a_dstBuff, const TESObjectREFR* a_refr, const TESObjectARMO* a_armor, float a_weightOverride);
52
53 // members
54 OBJ_ARMA data; // 040 - DNAM
55 std::uint32_t pad04C; // 04C
56 TESModelTextureSwap bipedModels[SEXES::kTotal]; // 050
58 BGSTextureSet* skinTextures[SEXES::kTotal]; // 130 - NAM0 - NAM1
59 BGSListForm* skinTextureSwapLists[SEXES::kTotal]; // 140 - NAM2 - NAM3
62 BGSArtObject* artObject; // 170 - ONAM
63 };
64 static_assert(sizeof(TESObjectARMA) == 0x178);
65}
Definition: BGSArtObject.h:12
Definition: BGSBipedObjectForm.h:46
Definition: BGSFootstepSet.h:25
Definition: BGSListForm.h:10
Definition: BGSTextureSet.h:16
Definition: BSTArray.h:377
Definition: TESFile.h:14
Definition: TESModelTextureSwap.h:10
Definition: TESObjectARMA.h:28
BGSListForm * skinTextureSwapLists[SEXES::kTotal]
Definition: TESObjectARMA.h:59
BGSFootstepSet * footstepSet
Definition: TESObjectARMA.h:61
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:55
BSTArray< TESRace * > additionalRaces
Definition: TESObjectARMA.h:60
static constexpr auto FORMTYPE
Definition: TESObjectARMA.h:31
BGSTextureSet * skinTextures[SEXES::kTotal]
Definition: TESObjectARMA.h:58
OBJ_ARMA data
Definition: TESObjectARMA.h:54
TESModelTextureSwap bipedModels[SEXES::kTotal]
Definition: TESObjectARMA.h:56
bool Load(TESFile *a_mod) override
static constexpr auto RTTI
Definition: TESObjectARMA.h:30
TESModelTextureSwap bipedModel1stPersons[SEXES::kTotal]
Definition: TESObjectARMA.h:57
void InitializeData() override
void InitItemImpl() override
~TESObjectARMA() override
BGSArtObject * artObject
Definition: TESObjectARMA.h:62
Definition: TESObjectARMO.h:37
Definition: TESObject.h:11
Definition: TESObjectREFR.h:105
Definition: TESRaceForm.h:10
Definition: TESRace.h:146
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESObjectARMA
Definition: Offsets_RTTI.h:6029
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:34
RecordFlag
Definition: TESObjectARMA.h:36
@ kDeleted
Definition: TESObjectARMA.h:37
@ kIgnored
Definition: TESObjectARMA.h:38