Commit Graph

745 Commits

Author SHA1 Message Date
Léo Lam dcd1a856bd
ksys/act: Document some BaseProcMgr iteration functions 2022-01-22 21:06:10 +01:00
Léo Lam 719c5f02a7
ksys/phys: Add more RigidBody functions (motion, collision mask) 2022-01-22 20:09:57 +01:00
Léo Lam c36c03c6fb
ksys/phys: Start adding ContactListener 2022-01-21 15:27:55 +01:00
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 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