Commit Graph

811 Commits

Author SHA1 Message Date
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 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 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 4a1bb88bd5 ksys/phys: Declare factory functions for SphereShape/SphereRigidBody 2022-02-12 10:51:02 +01:00
Léo Lam cc3d3ad03d ksys/phys: Implement PolytopeRigidBody 2022-02-10 20:28:31 +01:00
Léo Lam fce2c2dc10 ksys/phys: Implement parts of PolytopeShape::updateHavokShape 2022-02-10 20:14:02 +01:00
Léo Lam 9c1f080884 ksys/phys: Add most of PolytopeShape 2022-02-10 19:32:52 +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 2028797c8a ksys: Fix typos in SafeDelete comments 2022-02-09 03:01:09 +01:00
Léo Lam 5f92a7b959 ksys: Remove unnecessary null checks in SafeDelete
Deleting a null pointer has no effect -- the compiler automatically
inserts a null pointer check.
2022-02-09 02:59:55 +01:00
Léo Lam 808b21530a ksys: Document safeDelete and safeDeleteArray 2022-02-09 02:59:34 +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 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 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