Commit Graph

693 Commits

Author SHA1 Message Date
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
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 7d669d6efb
Sync function list with IDB 2022-01-22 22:57:38 +01:00
Léo Lam 719c5f02a7
ksys/phys: Add more RigidBody functions (motion, collision mask) 2022-01-22 20:09:57 +01:00