diff options
| author | Léo Lam <leo@leolam.fr> | 2022-03-14 01:41:28 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2022-03-15 01:20:41 +0100 |
| commit | 0c3df3ed97101d91df6bfa7522e268f35885e58b (patch) | |
| tree | d2c5f6a4c2529bb7dbe7ca8ef0adc7d872ebf779 /src/KingSystem/Physics/System/physSystem.h | |
| parent | 2a9e3318b5b7892bb2c398293138ee1553c96ec0 (diff) | |
ksys/phys: Add ShapeCast
Diffstat (limited to 'src/KingSystem/Physics/System/physSystem.h')
| -rw-r--r-- | src/KingSystem/Physics/System/physSystem.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/KingSystem/Physics/System/physSystem.h b/src/KingSystem/Physics/System/physSystem.h index 68fd7bac..8c61d82d 100644 --- a/src/KingSystem/Physics/System/physSystem.h +++ b/src/KingSystem/Physics/System/physSystem.h @@ -7,6 +7,8 @@ #include "KingSystem/Physics/physDefines.h" #include "KingSystem/Utils/Types.h" +class hkpWorld; + namespace ksys::phys { class CollisionInfo; @@ -27,10 +29,8 @@ enum class IsIndoorStage { Yes, }; -enum class LowPriority : bool { - Yes = true, - No = false, -}; +enum class LowPriority : bool { Yes = true, No = false }; +enum class OnlyLockIfNeeded : bool { Yes = true, No = false }; class System { SEAD_SINGLETON_DISPOSER(System) @@ -85,8 +85,11 @@ public: void removeSystemGroupHandler(SystemGroupHandler* handler); - void lockWorld(ContactLayerType type, void* a = nullptr, int b = 0, bool c = false); - void unlockWorld(ContactLayerType type, void* a = nullptr, int b = 0, bool c = false); + hkpWorld* getHavokWorld(ContactLayerType type) const; + void lockWorld(ContactLayerType type, const char* description = nullptr, int b = 0, + OnlyLockIfNeeded only_lock_if_needed = OnlyLockIfNeeded::No); + void unlockWorld(ContactLayerType type, const char* description = nullptr, int b = 0, + OnlyLockIfNeeded only_lock_if_needed = OnlyLockIfNeeded::No); // TODO: rename // 0x0000007101216c60 @@ -94,6 +97,11 @@ public: // 0x0000007101216c74 bool getEntityContactListenerField90() const; + // 0x0000007101216800 + void setEntityContactListenerField91(bool value); + // 0x0000007101216814 + bool getEntityContactListenerField91() const; + // 0x0000007101216cec sead::Heap* getPhysicsTempHeap(LowPriority low_priority) const; |
