CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
hkbStateMachine.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/H/hkArray.h"
4#include "RE/H/hkRefPtr.h"
6#include "RE/H/hkbBindable.h"
7#include "RE/H/hkbEvent.h"
8#include "RE/H/hkbGenerator.h"
9
10namespace RE
11{
12 class hkbStateChooser;
13
15 {
16 public:
17 inline static constexpr auto RTTI = RTTI_hkbStateMachine;
18
19 enum class StartStateMode
20 {
21 kDefault = 0,
22 kSync = 1,
23 kRandom = 2,
24 kChooser = 3
25 };
26
28 {
29 kNoTransition = 0,
32 };
33
34 class StateInfo : public hkbBindable
35 {
36 public:
37 inline static constexpr auto RTTI = RTTI_hkbStateMachine__StateInfo;
38
39 ~StateInfo() override; // 00
40
41 // members
42 std::uint64_t unk30; // 30
43 std::uint64_t unk38; // 38
44 std::uint64_t unk40; // 40
45 std::uint64_t unk48; // 48
46 std::uint64_t unk50; // 50
47 std::uint64_t unk58; // 58
48 std::uint64_t unk60; // 60
49 std::uint64_t unk68; // 68
50 std::uint64_t unk70; // 70
51 };
52 static_assert(sizeof(StateInfo) == 0x78);
53
55 {
56 public:
57 inline static constexpr auto RTTI = RTTI_hkbStateMachine__TransitionInfoArray;
58
59 ~TransitionInfoArray() override; // 00
60
61 // members
62 std::uint64_t unk10; // 10
63 std::uint64_t unk18; // 18
64 };
65 static_assert(sizeof(TransitionInfoArray) == 0x20);
66
67 ~hkbStateMachine() override; // 00
68
69 // override (hkbGenerator)
70 hkClass* GetClassType() const override; // 01
71 void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
72 void Unk_03(void) override; // 03
73 void Unk_04(void) override; // 04
74 void Unk_05(void) override; // 05
75 void Unk_06(void) override; // 06
76 void Unk_07(void) override; // 07
77 void Unk_08(void) override; // 08
78 void Unk_09(void) override; // 09
79 void Unk_0A(void) override; // 0A
80 void Unk_0C(void) override; // 0C
81 void Unk_0D(void) override; // 0D
82 void Unk_0E(void) override; // 0E
83 void Unk_0F(void) override; // 0F
84 void Unk_10(void) override; // 10
85 void Unk_11(void) override; // 11
86 void Unk_12(void) override; // 12
87 void Unk_14(void) override; // 14
88 void Unk_17(void) override; // 17
89 void Unk_18(void) override; // 18 - { return 1; }
90 void Unk_19(void) override; // 19
91 void Unk_1B(void) override; // 1B - { echoNextUpdate = true; }
92
93 // members
96 std::int32_t startStateID; // 068
97 std::int32_t returnToPreviousStateEventID; // 06C
98 std::int32_t randomTransitionEventID; // 070
101 std::int32_t syncVariableIndex; // 07C
102 std::int32_t currentStateID; // 080
103 bool wrapAroundStateID; // 084
104 std::int8_t maxSimultaneousTransitions; // 085
107 bool isActive; // 088
108 std::uint8_t pad41; // 089
109 std::uint16_t pad42; // 08A
110 std::uint32_t pad44; // 08C
118 float timeInState; // 0F0
119 float lastLocalTime; // 0F4
120 std::int32_t previousStateID; // 0F8
121 std::int32_t nextStartStateIndexOverride; // 0FC
123 bool echoNextUpdate; // 101
124 std::uint16_t currentStateIndexAndEntered; // 102
125 std::uint32_t pad0BC; // 104
126 };
127 static_assert(sizeof(hkbStateMachine) == 0x108);
128}
Definition: hkArray.h:189
Definition: hkRefPtr.h:7
Definition: hkRefVariant.h:9
Definition: hkReferencedObject.h:11
Definition: hkbBindable.h:13
Definition: hkbEvent.h:9
Definition: hkbGenerator.h:8
Definition: hkbStateMachine.h:35
std::uint64_t unk40
Definition: hkbStateMachine.h:44
std::uint64_t unk30
Definition: hkbStateMachine.h:42
std::uint64_t unk48
Definition: hkbStateMachine.h:45
std::uint64_t unk58
Definition: hkbStateMachine.h:47
std::uint64_t unk38
Definition: hkbStateMachine.h:43
static constexpr auto RTTI
Definition: hkbStateMachine.h:37
std::uint64_t unk60
Definition: hkbStateMachine.h:48
std::uint64_t unk50
Definition: hkbStateMachine.h:46
std::uint64_t unk68
Definition: hkbStateMachine.h:49
std::uint64_t unk70
Definition: hkbStateMachine.h:50
Definition: hkbStateMachine.h:55
std::uint64_t unk18
Definition: hkbStateMachine.h:63
std::uint64_t unk10
Definition: hkbStateMachine.h:62
static constexpr auto RTTI
Definition: hkbStateMachine.h:57
Definition: hkbStateMachine.h:15
stl::enumeration< StateMachineSelfTransitionMode, std::uint8_t > selfTransitionMode
Definition: hkbStateMachine.h:106
bool stateOrTransitionChanged
Definition: hkbStateMachine.h:122
void Unk_0E(void) override
~hkbStateMachine() override
hkbEvent eventToSendWhenStateOrTransitionChanges
Definition: hkbStateMachine.h:94
std::int32_t transitionToNextLowerStateEventID
Definition: hkbStateMachine.h:100
hkRefPtr< hkbStateChooser > startStateChooser
Definition: hkbStateMachine.h:95
void Unk_1B(void) override
void Unk_19(void) override
std::uint16_t pad42
Definition: hkbStateMachine.h:109
std::int8_t maxSimultaneousTransitions
Definition: hkbStateMachine.h:104
void Unk_06(void) override
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
void Unk_07(void) override
std::int32_t syncVariableIndex
Definition: hkbStateMachine.h:101
hkRefVariant stateIDToIndexMap
Definition: hkbStateMachine.h:113
hkArray< hkRefVariant > wildcardTransitionFlags
Definition: hkbStateMachine.h:116
hkRefPtr< TransitionInfoArray > wildcardTransitions
Definition: hkbStateMachine.h:112
std::int32_t startStateID
Definition: hkbStateMachine.h:96
std::uint8_t pad41
Definition: hkbStateMachine.h:108
void Unk_04(void) override
std::uint32_t pad0BC
Definition: hkbStateMachine.h:125
stl::enumeration< StartStateMode, std::uint8_t > startStateMode
Definition: hkbStateMachine.h:105
bool echoNextUpdate
Definition: hkbStateMachine.h:123
float timeInState
Definition: hkbStateMachine.h:118
bool isActive
Definition: hkbStateMachine.h:107
void Unk_08(void) override
void Unk_09(void) override
hkArray< hkRefVariant > activeTransitions
Definition: hkbStateMachine.h:114
StateMachineSelfTransitionMode
Definition: hkbStateMachine.h:28
void Unk_10(void) override
std::int32_t randomTransitionEventID
Definition: hkbStateMachine.h:98
void Unk_11(void) override
void Unk_03(void) override
float lastLocalTime
Definition: hkbStateMachine.h:119
hkArray< StateInfo * > states
Definition: hkbStateMachine.h:111
std::uint32_t pad44
Definition: hkbStateMachine.h:110
std::uint16_t currentStateIndexAndEntered
Definition: hkbStateMachine.h:124
void Unk_0C(void) override
hkArray< hkRefVariant > transitionFlags
Definition: hkbStateMachine.h:115
bool wrapAroundStateID
Definition: hkbStateMachine.h:103
std::int32_t transitionToNextHigherStateEventID
Definition: hkbStateMachine.h:99
void Unk_17(void) override
void Unk_12(void) override
StartStateMode
Definition: hkbStateMachine.h:20
void Unk_14(void) override
void Unk_0D(void) override
void Unk_0A(void) override
void Unk_05(void) override
hkArray< hkRefVariant > delayedTransitions
Definition: hkbStateMachine.h:117
hkClass * GetClassType() const override
std::int32_t nextStartStateIndexOverride
Definition: hkbStateMachine.h:121
std::int32_t currentStateID
Definition: hkbStateMachine.h:102
void Unk_18(void) override
std::int32_t returnToPreviousStateEventID
Definition: hkbStateMachine.h:97
static constexpr auto RTTI
Definition: hkbStateMachine.h:17
std::int32_t previousStateID
Definition: hkbStateMachine.h:120
void Unk_0F(void) override
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_hkbStateMachine
Definition: Offsets_RTTI.h:7472
constexpr REL::ID RTTI_hkbStateMachine__StateInfo
Definition: Offsets_RTTI.h:7475
constexpr REL::ID RTTI_hkbStateMachine__TransitionInfoArray
Definition: Offsets_RTTI.h:7476