diff options
| author | Léo Lam <leo@leolam.fr> | 2021-12-27 21:56:20 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2021-12-29 02:19:32 +0100 |
| commit | b513fbbf03dddaaf9084dd8358a656380f73c3d2 (patch) | |
| tree | 08e9ce961f104a552dbe782ebd32ee606e430565 /src/KingSystem/Physics/System/physMemSystem.h | |
| parent | e187c1ecfd7eeae05b2f7e9bf8f3719850e1a845 (diff) | |
ksys/phys: Start adding RigidContactPoints
Super messy stuff. I have no idea what it's used for
Diffstat (limited to 'src/KingSystem/Physics/System/physMemSystem.h')
| -rw-r--r-- | src/KingSystem/Physics/System/physMemSystem.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/KingSystem/Physics/System/physMemSystem.h b/src/KingSystem/Physics/System/physMemSystem.h index a5829227..92eec883 100644 --- a/src/KingSystem/Physics/System/physMemSystem.h +++ b/src/KingSystem/Physics/System/physMemSystem.h @@ -10,6 +10,8 @@ namespace ksys::phys { class ContactMgr; class GroupFilter; class RigidBody; +class RigidContactPoints; +class RigidContactPointsEx; class SystemGroupHandler; // FIXME: obviously incomplete. Also this should be moved to its own header @@ -19,15 +21,25 @@ struct RigidBodyRequestMgr { class MemSystem { SEAD_SINGLETON_DISPOSER(MemSystem) + MemSystem(); + virtual ~MemSystem(); + public: GroupFilter* getGroupFilter(ContactLayerType type) const; ContactMgr* getContactMgr() const { return mContactMgr; } RigidBodyRequestMgr* getRigidBodyRequestMgr() const { return mRigidBodyRequestMgr; } + RigidContactPoints* allocContactPoints(sead::Heap* heap, int num, const sead::SafeString& name, + int a, int b, int c) const; + void freeContactPoints(RigidContactPoints* points) const; + void registerContactPoints(RigidContactPoints* points) const; + void registerContactPointLayerPair(RigidContactPointsEx* points, ContactLayer layer1, + ContactLayer layer2, bool enabled); + void removeSystemGroupHandler(SystemGroupHandler* handler); private: - u8 _20[0x148 - 0x20]; + u8 _28[0x148 - 0x28]; ContactMgr* mContactMgr; void* _150; void* _158; |
