CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
TESIdleForm.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSString.h"
5#include "RE/F/FormTypes.h"
6#include "RE/T/TESCondition.h"
7#include "RE/T/TESForm.h"
8
9namespace RE
10{
11 class NiFormArray;
12
13 struct IDLE_DATA // DATA
14 {
15 public:
16 enum class Flag
17 {
18 kNone = 0,
19 kParent = 1 << 0,
20 kSequence = 1 << 1,
21 kNoAttacking = 1 << 2,
22 kBlocking = 1 << 3
23 };
24
25 // members
26 std::int8_t loopMin; // 0
27 std::int8_t loopMax; // 1
29 std::uint8_t animationGroupSelection; // 3
30 std::uint16_t replayDelay; // 4
31 };
32 static_assert(sizeof(IDLE_DATA) == 0x6);
33
34 class TESIdleForm : public TESForm
35 {
36 public:
37 inline static constexpr auto RTTI = RTTI_TESIdleForm;
38 inline static constexpr auto FORMTYPE = FormType::Idle;
39
41 {
42 enum RecordFlag : std::uint32_t
43 {
44 kDeleted = 1 << 5,
45 kIgnored = 1 << 12
46 };
47 };
48
49 ~TESIdleForm() override; // 00
50
51 // override (TESForm)
52 void InitializeData() override; // 04
53 void ClearData() override; // 05
54 bool Load(TESFile* a_mod) override; // 06
55 TESForm* CreateDuplicateForm(bool a_createEditorID, void* a_arg2) override; // 09
56 void InitItemImpl() override; // 13
57 const char* GetFormEditorID() const override; // 32 - { return formEditorID.c_str(); }
58 bool SetFormEditorID(const char* a_str) override; // 33
59
60 // members
62 IDLE_DATA data; // 28 - DATA
63 std::uint16_t pad2E; // 2E
65 TESIdleForm* parentIdle; // 38 - ANAM~
66 TESIdleForm* prevIdle; // 40 - ~ANAM
69 BSString formEditorID; // 58 - EDID
70 };
71 static_assert(sizeof(TESIdleForm) == 0x68);
72}
Definition: NiTArray.h:282
Definition: TESCondition.h:987
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESIdleForm.h:35
BSFixedString animEventName
Definition: TESIdleForm.h:68
void InitItemImpl() override
~TESIdleForm() override
TESCondition conditions
Definition: TESIdleForm.h:61
static constexpr auto RTTI
Definition: TESIdleForm.h:37
std::uint16_t pad2E
Definition: TESIdleForm.h:63
static constexpr auto FORMTYPE
Definition: TESIdleForm.h:38
IDLE_DATA data
Definition: TESIdleForm.h:62
TESIdleForm * parentIdle
Definition: TESIdleForm.h:65
void ClearData() override
bool Load(TESFile *a_mod) override
bool SetFormEditorID(const char *a_str) override
TESIdleForm * prevIdle
Definition: TESIdleForm.h:66
TESForm * CreateDuplicateForm(bool a_createEditorID, void *a_arg2) override
NiFormArray * childIdles
Definition: TESIdleForm.h:64
BSFixedString animFileName
Definition: TESIdleForm.h:67
BSString formEditorID
Definition: TESIdleForm.h:69
const char * GetFormEditorID() const override
void InitializeData() override
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESIdleForm
Definition: Offsets_RTTI.h:6003
Definition: TESIdleForm.h:14
std::uint16_t replayDelay
Definition: TESIdleForm.h:30
stl::enumeration< Flag, std::uint8_t > flags
Definition: TESIdleForm.h:28
std::int8_t loopMax
Definition: TESIdleForm.h:27
Flag
Definition: TESIdleForm.h:17
std::uint8_t animationGroupSelection
Definition: TESIdleForm.h:29
std::int8_t loopMin
Definition: TESIdleForm.h:26
Definition: TESIdleForm.h:41
RecordFlag
Definition: TESIdleForm.h:43
@ kIgnored
Definition: TESIdleForm.h:45
@ kDeleted
Definition: TESIdleForm.h:44