summaryrefslogtreecommitdiff
path: root/src/KingSystem/Physics/System
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2022-12-20 23:25:21 +0100
committerLéo Lam <leo@leolam.fr>2022-12-21 12:25:49 +0100
commit25427f1b4cd1da799b392ceed1dd778fdc5daa4a (patch)
treee0806b295db0c03c095d96274dc1fc63b9d7f990 /src/KingSystem/Physics/System
parent3fc168ab9953a0ab20fa3660f4f73dd361419fb9 (diff)
ksys/phys: Add RagdollController (the real one, not RagdollInstance)
Diffstat (limited to 'src/KingSystem/Physics/System')
-rw-r--r--src/KingSystem/Physics/System/physSystem.cpp6
-rw-r--r--src/KingSystem/Physics/System/physSystem.h3
-rw-r--r--src/KingSystem/Physics/System/physSystemData.h2
3 files changed, 11 insertions, 0 deletions
diff --git a/src/KingSystem/Physics/System/physSystem.cpp b/src/KingSystem/Physics/System/physSystem.cpp
index 15d13578..0428a92a 100644
--- a/src/KingSystem/Physics/System/physSystem.cpp
+++ b/src/KingSystem/Physics/System/physSystem.cpp
@@ -67,4 +67,10 @@ void System::registerContactPointInfo(ContactPointInfo* info) const {
mContactMgr->registerContactPointInfo(info);
}
+RagdollControllerKeyList* System::getRagdollCtrlKeyList() const {
+ if (!mSystemData)
+ return nullptr;
+ return mSystemData->getRagdollCtrlKeyList();
+}
+
} // namespace ksys::phys
diff --git a/src/KingSystem/Physics/System/physSystem.h b/src/KingSystem/Physics/System/physSystem.h
index a8c94b0b..07f6b501 100644
--- a/src/KingSystem/Physics/System/physSystem.h
+++ b/src/KingSystem/Physics/System/physSystem.h
@@ -20,6 +20,7 @@ class GroupFilter;
class LayerContactPointInfo;
class MaterialTable;
class RayCastForRequest;
+class RagdollControllerKeyList;
class RagdollInstanceMgr;
class RigidBody;
class RigidBodyRequestMgr;
@@ -109,6 +110,8 @@ public:
RayCastForRequest* allocRayCastRequest(SystemGroupHandler* group_handler = nullptr,
GroundHit ground_hit = GroundHit::HitAll);
+ RagdollControllerKeyList* getRagdollCtrlKeyList() const;
+
// TODO: rename
// 0x0000007101216c60
void setEntityContactListenerField90(bool value);
diff --git a/src/KingSystem/Physics/System/physSystemData.h b/src/KingSystem/Physics/System/physSystemData.h
index 4af94f81..ead0862c 100644
--- a/src/KingSystem/Physics/System/physSystemData.h
+++ b/src/KingSystem/Physics/System/physSystemData.h
@@ -64,6 +64,8 @@ public:
void load(sead::Heap* heap, GroupFilter* entity_group_filter, GroupFilter* sensor_group_filter,
MaterialTable* material_table, ContactMgr* contact_mgr);
+ auto* getRagdollCtrlKeyList() const { return mRagdollCtrlKeyList; }
+
private:
using LayerMatrix = Tables<LayerTable, MaxNumLayersPerType>;