CommonLibSSE (powerof3)
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 VTABLE = VTABLE_TESIdleForm;
39 inline static constexpr auto FORMTYPE = FormType::Idle;
40
42 {
43 enum RecordFlag : std::uint32_t
44 {
45 kDeleted = 1 << 5,
46 kIgnored = 1 << 12
47 };
48 };
49
50 ~TESIdleForm() override; // 00
51
52 // override (TESForm)
53 void InitializeData() override; // 04
54 void ClearData() override; // 05
55 bool Load(TESFile* a_mod) override; // 06
56 TESForm* CreateDuplicateForm(bool a_createEditorID, void* a_arg2) override; // 09
57 void InitItemImpl() override; // 13
58 const char* GetFormEditorID() const override; // 32 - { return formEditorID.c_str(); }
59 bool SetFormEditorID(const char* a_str) override; // 33
60
61 // members
63 IDLE_DATA data; // 28 - DATA
64 std::uint16_t pad2E; // 2E
66 TESIdleForm* parentIdle; // 38 - ANAM~
67 TESIdleForm* prevIdle; // 40 - ~ANAM
70 BSString formEditorID; // 58 - EDID
71 };
72 static_assert(sizeof(TESIdleForm) == 0x68);
73}
Definition: NiTArray.h:282
Definition: TESCondition.h:987
Definition: TESFile.h:15
Definition: TESForm.h:35
Definition: TESIdleForm.h:35
BSFixedString animEventName
Definition: TESIdleForm.h:69
void InitItemImpl() override
~TESIdleForm() override
TESCondition conditions
Definition: TESIdleForm.h:62
static constexpr auto RTTI
Definition: TESIdleForm.h:37
std::uint16_t pad2E
Definition: TESIdleForm.h:64
static constexpr auto FORMTYPE
Definition: TESIdleForm.h:39
IDLE_DATA data
Definition: TESIdleForm.h:63
TESIdleForm * parentIdle
Definition: TESIdleForm.h:66
void ClearData() override
bool Load(TESFile *a_mod) override
bool SetFormEditorID(const char *a_str) override
TESIdleForm * prevIdle
Definition: TESIdleForm.h:67
TESForm * CreateDuplicateForm(bool a_createEditorID, void *a_arg2) override
NiFormArray * childIdles
Definition: TESIdleForm.h:65
BSFixedString animFileName
Definition: TESIdleForm.h:68
BSString formEditorID
Definition: TESIdleForm.h:70
static constexpr auto VTABLE
Definition: TESIdleForm.h:38
const char * GetFormEditorID() const override
void InitializeData() override
Definition: PCH.h:217
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_TESIdleForm
Definition: Offsets_VTABLE.h:12835
constexpr REL::ID RTTI_TESIdleForm(static_cast< std::uint64_t >(513932))
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:42
RecordFlag
Definition: TESIdleForm.h:44
@ kIgnored
Definition: TESIdleForm.h:46
@ kDeleted
Definition: TESIdleForm.h:45