Commit Graph

807 Commits

Author SHA1 Message Date
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
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