Léo Lam
c292675646
ksys/phys: Rename MemSystem to System
...
It was called MemSystem in the IDB because of a string in
ksys::InitializeApp that referred to MemSystem initialisation as
"Physics Memory System"; however that string actually referred to an
initialisation step for the physics system, not to the name of the
subsystem itself.
2022-01-21 12:43:24 +01:00
Léo Lam
98c69ebaef
ksys/phys: Add one more RigidBody function
2022-01-21 12:20:05 +01:00
Léo Lam
a2a4ae4163
Sync function list with IDB (add a bunch of Havok names)
2022-01-20 23:53:23 +01:00
Léo Lam
3379577a1e
Havok: Add hkpBroadPhaseBorder
2022-01-20 23:53:23 +01:00
Léo Lam
7c3bf4a382
Havok: Add Physics2012 world listener interfaces
2022-01-20 21:51:27 +01:00
Léo Lam
d7e49f5fb3
Havok: Add hkpContactListener and related events
2022-01-20 21:40:12 +01:00
Léo Lam
f0d4f79d75
Havok: Add hkpWorld
2022-01-20 21:40:12 +01:00
Léo Lam
88d2bc5942
Havok: Add hkpSimulation
2022-01-20 19:32:45 +01:00
Brian Savage
d11a43df25
Added missing include for sead::Buffer
2022-01-20 11:57:06 -05:00
Brian Savage
c028190362
Use sead::Buffer<PlacementMap>
2022-01-20 10:17:58 -05:00
Brian Savage
1182f2fd75
Further fixes to variables types
2022-01-20 09:37:30 -05:00
Léo Lam
820dc02de1
Havok: Add missing hkArray constructor
2022-01-20 15:02:25 +01:00
Léo Lam
26d2110e88
Havok: Add hkpSimulationIsland
2022-01-20 12:16:41 +01:00
Léo Lam
fe3839263e
Havok: Add hkpAction
2022-01-20 12:04:40 +01:00
Léo Lam
4935a8c950
Havok: Add hkpAgentNnTrack stub
2022-01-20 12:04:40 +01:00
Léo Lam
0c734c4cbd
Havok: Add hkpConstraintOwner
2022-01-20 12:04:40 +01:00
Brian Savage
7d97bb6f40
Moved functions to correct places/files, formatting
2022-01-19 19:21:05 -05:00
Léo Lam
a291d84b2b
Havok: Move hkpConstraintInstance to the correct folder
2022-01-20 01:11:54 +01:00
Léo Lam
731229798a
Havok: Add hkpConstraintInternal stub and getters/setters
2022-01-19 23:03:52 +01:00
Léo Lam
178108d42c
ksys/phys: Update some RigidBody flag names for clarity
2022-01-19 15:23:01 +01:00
Brian Savage
d61a13e4bd
Add PlacementMap, stubs: PlacementMapMgr and PlacementMapMgrMapArray
2022-01-18 18:52:13 -05:00
Léo Lam
c20142ab7b
ksys/phys: Rename flag 0x80 to RigidBody::Flag::HighQualityCollidable
2022-01-19 00:37:32 +01:00
Léo Lam
52e2111ff3
ksys/phys: Add even more RigidBody functions
2022-01-19 00:33:49 +01:00
Léo Lam
c343c3d9e3
ksys/phys: Mark RigidBody::m9 as pure virtual
2022-01-18 20:24:10 +01:00
Léo Lam
98aeceed40
ksys/phys: Add more RigidBody functions
...
And fix a bunch of hkVector4f / hkSimdFloat32 interop matching issues.
2022-01-18 19:04:27 +01:00
Léo Lam
7d8f0ed308
Sync function list with IDB
2022-01-18 00:32:55 +01:00
Léo Lam
87bca00e68
ksys/phys: Add more RigidBody functions and Havok utils
2022-01-17 22:29:21 +01:00
Léo Lam
a2cde0f0de
Havok: Add hkpConstraintInstance stub
2022-01-17 20:01:23 +01:00
Léo Lam
adad4553d6
ksys/phys: Add more RigidBody functions
2022-01-17 19:27:49 +01:00
Léo Lam
ddef936b26
ksys/phys: Add RigidBody::isEntity to make certain checks clearer
...
The pattern we want to use is:
```
if (isEntity())
do entity stuff (e.g. get entity motion accessor)
```
or
```
if (!isEntity())
return;
do entity stuff
```
That's clearer than
```
if (isSensor())
return;
do entity stuff
```
because the fact that !isSensor() is equivalent to isEntity() is not
always immediately clear.
2022-01-17 17:22:27 +01:00
Léo Lam
a2cba75b19
ksys/phys: Rename MotionAccessor classes to reflect entity/sensor split
2022-01-17 17:16:43 +01:00
Léo Lam
8dd5608b79
ksys/phys: Rename RigidBody "isMassScaling" mode to "isSensor"
...
That also explains the comparison against 1 (ContactLayerType::Sensor)
in the constructor.
2022-01-17 17:02:11 +01:00
Léo Lam
392c0973c7
ksys/phys: Add a bunch of easy RigidBody functions
2022-01-17 16:58:22 +01:00
Léo Lam
ab71075dee
Sync function list with IDB
2022-01-17 01:53:44 +01:00
Léo Lam
05abdf7e77
ksys/phys: Add easy RigidBodyRequestMgr functions
2022-01-17 01:52:21 +01:00
Léo Lam
4eb07ca88c
ksys/phys: Start adding RigidBodyRequestMgr
2022-01-16 23:29:48 +01:00
Léo Lam
71fda30853
ksys/util: Add LockFreeQueue
2022-01-16 23:21:52 +01:00
Léo Lam
cba2a5b8b0
ksys: Declutter Utils by creating new Utils/Container folder
2022-01-16 22:24:00 +01:00
Léo Lam
99b913f86d
ksys/phys: Move RigidBodyRequestMgr to its own header
2022-01-16 15:55:42 +01:00
Léo Lam
2a8dc8ad25
ksys/phys: Add two RigidBody init functions (and prerequisites)
2022-01-16 15:50:56 +01:00
Léo Lam
a15790e624
Havok: Add hkVector4f::load
2022-01-16 15:41:30 +01:00
Léo Lam
88f3c8c49a
Havok: Add hkpFixedRigidMotion
2022-01-16 15:16:55 +01:00
Léo Lam
c5b5954f92
Havok: Add a convenience function to get a zero hkVector4f
2022-01-16 13:17:35 +01:00
Léo Lam
2ed36c7dc0
ksys/phys: Add prerequisites for RigidBody (RigidBodyParam fixes)
...
Seems to have fixed _ZN4ksys4phys11InstanceSet14sub_7100FBB00CEPNS0_9RigidBodyEPNS0_14RigidBodyParamE
2022-01-16 13:00:35 +01:00
Léo Lam
544c33e2eb
ksys/phys: Finish RigidBodyMotionProxy
2022-01-16 02:36:36 +01:00
Léo Lam
b7b9da8d92
Havok: Fix missing parenthesis in comment
2022-01-16 02:36:36 +01:00
Léo Lam
91dbd90f85
Havok: Add quaternion multiplication
2022-01-16 02:31:31 +01:00
Léo Lam
afabdf7132
Havok: Fix matching issue in hkVector4f::set
...
Annoyingly, v = {x, y, z, w} and vcombine_f32({x, y}, {z, w} lead to
different codegen. It is unclear why Havok decided to split the load
in two parts.
2022-01-16 02:31:31 +01:00
Léo Lam
9ee731c40c
Havok: Fix hkVector4f::dot after hkSimdFloat32 storage type change
2022-01-16 02:03:05 +01:00
Léo Lam
93f6b2d2ea
Havok: Implement common operations for hkSimdFloat32
2022-01-16 02:03:05 +01:00