Commit Graph

67 Commits

Author SHA1 Message Date
Léo Lam 11dafc6ac3 ksys/phys: Add CollisionInfo 2022-03-01 19:28:11 +01:00
Léo Lam 1ee012858c ksys: Rename RigidContactPoints to match param files 2022-03-01 19:12:29 +01:00
Léo Lam 18d0c53293 ksys/phys: Add some ContactListener prerequisites 2022-03-01 19:11:54 +01:00
Léo Lam 7f52270cdd ksys/phys: SensorCollisionMask layer2 -> ignored_layer 2022-03-01 13:24:18 +01:00
Léo Lam f852073fd4 ksys/phys: Finish SensorGroupFilter 2022-03-01 13:15:51 +01:00
Léo Lam 7fab958e72 ksys/phys: Rename collision filter info structs for more clarity
And consistency.
2022-02-28 22:09:53 +01:00
Léo Lam e219eccf0d ksys/phys: Start implementing SensorGroupFilter 2022-02-28 20:58:04 +01:00
Léo Lam c32557b793 ksys/phys: Add more EntityGroupFilter functions 2022-02-28 17:29:49 +01:00
Léo Lam a6268d3815 ksys/phys: Add CharacterControllerParam shape creation 2022-02-13 19:43:56 +01:00
Léo Lam dfcfbbe4a4 ksys/phys: Move common headers (Defines, MaterialMask) out of System/ 2022-02-13 19:08:08 +01:00
Léo Lam db72086c68 ksys/phys: Finish RigidBodyFromShape (add factory functions) 2022-02-13 18:44:48 +01:00
Léo Lam fc8d4b5c68 Fix matching issue in ksys::phys::motionTypeFromText 2022-02-13 01:16:52 +01:00
Léo Lam 6519cce927 ksys/phys: Start merging physShapeParam with RigidBody/Shape
Turns out we already have a bunch of ShapeParam classes in
physShapeParam and parts of RigidBody/Shape are just
duplicates -- whoops.

ShapeParam is renamed to ShapeParamObj to avoid any confusion
with the (.*)ShapeParam classes.
2022-01-30 17:07:34 +01:00
Léo Lam a1a283acf7 ksys/phys: Add more InstanceSet members 2022-01-30 00:55:12 +01:00
Léo Lam d9eeeb6ecc ksys/phys: Add RigidBodySet 2022-01-30 00:17:02 +01:00
Léo Lam 61201ca54b ksys/phys: Rename RigidBody/UserTag broadphase border callbacks 2022-01-29 12:48:38 +01:00
Léo Lam e1f3e551cb ksys/phys: Add more RigidBody functions 2022-01-27 01:54:56 +01:00
Léo Lam b728917ef4 ksys/phys: Add RigidBody collision filter info functions
Including a bunch of BitFields additions so we can get the desired
codegen without sacrificing readability or flexibility.
(The alternative would be building masks and masking manually.)

getCollisionFilterInfo was changed to return a u32 instead of
EntityCollisionFilterInfo because a collision filter info mask
can be either an EntityCollisionFilterInfo or a ReceiverMask.

(Also at some point we'll probably want to rename
EntityCollisionFilterInfo because that is also used for sensor
rigid bodies and not just for entities.)
2022-01-25 00:15:29 +01:00
Léo Lam 4531c033a3 ksys/phys: Rename SystemGroupHandler mFilterIndex -> mLayerType
It is actually a ContactLayerType -- there's a comparison against
the contact layer type in RigidBody.
2022-01-24 12:38:05 +01:00
Léo Lam a33ebd2130 ksys/phys: Introduce {First,Last}{Entity,Sensor} constants to improve clarity 2022-01-23 17:00:44 +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 52e2111ff3 ksys/phys: Add even more RigidBody functions 2022-01-19 00:33:49 +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 4eb07ca88c ksys/phys: Start adding RigidBodyRequestMgr 2022-01-16 23:29:48 +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 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 278b088bd1 ksys/phys: Rename RigidBodyParamView to RigidBodyInstanceParam for clarity 2022-01-13 12:14:05 +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 6ef3bb9327 ksys/phys: Add RigidBodyAccessor 2022-01-10 01:38:20 +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 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 eb16cbaf55 ksys/phys: Add MaterialMask 2022-01-03 23:53:40 +01:00
Léo Lam 32531ba067 ksys/phys: Add RigidContactPoints allocation functions 2021-12-29 18:15:50 +01:00
Léo Lam 8ba8563775 ksys/phys: Add RigidContactPointsEx iterator 2021-12-29 17:54:43 +01:00
Léo Lam b513fbbf03 ksys/phys: Start adding RigidContactPoints
Super messy stuff. I have no idea what it's used for
2021-12-29 02:19:32 +01:00
Léo Lam e187c1ecfd ksys/phys: Fix parameter names for ContactMgr
forgot to rename the parameters in SystemData
2021-12-27 13:03:43 +01:00
Léo Lam 536a00138e ksys/phys: Start adding ContactMgr
Also renames ContactInfoTable to ContactMgr because the contact info
table is a separate data structure that's managed by ContactMgr;
the manager itself handles more than just the table data
2021-12-27 13:00:03 +01:00
Léo Lam 90f83901ad ksys/phys: Implement the easier parts of EntityGroupFilter 2021-12-26 13:06:50 +01:00
Léo Lam e9024ed406 ksys/phys: Move orGroundHitTypeMask to the correct TU 2021-12-24 23:05:09 +01:00
Léo Lam a816125247 ksys/phys: Finish SystemData and start implementing GroupFilter 2021-12-24 21:48:41 +01:00
Léo Lam 19f019b0ff ksys: Move physInstanceSet to Physics/System
It's right after EntityGroupFilter and before MaterialTable
2021-12-22 16:35:33 +01:00
Léo Lam 6b3799a354 ksys/phys: Start adding GroupFilter 2021-12-22 15:43:43 +01:00
Léo Lam fb8f0c636e ksys: Change isSensorLayer to getContactLayerType
The == 0 and == 1 comparisons suggest that the function actually
returns a ContactLayerType rather than a boolean
2021-12-15 11:21:56 +01:00