Commit Graph

696 Commits

Author SHA1 Message Date
Léo Lam 3512b78627
ksys/phys: Finish RigidBodyParam (add createEntityShapeBody) 2022-02-13 18:59:03 +01:00
Léo Lam db72086c68
ksys/phys: Finish RigidBodyFromShape (add factory functions) 2022-02-13 18:44:48 +01:00
Léo Lam 6727376291
ksys/phys: Merge RigidBodyFactory into RigidBodyFromShape
RigidBodyFactory is right between RigidBodyFromResource and
RigidBodyFromShape functions, and some Factory functions are known
to be in the same TU as RigidBodyFromShape functions.

Some factory functions also use FromShape non-static member functions.
2022-02-13 12:47:12 +01:00
Léo Lam 56826a9bd0
ksys/phys: Implement RigidBodyParam::createRigidBody
Also includes a bunch of fixes to the shape and param classes.
2022-02-13 02:23:47 +01:00
Léo Lam fc8d4b5c68
Fix matching issue in ksys::phys::motionTypeFromText 2022-02-13 01:16:52 +01:00
Léo Lam 0c3ee0dd84
ksys/phys: Finish RigidBodyFromShape 2022-02-12 18:41:27 +01:00
Léo Lam 3ebf3eda62
data: Add some phys:: RTTI functions 2022-02-12 17:27:11 +01:00
Léo Lam 2dc8daf02f
ksys/phys: Implement ListShapeRigidBody 2022-02-12 17:04:00 +01:00
Léo Lam bc66305e3d
ksys/phys: Add ListShape 2022-02-12 16:43:48 +01:00
Léo Lam cc3d3ad03d
ksys/phys: Implement PolytopeRigidBody 2022-02-10 20:28:31 +01:00
Léo Lam 9c1f080884
ksys/phys: Add most of PolytopeShape 2022-02-10 19:32:52 +01:00
Léo Lam a8ba0f7bfe
data: Fix two functions being marked as WIP instead of non-matching 2022-02-10 02:03:42 +01:00
Maide dbf6cd5117
LowPrioThreadMgr (#82) 2022-02-09 21:46:46 +01:00
Léo Lam 97f3d2943b
Game: Finish HardModeManager 2022-02-09 19:36:26 +01:00
Léo Lam ce1b6900ab
ksys/act: Fix matching issues in BaseProcJobQue 2022-02-08 22:52:51 +01:00
Léo Lam d893fd5ead
Remove unnecessary usages of sead::StorageFor
Turns out they are just value-initialised aggregates.
2022-02-08 22:11:09 +01:00
Léo Lam e9fc23b9e1
data: Fix getCollisionMasks mangled names 2022-02-07 18:26:39 +01:00
Léo Lam 635be7c1e4
ksys/phys: Add RigidBodyFromResource 2022-02-07 17:47:33 +01:00
ThePixelGamer 199c7d2552 ksys/map: Implement PlacementAreaMgr 2022-02-06 13:16:17 -06:00
Léo Lam 154852b763
ksys/phys: Implement CylinderWaterRigidBody 2022-02-04 13:12:08 +01:00
Léo Lam e58c1a4a44
ksys/phys: Start implementing HavokCylinderWaterShape 2022-02-03 22:51:50 +01:00
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 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 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 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 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 d9eeeb6ecc
ksys/phys: Add RigidBodySet 2022-01-30 00:17:02 +01:00
Léo Lam 70d6ec2ae7
Sync function list with IDB 2022-01-30 00:04:36 +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 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 fa7df32d5a
Merge pull request #76 from iTNTPiston/master
Add SystemTimers and BaseProcMgr to data_symbols
2022-01-26 10:17:05 +01:00
iTNTPiston da63d713b2 update data_symbols 2022-01-25 12:47:35 -08: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