From 3e796ae9c7f4fcd6068780c62449c2c7848ed135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 19 Dec 2021 13:25:55 +0100 Subject: [PATCH] Havok: Add hkpCollisionFilter --- data/uking_functions.csv | 28 +++++++++---------- lib/hkStubs/CMakeLists.txt | 1 + .../Collide/Filter/hkpCollisionFilter.cpp | 11 ++++++++ 3 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 lib/hkStubs/Havok/Physics2012/Collide/Filter/hkpCollisionFilter.cpp diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 55450ac7..2aa12f31 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -83803,7 +83803,7 @@ Address,Quality,Size,Name 0x0000007100fb60cc,U,000092, 0x0000007100fb6128,U,000004,nullsub_4242 0x0000007100fb612c,U,000004,j__ZdlPv_1005 -0x0000007100fb6130,U,000004,nullsub_4243 +0x0000007100fb6130,O,000004,_ZN18hkpCollisionFilter4initEP8hkpWorld 0x0000007100fb6134,U,000008, 0x0000007100fb613c,U,000204, 0x0000007100fb6208,U,000092, @@ -103970,19 +103970,19 @@ Address,Quality,Size,Name 0x00000071015c39f4,U,000004,j__ZdlPv_1429 0x00000071015c39f8,U,000140, 0x00000071015c3a84,U,000004,j__ZdlPv_1430 -0x00000071015c3a88,U,000056, -0x00000071015c3ac0,U,000008, -0x00000071015c3ac8,U,000008, -0x00000071015c3ad0,U,000004,nullsub_5096 -0x00000071015c3ad4,U,000084, -0x00000071015c3b28,U,000004,nullsub_5097 -0x00000071015c3b2c,U,000088, -0x00000071015c3b84,U,000004,nullsub_5098 -0x00000071015c3b88,U,000088, -0x00000071015c3be0,U,000004,nullsub_5099 -0x00000071015c3be4,U,000088, -0x00000071015c3c3c,U,000004,nullsub_5100 -0x00000071015c3c40,U,000088, +0x00000071015c3a88,L,000056,_ZN18hkpCollisionFilterC2Ev +0x00000071015c3ac0,L,000008,_ZNK18hkpCollisionFilter28numShapeKeyHitsLimitBreachedERK17hkpCollisionInputRK9hkpCdBodyS5_PK14hkpBvTreeShapeR6hkAabbPji +0x00000071015c3ac8,L,000008,_ZThn24_NK18hkpCollisionFilter28numShapeKeyHitsLimitBreachedERK17hkpCollisionInputRK9hkpCdBodyS5_PK14hkpBvTreeShapeR6hkAabbPji +0x00000071015c3ad0,L,000004,_ZN18hkpCollisionFilterD2Ev +0x00000071015c3ad4,L,000084,_ZN18hkpCollisionFilterD0Ev +0x00000071015c3b28,L,000004,_ZThn16_N18hkpCollisionFilterD1Ev +0x00000071015c3b2c,L,000088,_ZThn16_N18hkpCollisionFilterD0Ev +0x00000071015c3b84,L,000004,_ZThn24_N18hkpCollisionFilterD1Ev +0x00000071015c3b88,L,000088,_ZThn24_N18hkpCollisionFilterD0Ev +0x00000071015c3be0,L,000004,_ZThn32_N18hkpCollisionFilterD1Ev +0x00000071015c3be4,L,000088,_ZThn32_N18hkpCollisionFilterD0Ev +0x00000071015c3c3c,L,000004,_ZThn40_N18hkpCollisionFilterD1Ev +0x00000071015c3c40,L,000088,_ZThn40_N18hkpCollisionFilterD0Ev 0x00000071015c3c98,U,000120, 0x00000071015c3d10,U,000132, 0x00000071015c3d94,U,000188, diff --git a/lib/hkStubs/CMakeLists.txt b/lib/hkStubs/CMakeLists.txt index e8264c94..5c82e85c 100644 --- a/lib/hkStubs/CMakeLists.txt +++ b/lib/hkStubs/CMakeLists.txt @@ -28,6 +28,7 @@ add_library(hkStubs OBJECT Havok/Common/Base/Types/Geometry/Aabb/hkAabb.h Havok/Physics2012/Collide/Filter/hkpCollidableCollidableFilter.h + Havok/Physics2012/Collide/Filter/hkpCollisionFilter.cpp Havok/Physics2012/Collide/Filter/hkpCollisionFilter.h Havok/Physics2012/Collide/Filter/hkpConvexListFilter.h Havok/Physics2012/Collide/Filter/hkpRayCollidableFilter.h diff --git a/lib/hkStubs/Havok/Physics2012/Collide/Filter/hkpCollisionFilter.cpp b/lib/hkStubs/Havok/Physics2012/Collide/Filter/hkpCollisionFilter.cpp new file mode 100644 index 00000000..d5b0c806 --- /dev/null +++ b/lib/hkStubs/Havok/Physics2012/Collide/Filter/hkpCollisionFilter.cpp @@ -0,0 +1,11 @@ +#include + +hkpCollisionFilter::hkpCollisionFilter() : m_type(HK_FILTER_UNKNOWN) {} + +int hkpCollisionFilter::numShapeKeyHitsLimitBreached(const hkpCollisionInput& input, + const hkpCdBody& bodyA, const hkpCdBody& bodyB, + const hkpBvTreeShape* bvTreeShapeB, + hkAabb& aabb, hkpShapeKey* shapeKeysInOut, + int shapeKeysCapacity) const { + return shapeKeysCapacity; +}