CommonLibVR
bhkCollisionFilter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSTSingleton.h"
6 
7 namespace RE
8 {
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_bhkCollisionFilter;
13  inline static constexpr auto VTABLE = VTABLE_bhkCollisionFilter;
14 
15  [[nodiscard]] static bhkCollisionFilter* GetSingleton()
16  {
17  REL::Relocation<bhkCollisionFilter**> singleton{ RELOCATION_ID(514415, 400562) };
18  return *singleton;
19  }
20 
21  ~bhkCollisionFilter() override; // 00
22 
23  std::uint32_t GetNewSystemGroup()
24  {
26  if (nextSystemGroup == 65535) {
27  nextSystemGroup = 10;
28  }
29  return nextSystemGroup;
30  }
31 
32  // members
33  std::uint32_t unk48; // 048
34  std::uint32_t nextSystemGroup; // 04C
35  std::uint32_t bipedBitfields[32]; // 050
36  std::uint32_t layerCollisionGroups[64]; // 0D0
37  std::uint64_t layerBitfields[64]; // 1D0
38  std::uint64_t triggerField; // 3D0
39  std::uint64_t sensorField; // 3D8
41  std::uint8_t unk5E0[256]; // 5E0
43  private:
44  KEEP_FOR_RE()
45  };
46  static_assert(sizeof(bhkCollisionFilter) == 0x7E0);
47 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: bhkCollisionFilter.h:10
std::uint8_t unk5E0[256]
Definition: bhkCollisionFilter.h:41
std::uint32_t nextSystemGroup
Definition: bhkCollisionFilter.h:34
std::uint64_t sensorField
Definition: bhkCollisionFilter.h:39
static constexpr auto VTABLE
Definition: bhkCollisionFilter.h:13
std::uint32_t GetNewSystemGroup()
Definition: bhkCollisionFilter.h:23
static bhkCollisionFilter * GetSingleton()
Definition: bhkCollisionFilter.h:15
std::uint32_t layerCollisionGroups[64]
Definition: bhkCollisionFilter.h:36
BSFixedString collisionLayerNames[64]
Definition: bhkCollisionFilter.h:40
std::uint32_t bipedBitfields[32]
Definition: bhkCollisionFilter.h:35
static constexpr auto RTTI
Definition: bhkCollisionFilter.h:12
BSFixedString collisionBoneNames[32]
Definition: bhkCollisionFilter.h:42
std::uint64_t layerBitfields[64]
Definition: bhkCollisionFilter.h:37
std::uint64_t triggerField
Definition: bhkCollisionFilter.h:38
~bhkCollisionFilter() override
std::uint32_t unk48
Definition: bhkCollisionFilter.h:33
Definition: hkpCollisionFilter.h:20
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_bhkCollisionFilter(static_cast< std::uint64_t >(690776))
constexpr std::array< REL::ID, 5 > VTABLE_bhkCollisionFilter
Definition: Offsets_VTABLE.h:13298