Commit Graph

740 Commits

Author SHA1 Message Date
Léo Lam a291d84b2b Havok: Move hkpConstraintInstance to the correct folder 2022-01-20 01:11:54 +01:00
Léo Lam 178108d42c ksys/phys: Update some RigidBody flag names for clarity 2022-01-19 15:23:01 +01: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 87bca00e68 ksys/phys: Add more RigidBody functions and Havok utils 2022-01-17 22:29:21 +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 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