Léo Lam
ced69f3e7d
ksys/phys: Implement CylinderWaterShape
2022-02-03 18:33:22 +01:00
Léo Lam
872d02a037
ksys/phys: Add CylinderRigidBody
2022-02-03 13:38:28 +01:00
Léo Lam
7875b0ad55
ksys/phys: Group shapes into folders to declutter RigidBody/Shape
2022-02-03 13:02:43 +01:00
Léo Lam
7c25fd08eb
ksys/phys: Implement CylinderShape
2022-02-03 12:44:04 +01:00
Léo Lam
a2fa63495c
ksys/phys: Fix a regalloc diff in CapsuleShape::setScale
2022-02-03 12:44:04 +01:00
Léo Lam
52efb18af7
ksys/phys: Finish CapsuleShape and add CapsuleRigidBody
2022-02-02 23:20:47 +01:00
Léo Lam
5d3fd32988
ksys/phys: Add BoxWaterRigidBody::make
2022-02-02 16:18:04 +01:00
Léo Lam
55164640d5
ksys/phys: Add BoxWaterRigidBody
2022-02-02 15:36:30 +01:00
Léo Lam
2af9e079d0
ksys/phys: Add BoxWaterShape
2022-02-02 11:17:02 +01:00
Léo Lam
d277eac80e
ksys/phys: Move BoxShapeParam::createShape to BoxShape::make
...
The same BoxShapeParam class is used for two different shape classes
(BoxShape and BoxWaterShape) so it's more natural to move the factory
function to the shape class itself
2022-02-01 17:08:03 +01:00
Léo Lam
6b302518fb
ksys/phys: Finish BoxRigidBody
2022-02-01 16:21:51 +01:00
Léo Lam
a8915c9b05
ksys/phys: Finish BoxShapeParam
2022-01-31 19:54:06 +01:00
Léo Lam
26bd1402f2
ksys/phys: Mark BoxShapeParam::createShape as const
2022-01-31 19:48:27 +01:00
Léo Lam
e596296799
ksys/phys: Use util::allocStorage in CapsuleShape to simplify allocation
...
Removes the need to write sizeof(T) and alignof(T).
2022-01-31 12:43:50 +01:00
Léo Lam
5c6f24368d
ksys/phys: Implement BoxShape
2022-01-31 11:10:47 +01:00
Léo Lam
ff2e2f9ff7
ksys/phys: Start adding BoxRigidBody
2022-01-30 19:28:36 +01:00
Léo Lam
716916d863
ksys/phys: Rename WaterCylinder to CylinderWater for consistency
...
"Water" is used as a suffix (e.g. a box of water is called "BoxWater",
not "WaterBox").
This naming convention has the benefit of keeping related shape types
next to each other in the source file list.
2022-01-30 18:24:10 +01:00
Léo Lam
a6428425a5
ksys/phys: Implement most of RigidBodyFromShape
2022-01-30 18:13:06 +01:00
Léo Lam
30533da83d
ksys/phys: Merge physShapeParam param classes with RigidBody/Shape
2022-01-30 17:40:17 +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
6263107301
ksys/phys: Start adding RigidBodyFromShape
2022-01-30 16:45:16 +01:00
Léo Lam
891b95efff
ksys/phys: Fix a bool flag being defined as u32 in RigidBodyFactory
2022-01-30 11:40:11 +01:00
Léo Lam
682897091a
ksys/phys: Rename some variables that were missed in 60e2b166
2022-01-30 02:21:42 +01:00
Léo Lam
60e2b1664f
ksys/phys: Rename Shape/Body classes to avoid confusion
...
What we currently call BoxBody, CapsuleBody, etc. is actually
BoxShape, CapsuleShape, etc. (those classes encapsulate Havok shapes)
So this commit renames Body -> Shape and Shape -> ShapeParam.
2022-01-30 02:20:12 +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
Brian Savage
3bb33875b3
More PlacementMap functions
2022-01-29 17:37:42 -05:00
Brian Savage
7a3c0b261a
Add initial PlacementMap functions
2022-01-29 07:51:03 -05:00
Léo Lam
532e83a2fa
ksys/phys: Declare all remaining RigidBody functions
2022-01-29 13:01:57 +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
10d3f129b0
ksys/phys: Add RigidBody velocity calc and warping functions
2022-01-29 01:30:34 +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
notyourav
3f793b24d9
Merge pull request #75 from savage13/PlacementMap
...
Add PlacementMap, stubs: PlacementMapMgr and PlacementMapMgrMapArray
2022-01-23 00:33:57 -08:00
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
Brian Savage
d11a43df25
Added missing include for sead::Buffer
2022-01-20 11:57:06 -05:00
Brian Savage
c028190362
Use sead::Buffer<PlacementMap>
2022-01-20 10:17:58 -05:00
Brian Savage
1182f2fd75
Further fixes to variables types
2022-01-20 09:37:30 -05:00
Brian Savage
7d97bb6f40
Moved functions to correct places/files, formatting
2022-01-19 19:21:05 -05: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
Brian Savage
d61a13e4bd
Add PlacementMap, stubs: PlacementMapMgr and PlacementMapMgrMapArray
2022-01-18 18:52:13 -05: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