CommonLibSSE NG
Loading...
Searching...
No Matches
hkpEntity.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/H/hkArray.h"
4#include "RE/H/hkBaseTypes.h"
5#include "RE/H/hkSmallArray.h"
7#include "RE/H/hkpMaterial.h"
9
10namespace RE
11{
12 class hkpConstraintInstance;
13 class hkLocalFrame;
14 class hkSpuCollisionCallbackUtil;
15 class hkpAction;
16 class hkpBreakableBody;
17 class hkpContactListener;
18 class hkpEntityActivationListener;
19 class hkpEntityListener;
20 class hkpSimulationIsland;
21 struct hkConstraintInternal;
22
24 {
25 public:
26 inline static constexpr auto RTTI = RTTI_hkpEntity;
27 inline static constexpr auto VTABLE = VTABLE_hkpEntity;
28
30 {
31 kNone = 0,
32 kContactPointAdded = 1 << 0,
33 kContactPointProcess = 1 << 1,
34 kContactPointRemoved = 1 << 2,
36 };
37
39 {
40 public:
41 // members
42 void* data; // 00
43 std::uint16_t size; // 08
44 std::uint16_t capacityAndFlags; // 0A
45 std::uint32_t pad0C; // 0C
46 };
47 static_assert(sizeof(SmallArraySerializeOverrideType) == 0x10);
48
50 {
51 public:
52 // members
53 hkSpuCollisionCallbackUtil* util; // 00
54 std::uint16_t capacity; // 08
56 std::uint8_t userFilter; // 0B
57 std::uint32_t pad0C; // 0C
58 };
59 static_assert(sizeof(SpuCollisionCallback) == 0x10);
60
62 {
63 public:
64 // members
67 };
68 static_assert(sizeof(ExtendedListeners) == 0x20);
69
70 ~hkpEntity() override; // 00
71
72 // override (hkpWorldObject)
73 void CalcContentStatistics(hkStatisticsCollector* a_collector, const hkClass* a_class) const override; // 02
74 hkMotionState* GetMotionState() override; // 05 - { return 0; }
75
76 // add
77 virtual void DeallocateInternalArrays(); // 06
78
79 // members
81 std::uint32_t pad00C; // 0DC
83 float damageMultiplier; // 0E8
84 std::uint32_t pad01C; // 0EC
85 hkpBreakableBody* breakableBody; // 0F0
86 std::uint32_t solverData; // 0F8
88 std::uint16_t contactPointCallbackDelay; // 0FE
93 std::int8_t autoRemoveLevel; // 138
95 std::uint8_t responseModifierFlags; // 13A
96 std::uint8_t pad13B; // 13B
97 std::uint32_t uid; // 13C
104 std::uint32_t npData; // 2C0
105 std::uint32_t pad2C4; // 2C4
106 std::uint64_t pad2C8; // 2C8
107 };
108 static_assert(sizeof(hkpEntity) == 0x2D0);
109}
Definition hkArray.h:189
Definition hkMotionState.h:11
Definition hkRefPtr.h:7
Definition hkSmallArray.h:7
std::uint32_t pad0C
Definition hkpEntity.h:45
void * data
Definition hkpEntity.h:42
std::uint16_t capacityAndFlags
Definition hkpEntity.h:44
std::uint16_t size
Definition hkpEntity.h:43
Definition hkpEntity.h:24
std::uint8_t responseModifierFlags
Definition hkpEntity.h:95
hkArray< std::uint8_t > constraintRuntime
Definition hkpEntity.h:91
static constexpr auto RTTI
Definition hkpEntity.h:26
SpuCollisionCallback spuCollisionCallback
Definition hkpEntity.h:98
void * limitContactImpulseUtilAndFlag
Definition hkpEntity.h:82
hkSmallArray< hkpAction * > actions
Definition hkpEntity.h:101
float damageMultiplier
Definition hkpEntity.h:83
std::uint32_t npData
Definition hkpEntity.h:104
ExtendedListeners * extendedListeners
Definition hkpEntity.h:103
hkObjectIndex storageIndex
Definition hkpEntity.h:87
hkArray< hkpConstraintInstance * > constraintsSlave
Definition hkpEntity.h:90
std::uint8_t pad13B
Definition hkpEntity.h:96
hkMotionState * GetMotionState() override
std::int8_t autoRemoveLevel
Definition hkpEntity.h:93
void CalcContentStatistics(hkStatisticsCollector *a_collector, const hkClass *a_class) const override
std::uint32_t uid
Definition hkpEntity.h:97
SpuCollisionCallbackEventFilter
Definition hkpEntity.h:30
hkSmallArray< hkConstraintInternal > constraintsMaster
Definition hkpEntity.h:89
hkpBreakableBody * breakableBody
Definition hkpEntity.h:85
std::uint16_t contactPointCallbackDelay
Definition hkpEntity.h:88
hkpMaterial material
Definition hkpEntity.h:80
~hkpEntity() override
std::uint32_t pad00C
Definition hkpEntity.h:81
hkRefPtr< hkLocalFrame > localFrame
Definition hkpEntity.h:102
std::uint32_t pad2C4
Definition hkpEntity.h:105
hkpSimulationIsland * simulationIsland
Definition hkpEntity.h:92
static constexpr auto VTABLE
Definition hkpEntity.h:27
std::uint64_t pad2C8
Definition hkpEntity.h:106
hkSmallArray< hkpContactListener * > contactListeners
Definition hkpEntity.h:100
std::uint32_t pad01C
Definition hkpEntity.h:84
virtual void DeallocateInternalArrays()
hkpMaxSizeMotion motion
Definition hkpEntity.h:99
std::uint32_t solverData
Definition hkpEntity.h:86
std::uint8_t numShapeKeysInContactPointProperties
Definition hkpEntity.h:94
Definition hkpMaterial.h:8
Definition hkpKeyframedRigidMotion.h:47
Definition hkpSimulationIsland.h:16
Definition hkpWorldObject.h:28
Definition PCH.h:223
Definition AbsorbEffect.h:6
std::uint16_t hkObjectIndex
Definition hkBaseTypes.h:5
constexpr REL::VariantID RTTI_hkpEntity(689851, 397706, 0x1f59410)
constexpr std::array< REL::VariantID, 1 > VTABLE_hkpEntity
Definition Offsets_VTABLE.h:5000
Definition hkpEntity.h:62
hkSmallArray< hkpEntityListener * > entityListeners
Definition hkpEntity.h:66
hkSmallArray< hkpEntityActivationListener * > activationListeners
Definition hkpEntity.h:65
Definition hkpEntity.h:50
std::uint8_t userFilter
Definition hkpEntity.h:56
std::uint16_t capacity
Definition hkpEntity.h:54
std::uint32_t pad0C
Definition hkpEntity.h:57
hkSpuCollisionCallbackUtil * util
Definition hkpEntity.h:53
stl::enumeration< SpuCollisionCallbackEventFilter, std::uint8_t > eventFilter
Definition hkpEntity.h:55