CommonLibSSE NG
bhkShape.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/bhkMeshMaterial.h"
4 #include "RE/B/bhkSerializable.h"
5 #include "RE/H/hkpShape.h"
6 
7 namespace RE
8 {
9  class bhkShape : public bhkSerializable
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_bhkShape;
13  inline static auto Ni_RTTI = NiRTTI_bhkShape;
14  inline static constexpr auto VTABLE = VTABLE_bhkShape;
15 
16  ~bhkShape() override; // 00
17 
18  // override (bhkSerializable)
19  const NiRTTI* GetRTTI() const override; // 02
20  void LoadBinary(NiStream& a_stream) override; // 18
21  void LinkObject(NiStream& a_stream) override; // 19 - { bhkSerializable::LinkObject(a_stream); }
22  bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return bhkSerializable::RegisterStreamables(a_stream); }
23  void SaveBinary(NiStream& a_stream) override; // 1B
24  bool IsEqual(NiObject* a_object) override; // 1C
25  void AdjustRefCount(bool a_increment) override; // 26
26 
27  // add
28  virtual void Unk_32(void); // 32
29  virtual void Unk_33(void); // 33
30  virtual void Unk_34(void); // 34 - { return 0; }
31  virtual void Unk_35(void); // 35
32 
33  [[nodiscard]] MATERIAL_ID GetMaterialID(hkpShapeKey a_key) const
34  {
35  using func_t = decltype(&bhkShape::GetMaterialID);
36  REL::Relocation<func_t> func{ RELOCATION_ID(76799, 78676) };
37  return func(this, a_key);
38  }
39 
40  // members
42  std::uint32_t filterInfo; // 24
43  };
44  static_assert(sizeof(bhkShape) == 0x28);
45 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiStream.h:29
Definition: bhkSerializable.h:12
Definition: bhkShape.h:10
static constexpr auto VTABLE
Definition: bhkShape.h:14
const NiRTTI * GetRTTI() const override
~bhkShape() override
void LoadBinary(NiStream &a_stream) override
virtual void Unk_33(void)
MATERIAL_ID GetMaterialID(hkpShapeKey a_key) const
Definition: bhkShape.h:33
static auto Ni_RTTI
Definition: bhkShape.h:13
bool RegisterStreamables(NiStream &a_stream) override
std::uint32_t filterInfo
Definition: bhkShape.h:42
virtual void Unk_35(void)
void AdjustRefCount(bool a_increment) override
static constexpr auto RTTI
Definition: bhkShape.h:12
void SaveBinary(NiStream &a_stream) override
bool IsEqual(NiObject *a_object) override
virtual void Unk_32(void)
void LinkObject(NiStream &a_stream) override
virtual void Unk_34(void)
MATERIAL_ID materialID
Definition: bhkShape.h:41
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_bhkShape
Definition: Offsets_VTABLE.h:638
constexpr REL::VariantID RTTI_bhkShape(685164, 392930, 0x1ee0e00)
MATERIAL_ID
Definition: MaterialIDs.h:6
std::uint32_t hkpShapeKey
Definition: hkpContactPointEvent.h:12
constexpr REL::VariantID NiRTTI_bhkShape(525115, 411590, 0x3188138)