CommonLibSSE NG
bhkNiCollisionObject.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiSmartPointer.h"
5 
6 namespace RE
7 {
8  class bhkWorldObject;
9 
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_bhkNiCollisionObject;
14  inline static auto Ni_RTTI = NiRTTI_bhkNiCollisionObject;
15 
16  enum class Flag
17  {
18  kNone = 0,
19  kActive = 1 << 0,
20  kNotify = 1 << 2,
21  kSetLocal = 1 << 3,
22  kDebugDisplay = 1 << 4,
23  kUseVelocity = 1 << 5,
24  kReset = 1 << 6,
25  kSyncOnUpdate = 1 << 7,
26  kAnimTargeted = 1 << 10,
27  kDismemberLimb = 1 << 11
28  };
29 
30  ~bhkNiCollisionObject() override; // 00
31 
32  // override (NiCollisionObject)
33  const NiRTTI* GetRTTI() const override; // 02
34  bhkNiCollisionObject* AsBhkNiCollisionObject() override; // 12 - { return this; }
35  void LoadBinary(NiStream& a_stream) override; // 18
36  void LinkObject(NiStream& a_stream) override; // 19
37  bool RegisterStreamables(NiStream& a_stream) override; // 1A
38  void SaveBinary(NiStream& a_stream) override; // 1B
39  bool IsEqual(NiObject* a_object) override; // 1C
40  void Unk_25(void) override; // 25
41  void Unk_26(void) override; // 26
42  void Unk_27(void) override; // 27 - { return; }
43 
44  // add
45  virtual void Unk_2A(void); // 2A
46  virtual void Unk_2B(void) = 0; // 2B
47  virtual void Unk_2C(void) = 0; // 2C
48  virtual void Unk_2D(void) = 0; // 2D
49  virtual void Unk_2E(void) = 0; // 2E
50  virtual void Unk_2F(void); // 2F
51  virtual void Unk_30(void); // 30 - { return 1; }
52 
53  // members
55  std::uint32_t pad1C; // 1C
57  };
58  static_assert(sizeof(bhkNiCollisionObject) == 0x28);
59 }
Definition: NiCollisionObject.h:10
Definition: NiObject.h:37
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: NiStream.h:29
Definition: bhkNiCollisionObject.h:11
void Unk_25(void) override
virtual void Unk_2E(void)=0
std::uint32_t pad1C
Definition: bhkNiCollisionObject.h:55
virtual void Unk_2F(void)
void LinkObject(NiStream &a_stream) override
void SaveBinary(NiStream &a_stream) override
virtual void Unk_2B(void)=0
Flag
Definition: bhkNiCollisionObject.h:17
bhkNiCollisionObject * AsBhkNiCollisionObject() override
bool IsEqual(NiObject *a_object) override
virtual void Unk_2D(void)=0
NiPointer< bhkWorldObject > body
Definition: bhkNiCollisionObject.h:56
void LoadBinary(NiStream &a_stream) override
bool RegisterStreamables(NiStream &a_stream) override
~bhkNiCollisionObject() override
const NiRTTI * GetRTTI() const override
void Unk_27(void) override
stl::enumeration< Flag, std::uint32_t > flags
Definition: bhkNiCollisionObject.h:54
static constexpr auto RTTI
Definition: bhkNiCollisionObject.h:13
static auto Ni_RTTI
Definition: bhkNiCollisionObject.h:14
virtual void Unk_2C(void)=0
void Unk_26(void) override
virtual void Unk_2A(void)
virtual void Unk_30(void)
Definition: AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_bhkNiCollisionObject(525089, 411565, 0x3188010)
constexpr REL::VariantID RTTI_bhkNiCollisionObject(513966, 392754, 0x1eddcd0)