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