Léo Lam
0e717ed15d
ksys/phys: Finish EntityContactListener
2022-03-10 12:58:34 +01:00
Léo Lam
9b1d08ca99
ksys/phys: Deduplicate hkpEntity -> RigidBody getters
2022-03-08 20:33:19 +01:00
Léo Lam
a9ee6f839e
ksys/phys: Start adding EntityContactListener
2022-03-08 20:30:12 +01:00
Léo Lam
c11a33c5ab
ksys/phys: Implement ContactMgr::registerContactPoint for queries
2022-03-08 12:59:44 +01:00
Léo Lam
6830bcbb64
ksys/phys: Add SphereBasedClosestPointQuery
2022-03-08 00:11:52 +01:00
Léo Lam
62959cc554
ksys/phys: Start adding ClosestPointQuery and iterator stuff
2022-03-07 12:44:38 +01:00
Léo Lam
6229e5d41a
ksys/phys: Move Constraint stuff to a separate folder
2022-03-06 22:38:43 +01:00
Léo Lam
a1f9eea300
ksys/phys: Add QueryContactPointInfo
2022-03-06 21:35:36 +01:00
Léo Lam
8a6b47d132
ksys/phys: Add more ContactMgr functions
2022-03-06 16:10:13 +01:00
Léo Lam
683108b75c
ksys/phys: Add CollisionInfoBase::enableLayer/disableLayer
...
The pattern seems to show up very often in CollisionInfoBase users
2022-03-06 12:41:41 +01:00
Léo Lam
5dde8ced89
ksys/phys: Add ContactPointInfo iterator
...
It's mostly the same thing as LayerContactPointInfo::Iterator.
With some functions inexplicably marked as virtual.
2022-03-06 01:37:57 +01:00
Léo Lam
631a0ab388
ksys/phys: Finish LayerContactPointInfo
...
Clean up the iterator stuff and fix some inaccuracies.
2022-03-06 00:30:05 +01:00
Léo Lam
ba2d81b7b8
ksys/phys: Implement ContactMgr functions used by ContactListener
2022-03-05 19:34:01 +01:00
Léo Lam
d839816081
ksys/phys: Finish ContactListener
2022-03-05 17:16:32 +01:00
Léo Lam
a222e40180
ksys/phys: Add more ContactListener functions and Havok prereqs
2022-03-03 12:29:28 +01:00
Léo Lam
b2a66ca858
ksys/phys: ContactPointInfoEx -> ContactLayerContactPointInfo
...
Turns out it's the equivalent to ContactLayerCollisionInfo.
2022-03-02 01:25:11 +01:00
Léo Lam
220cb53468
ksys/phys: Add ContactLayerCollisionInfo
2022-03-01 20:10:56 +01:00
Léo Lam
35cc8dd9ee
ksys/phys: Add RigidBody::setCollisionInfo
2022-03-01 19:50:47 +01:00
Léo Lam
6077a63ea6
ksys/phys: Unify ContactPointInfo/CollisionInfo with InstanceSet
2022-03-01 19:31:44 +01:00
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