From 07b6ba2e2bda2c245be11021f143bde195771df8 Mon Sep 17 00:00:00 2001 From: powerof3 <32599957+powerof3@users.noreply.github.com> Date: Wed, 29 May 2024 04:06:25 +0530 Subject: [PATCH] `hkpContactPointProperties` RE --- cmake/sourcelist.cmake | 2 ++ include/RE/H/hkContactPointMaterial.h | 26 ++++++++++++++++++++++++ include/RE/H/hkpContactPointProperties.h | 17 ++++++++++++++++ include/RE/H/hkpSolverResults.h | 5 ++--- include/RE/Skyrim.h | 2 ++ 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 include/RE/H/hkContactPointMaterial.h create mode 100644 include/RE/H/hkpContactPointProperties.h diff --git a/cmake/sourcelist.cmake b/cmake/sourcelist.cmake index 83b59bb51..bce92e448 100644 --- a/cmake/sourcelist.cmake +++ b/cmake/sourcelist.cmake @@ -916,6 +916,7 @@ set(SOURCES include/RE/H/hkBaseObject.h include/RE/H/hkBaseTypes.h include/RE/H/hkContactPoint.h + include/RE/H/hkContactPointMaterial.h include/RE/H/hkContainerAllocators.h include/RE/H/hkFinishLoadedObjectFlag.h include/RE/H/hkMatrix3.h @@ -1002,6 +1003,7 @@ set(SOURCES include/RE/H/hkpConstraintOwner.h include/RE/H/hkpContactListener.h include/RE/H/hkpContactPointEvent.h + include/RE/H/hkpContactPointProperties.h include/RE/H/hkpConvexListFilter.h include/RE/H/hkpConvexShape.h include/RE/H/hkpEaseConstraintsAction.h diff --git a/include/RE/H/hkContactPointMaterial.h b/include/RE/H/hkContactPointMaterial.h new file mode 100644 index 000000000..bf950215b --- /dev/null +++ b/include/RE/H/hkContactPointMaterial.h @@ -0,0 +1,26 @@ +#pragma once + +#include "RE/H/hkBaseTypes.h" + +namespace RE +{ + class hkContactPointMaterial + { + public: + enum class Flag + { + kIsNew = 1 << 0, + kUsesSolverPath2 = 1 << 1, + kBreakoffObjectID = 1 << 2, + kIsDisabled = 1 << 3 + }; + + // members + std::uint64_t userData; // 00 + hkUFloat8 friction; // 08 + std::uint8_t restitution; // 09 + hkUFloat8 maxImpulse; // 0A + stl::enumeration flags; // 0B + }; + static_assert(sizeof(hkContactPointMaterial) == 0x10); +} diff --git a/include/RE/H/hkpContactPointProperties.h b/include/RE/H/hkpContactPointProperties.h new file mode 100644 index 000000000..573c57e76 --- /dev/null +++ b/include/RE/H/hkpContactPointProperties.h @@ -0,0 +1,17 @@ +#pragma once + +#include "RE/H/hkContactPointMaterial.h" +#include "RE/H/hkpSolverResults.h" + +namespace RE +{ + class hkpContactPointProperties : + public hkpSolverResults, // 00 + public hkContactPointMaterial // 08 + { + public: + // members + float internalData; // 18 + }; + static_assert(sizeof(hkpContactPointProperties) == 0x20); +} diff --git a/include/RE/H/hkpSolverResults.h b/include/RE/H/hkpSolverResults.h index 96ea565cd..57fb805cc 100644 --- a/include/RE/H/hkpSolverResults.h +++ b/include/RE/H/hkpSolverResults.h @@ -2,13 +2,12 @@ namespace RE { - class hkpSolverResults { public: + // members float impulse; // 00 float data; // 04 }; static_assert(sizeof(hkpSolverResults) == 0x08); - -} \ No newline at end of file +} diff --git a/include/RE/Skyrim.h b/include/RE/Skyrim.h index 1187728ac..97e598f82 100644 --- a/include/RE/Skyrim.h +++ b/include/RE/Skyrim.h @@ -918,6 +918,7 @@ #include "RE/H/hkBaseObject.h" #include "RE/H/hkBaseTypes.h" #include "RE/H/hkContactPoint.h" +#include "RE/H/hkContactPointMaterial.h" #include "RE/H/hkContainerAllocators.h" #include "RE/H/hkFinishLoadedObjectFlag.h" #include "RE/H/hkMatrix3.h" @@ -1004,6 +1005,7 @@ #include "RE/H/hkpConstraintOwner.h" #include "RE/H/hkpContactListener.h" #include "RE/H/hkpContactPointEvent.h" +#include "RE/H/hkpContactPointProperties.h" #include "RE/H/hkpConvexListFilter.h" #include "RE/H/hkpConvexShape.h" #include "RE/H/hkpEaseConstraintsAction.h"