diff options
| author | Léo Lam <leo@leolam.fr> | 2022-12-20 23:25:21 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2022-12-21 12:25:49 +0100 |
| commit | 25427f1b4cd1da799b392ceed1dd778fdc5daa4a (patch) | |
| tree | e0806b295db0c03c095d96274dc1fc63b9d7f990 /src/KingSystem/Physics/System | |
| parent | 3fc168ab9953a0ab20fa3660f4f73dd361419fb9 (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.cpp | 6 | ||||
| -rw-r--r-- | src/KingSystem/Physics/System/physSystem.h | 3 | ||||
| -rw-r--r-- | src/KingSystem/Physics/System/physSystemData.h | 2 |
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>; |
