CommonLibVR
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 constexpr auto Ni_RTTI = NiRTTI_bhkNiCollisionObject;
15  inline static constexpr auto VTABLE = VTABLE_bhkNiCollisionObject;
16 
17  enum class Flag
18  {
19  kNone = 0,
20  kActive = 1 << 0,
21  kNotify = 1 << 2,
22  kSetLocal = 1 << 3,
23  kDebugDisplay = 1 << 4,
24  kUseVelocity = 1 << 5,
25  kReset = 1 << 6,
26  kSyncOnUpdate = 1 << 7,
27  kAnimTargeted = 1 << 10,
28  kDismemberLimb = 1 << 11
29  };
30 
31  ~bhkNiCollisionObject() override; // 00
32 
33  // override (NiCollisionObject)
34  const NiRTTI* GetRTTI() const override; // 02
35  bhkNiCollisionObject* AsBhkNiCollisionObject() override; // 12 - { return this; }
36  void LoadBinary(NiStream& a_stream) override; // 18
37  void LinkObject(NiStream& a_stream) override; // 19
38  bool RegisterStreamables(NiStream& a_stream) override; // 1A
39  void SaveBinary(NiStream& a_stream) override; // 1B
40  bool IsEqual(NiObject* a_object) override; // 1C
41  void Unk_25(void) override; // 25
42  void Unk_26(void) override; // 26
43  void Unk_27(void) override; // 27 - { return; }
44 
45  // add
46  virtual void Unk_2A(void); // 2A
47  virtual void Unk_2B(void) = 0; // 2B
48  virtual void Unk_2C(void) = 0; // 2C
49  virtual void Unk_2D(void) = 0; // 2D
50  virtual void Unk_2E(void) = 0; // 2E
51  virtual void Unk_2F(void); // 2F
52  virtual void Unk_30(void); // 30 - { return 1; }
53 
54  // members
56  std::uint32_t pad1C; // 1C
58  private:
59  KEEP_FOR_RE()
60  };
61  static_assert(sizeof(bhkNiCollisionObject) == 0x28);
62 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
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:56
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:18
bhkNiCollisionObject * AsBhkNiCollisionObject() override
bool IsEqual(NiObject *a_object) override
virtual void Unk_2D(void)=0
NiPointer< bhkWorldObject > body
Definition: bhkNiCollisionObject.h:57
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:55
static constexpr auto RTTI
Definition: bhkNiCollisionObject.h:13
static constexpr auto Ni_RTTI
Definition: bhkNiCollisionObject.h:14
virtual void Unk_2C(void)=0
static constexpr auto VTABLE
Definition: bhkNiCollisionObject.h:15
void Unk_26(void) override
virtual void Unk_2A(void)
virtual void Unk_30(void)
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_bhkNiCollisionObject
Definition: Offsets_VTABLE.h:13333
constexpr REL::ID RTTI_bhkNiCollisionObject(static_cast< std::uint64_t >(513966))
constexpr REL::ID NiRTTI_bhkNiCollisionObject(static_cast< std::uint64_t >(525089))