ksys/phys: Start adding RigidContactPoints

Super messy stuff. I have no idea what it's used for
This commit is contained in:
Léo Lam
2021-12-27 21:56:20 +01:00
parent e187c1ecfd
commit b513fbbf03
13 changed files with 260 additions and 21 deletions
+13 -1
View File
@@ -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;