Commit Graph

733 Commits

Author SHA1 Message Date
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 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 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 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 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 ea9cc90f29
ksys/phys: Fix indirect <cstring> include in RigidBodyMotion 2022-01-14 13:14:24 +01:00
Léo Lam 97938cc48e
ksys/phys: Start adding RigidBodyMotion 2022-01-14 13:04:25 +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 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
Léo Lam cd75ca724a
ksys/phys: Rewrite toMtx34 without using intrinsics
Doing the assignments in this specific pattern of assignments is
sufficient to get the desired (bad) codegen when combined with
hkVector4f's operator() (which was added recently).
2022-01-13 12:53:28 +01:00
Léo Lam 278b088bd1
ksys/phys: Rename RigidBodyParamView to RigidBodyInstanceParam for clarity 2022-01-13 12:14:05 +01:00
Léo Lam bcbc8bd2ea
ksys/phys: Fix a nasty typo in toHkQuat 2022-01-13 02:47:07 +01:00
Léo Lam d37e60d7e8
ksys/phys: Rename two MotionAccessor functions for clarity 2022-01-12 22:59:51 +01:00
Léo Lam 88921dbd7a
ksys/phys: Add 3 easy RigidBody functions and fix some types 2022-01-11 22:13:55 +01:00
Léo Lam 51c3397965
ksys/phys: Rename RigidBody::Flag1 to RigidBody::Flag
There's no flag enum named "Flag"
2022-01-11 17:28:25 +01:00
Léo Lam 6ef3bb9327
ksys/phys: Add RigidBodyAccessor 2022-01-10 01:38:20 +01:00
Léo Lam 5a958d10aa
Havok: Add more hkVector4f functions 2022-01-09 11:58:59 +01:00
Léo Lam 17a5192490
ksys/phys: Remove obsolete comment 2022-01-07 19:59:33 +01:00
Léo Lam 16ae321058
Havok: Add hkpResponseModifier 2022-01-07 18:57:06 +01:00
Léo Lam d7a6dbcf8a
ksys/phys: Fix RigidBody ctor matching issues 2022-01-07 17:15:52 +01:00
Léo Lam 15741ce3ae
Havok: Add stubs for hkpRigidBody parent classes 2022-01-07 17:09:00 +01:00
Léo Lam b4bbaf141f
ksys/phys: Add MemSystem::initSystemData 2022-01-07 01:51:13 +01:00
Léo Lam 53c5d03420
ksys/phys: Move RagdollControllerKeyList to Ragdoll folder 2022-01-07 01:33:26 +01:00
Léo Lam 5ffa9564ca
ksys/phys: Add TeraMeshRigidBodyResource 2022-01-07 01:33:26 +01:00
Léo Lam 8a9fb5d10c
ksys/phys: Add RagdollResource 2022-01-07 00:31:20 +01:00
Léo Lam 9a3016d4a9
ksys/phys: Add RigidBodyResource 2022-01-07 00:26:56 +01:00
Léo Lam 293b231fd8
ksys/phys: Add ClothResource stub 2022-01-07 00:25:38 +01:00
Léo Lam 423eb84362
ksys/phys: Implement more StaticCompound functions
The other functions require RE'ing BodyGroup, which in turn requires
RigidBody stuff
2022-01-06 23:51:07 +01:00
Léo Lam 2d1ffdf6d2
ksys/phys: Add StaticCompoundInfo 2022-01-06 12:13:25 +01:00
Léo Lam 2359ce6fb4
ksys/phys: Start adding StaticCompound (very incomplete) 2022-01-05 23:57:04 +01:00
Léo Lam 3f33ba5d59
ksys/phys: Implement ContactMgr contact point pool functions 2022-01-04 19:20:41 +01:00
Léo Lam 8cf2def97c
ksys/phys: Rename RigidContactPointsEx::Point to ContactPoint
It's not just used in RigidContactPointsEx::Point.
2022-01-04 18:39:46 +01:00
Léo Lam 6511ecd711
ksys/phys: Match CapsuleShape::init 2022-01-04 02:19:10 +01:00
Léo Lam 7791352833
ksys/phys: Match CapsuleBody::setRadius 2022-01-04 00:25:37 +01:00
Léo Lam 64cc3c5856
ksys/phys: Match CapsuleBody::getVolume 2022-01-04 00:18:40 +01:00
Léo Lam eb16cbaf55
ksys/phys: Add MaterialMask 2022-01-03 23:53:40 +01:00