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
Léo Lam
a40ef6c860
Havok: Simplify hkSimdFloat32 by always using a vector type
2022-01-16 02:03:05 +01:00
Léo Lam
5c55811abd
Havok: Use a typedef for hkSimdFloat32 storage type
2022-01-16 02:03:05 +01:00
Léo Lam
50a51e6e06
tools: Update common
2022-01-16 01:11:50 +01:00
Léo Lam
a5b87ccf97
ksys/phys: Fix #include type for Havok header
2022-01-15 19:59:06 +01:00
Léo Lam
cee7b169af
ksys/phys: Finish RigidBodyMotion
2022-01-15 19:57:59 +01:00
Léo Lam
19888cc607
Havok: Add hkpSphereMotion
2022-01-15 18:37:36 +01:00
Léo Lam
843f2bcd88
Havok: Add hkpBoxMotion
2022-01-15 18:37:36 +01:00
Léo Lam
c6f0a3cb4c
ksys/phys: Rename flags for clarity in RigidBody
2022-01-15 18:37:35 +01:00
Léo Lam
7fbd3a0e8d
ksys/phys: Remove useless semicolon
2022-01-15 18:15:03 +01:00
Léo Lam
b298ec2b28
ksys/phys: Add remaining RigidBodyMotionProxy functions (except one)
2022-01-15 18:13:27 +01:00
Léo Lam
ddb704bc22
Havok: Add hkMathHeaderConstants
2022-01-14 23:53:07 +01:00
Léo Lam
c771cd4cb0
Havok: Add quaternion component access functions
2022-01-14 23:53:07 +01:00
Léo Lam
e5dc569cd6
Havok: Fix typos in hkVector4f::_setRotatedDir
2022-01-14 15:03:13 +01:00
Léo Lam
ea9cc90f29
ksys/phys: Fix indirect <cstring> include in RigidBodyMotion
2022-01-14 13:14:24 +01:00
Léo Lam
988c00c545
Sync function list with IDB
2022-01-14 13:10:12 +01:00
Léo Lam
97938cc48e
ksys/phys: Start adding RigidBodyMotion
2022-01-14 13:04:25 +01:00
Léo Lam
fa2c98ddd5
Havok: Fix hkpMotion::getMassInv() return type
2022-01-14 02:27:18 +01:00
Léo Lam
56e8fea33c
lib: Update sead
2022-01-14 02:27:17 +01:00
Léo Lam
65ab9695e9
Havok: Fix hkSimdFloat32 for Neon
2022-01-14 01:07:45 +01:00
Léo Lam
d696cfa65d
Havok: Silence hkHalf copy constructor warning
2022-01-13 22:42:08 +01:00
Léo Lam
359fb2685b
ksys/phys: Rename getMotionInfo to getMotionType for clarity
2022-01-13 19:10:11 +01:00
Léo Lam
5001b38218
Havok: Fix matching issue in copy assignment operator for hkVector4f
2022-01-13 19:06:17 +01:00
Léo Lam
1511ec620d
Havok: Fix various hkpMotion setters
2022-01-13 18:59:57 +01:00
Léo Lam
2acf2ba0a4
Havok: Add hkVector4f::allEqual
2022-01-13 18:45:40 +01:00
Léo Lam
11b7f1aab1
Sync function list with IDB
2022-01-13 18:03:29 +01:00
Léo Lam
2093ef16dc
Havok: Fix includes in hkSweptTransformf.h
2022-01-13 18:01:23 +01:00
Léo Lam
5831b9581d
ksys/phys: Make MotionAccessor's getMotion less ambiguous
...
RigidBodyMotion has its own hkpMotion so we should make it clearer that
getMotion returns the rigid body's own internal motion.
2022-01-13 18:01:23 +01:00
Léo Lam
2b83356056
ksys/phys: Start adding RigidBodyMotionProxy
2022-01-13 16:32:27 +01:00