theo3
3d1cb480c2
auto placement work
2022-03-16 17:54:50 -07:00
alex-botw
59c85ae8c2
ksys::eco::LevelSensor::calculatePoints ( #90 )
2022-03-16 09:59:31 +01:00
theo3
20f0a07ab0
AddAutoPlacementCreator action
2022-03-15 22:59:38 -07:00
theo3
4758d41d69
map debug stubs
2022-03-15 22:59:12 -07:00
Léo Lam
0c3df3ed97
ksys/phys: Add ShapeCast
2022-03-15 01:20:41 +01:00
Léo Lam
2a9e3318b5
ksys/phys: Finish ContactMgr
2022-03-14 01:10:28 +01:00
Léo Lam
a9d5f88968
ksys/phys: Add ContactLayerCollisionInfoGroup
2022-03-13 23:57:28 +01:00
Léo Lam
af2e33153a
Fix matching issue in ContactMgr::processImpulseEntries
2022-03-13 02:33:56 +01:00
Léo Lam
e27c55361d
ksys/phys: Add impulse related ContactMgr functions
2022-03-13 02:28:34 +01:00
Léo Lam
ad6c11f468
ksys/phys: Add SensorContactListener
2022-03-10 21:46:45 +01:00
Léo Lam
0e717ed15d
ksys/phys: Finish EntityContactListener
2022-03-10 12:58:34 +01:00
Léo Lam
8cbdcbf6ea
ksys/phys: Remove unnecessary include in physConversions
2022-03-08 23:10:12 +01:00
Léo Lam
9b1d08ca99
ksys/phys: Deduplicate hkpEntity -> RigidBody getters
2022-03-08 20:33:19 +01:00
Léo Lam
a9ee6f839e
ksys/phys: Start adding EntityContactListener
2022-03-08 20:30:12 +01:00
Léo Lam
c11a33c5ab
ksys/phys: Implement ContactMgr::registerContactPoint for queries
2022-03-08 12:59:44 +01:00
Léo Lam
6830bcbb64
ksys/phys: Add SphereBasedClosestPointQuery
2022-03-08 00:11:52 +01:00
Léo Lam
62959cc554
ksys/phys: Start adding ClosestPointQuery and iterator stuff
2022-03-07 12:44:38 +01:00
Léo Lam
6229e5d41a
ksys/phys: Move Constraint stuff to a separate folder
2022-03-06 22:38:43 +01:00
Léo Lam
a1f9eea300
ksys/phys: Add QueryContactPointInfo
2022-03-06 21:35:36 +01:00
Léo Lam
8a6b47d132
ksys/phys: Add more ContactMgr functions
2022-03-06 16:10:13 +01:00
Léo Lam
683108b75c
ksys/phys: Add CollisionInfoBase::enableLayer/disableLayer
...
The pattern seems to show up very often in CollisionInfoBase users
2022-03-06 12:41:41 +01:00
Léo Lam
5dde8ced89
ksys/phys: Add ContactPointInfo iterator
...
It's mostly the same thing as LayerContactPointInfo::Iterator.
With some functions inexplicably marked as virtual.
2022-03-06 01:37:57 +01:00
Léo Lam
631a0ab388
ksys/phys: Finish LayerContactPointInfo
...
Clean up the iterator stuff and fix some inaccuracies.
2022-03-06 00:30:05 +01:00
Léo Lam
ba2d81b7b8
ksys/phys: Implement ContactMgr functions used by ContactListener
2022-03-05 19:34:01 +01:00
Léo Lam
88a0a9eb69
Use sead::OffsetList::robustRange() when possible to simplify iteration
2022-03-05 19:13:06 +01:00
Léo Lam
d839816081
ksys/phys: Finish ContactListener
2022-03-05 17:16:32 +01:00
Léo Lam
1518cc4960
lib: Update sead
2022-03-04 21:48:06 +01:00
Léo Lam
f802ee16c9
ksys: Add CoreInfo to avoid hardcoding number of cores everywhere
2022-03-04 15:29:32 +01:00
Léo Lam
eca99d22f2
ksys: Move CollisionMasks out of RigidBody so it can be forward declared
2022-03-03 15:59:49 +01:00
Léo Lam
a222e40180
ksys/phys: Add more ContactListener functions and Havok prereqs
2022-03-03 12:29:28 +01:00
Léo Lam
26f4aea77c
ksys/phys: Fix accuracy issue for storeToVec3
...
Allows us to get rid of a bunch of local variables that only existed
to force the entire vector to be loaded.
2022-03-03 11:52:35 +01:00
Léo Lam
b2a66ca858
ksys/phys: ContactPointInfoEx -> ContactLayerContactPointInfo
...
Turns out it's the equivalent to ContactLayerCollisionInfo.
2022-03-02 01:25:11 +01:00
Léo Lam
220cb53468
ksys/phys: Add ContactLayerCollisionInfo
2022-03-01 20:10:56 +01:00
Léo Lam
35cc8dd9ee
ksys/phys: Add RigidBody::setCollisionInfo
2022-03-01 19:50:47 +01:00
Léo Lam
6077a63ea6
ksys/phys: Unify ContactPointInfo/CollisionInfo with InstanceSet
2022-03-01 19:31:44 +01:00
Léo Lam
11dafc6ac3
ksys/phys: Add CollisionInfo
2022-03-01 19:28:11 +01:00
Léo Lam
1ee012858c
ksys: Rename RigidContactPoints to match param files
2022-03-01 19:12:29 +01:00
Léo Lam
18d0c53293
ksys/phys: Add some ContactListener prerequisites
2022-03-01 19:11:54 +01:00
Léo Lam
7f52270cdd
ksys/phys: SensorCollisionMask layer2 -> ignored_layer
2022-03-01 13:24:18 +01:00
Léo Lam
f852073fd4
ksys/phys: Finish SensorGroupFilter
2022-03-01 13:15:51 +01:00
Léo Lam
7fab958e72
ksys/phys: Rename collision filter info structs for more clarity
...
And consistency.
2022-02-28 22:09:53 +01:00
Léo Lam
c18d9dc4b5
ksys: Add constants NumRegular{Entity,Sensor}Layers to reduce magic numbers
2022-02-28 21:31:30 +01:00
Léo Lam
e219eccf0d
ksys/phys: Start implementing SensorGroupFilter
2022-02-28 20:58:04 +01:00
Léo Lam
c32557b793
ksys/phys: Add more EntityGroupFilter functions
2022-02-28 17:29:49 +01:00
Léo Lam
b3b97a93aa
UI/PauseMenuDataMgr: Use getItems() instead of mItemLists.list1
2022-02-27 23:34:55 +01:00
Léo Lam
63bf3d2fa4
Match PauseMenuDataMgr::removeGrabbedItem
2022-02-27 23:32:51 +01:00
Léo Lam
a1fd80bd1c
Rename PauseMenuDataMgr addGrabbedItem to removeGrabbedItem
...
The previous name was completely wrong, whoops.
2022-02-27 22:50:55 +01:00
Léo Lam
df36d65665
Revert "Add #ifdef declarations for NON_MATCHING code"
...
This reverts commit 42807160cf
.
It makes searching for NON_MATCHING comment descriptions much less
convenient in most text editors or IDEs, and we want the function
CSV to be the single source of truth for function statuses. Having
a function marked as matching but not built because of a stray #ifdef
would be bad.
2022-02-27 12:50:52 +01:00
savage13
a564186002
Add PauseMenuDataMgr::grabbedItemStuff() ( #88 )
2022-02-26 22:42:09 +01:00
savage13
17750b5225
Add PauseMenuDataMgr::x_28 ( #87 )
2022-02-26 16:29:50 +01:00
savage13
9d35c385f9
Match two small functions in PauseMenuDataMgr ( #86 )
2022-02-26 15:01:44 +01:00
savage13
c804527d7a
PlacementMap: Add x_0, x_4(); change u16 mStaticCompoundId to s16 mStaticCompundActorId ( #85 )
2022-02-20 23:50:28 +01:00
savage13
4e21ee7613
getDragonItemDropPosition ( #84 )
...
getDragonItemDropPosition - NON_MATCHING fadd arguments mismatch
2022-02-19 13:32:13 +01:00
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
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
Léo Lam
c343c3d9e3
ksys/phys: Mark RigidBody::m9 as pure virtual
2022-01-18 20:24:10 +01:00
Léo Lam
98aeceed40
ksys/phys: Add more RigidBody functions
...
And fix a bunch of hkVector4f / hkSimdFloat32 interop matching issues.
2022-01-18 19:04:27 +01:00
Léo Lam
87bca00e68
ksys/phys: Add more RigidBody functions and Havok utils
2022-01-17 22:29:21 +01:00
Léo Lam
adad4553d6
ksys/phys: Add more RigidBody functions
2022-01-17 19:27:49 +01:00
Léo Lam
ddef936b26
ksys/phys: Add RigidBody::isEntity to make certain checks clearer
...
The pattern we want to use is:
```
if (isEntity())
do entity stuff (e.g. get entity motion accessor)
```
or
```
if (!isEntity())
return;
do entity stuff
```
That's clearer than
```
if (isSensor())
return;
do entity stuff
```
because the fact that !isSensor() is equivalent to isEntity() is not
always immediately clear.
2022-01-17 17:22:27 +01:00
Léo Lam
a2cba75b19
ksys/phys: Rename MotionAccessor classes to reflect entity/sensor split
2022-01-17 17:16:43 +01:00
Léo Lam
8dd5608b79
ksys/phys: Rename RigidBody "isMassScaling" mode to "isSensor"
...
That also explains the comparison against 1 (ContactLayerType::Sensor)
in the constructor.
2022-01-17 17:02:11 +01:00
Léo Lam
392c0973c7
ksys/phys: Add a bunch of easy RigidBody functions
2022-01-17 16:58:22 +01:00
Léo Lam
05abdf7e77
ksys/phys: Add easy RigidBodyRequestMgr functions
2022-01-17 01:52:21 +01:00
Léo Lam
4eb07ca88c
ksys/phys: Start adding RigidBodyRequestMgr
2022-01-16 23:29:48 +01:00
Léo Lam
71fda30853
ksys/util: Add LockFreeQueue
2022-01-16 23:21:52 +01:00
Léo Lam
cba2a5b8b0
ksys: Declutter Utils by creating new Utils/Container folder
2022-01-16 22:24:00 +01:00
Léo Lam
99b913f86d
ksys/phys: Move RigidBodyRequestMgr to its own header
2022-01-16 15:55:42 +01:00
Léo Lam
2a8dc8ad25
ksys/phys: Add two RigidBody init functions (and prerequisites)
2022-01-16 15:50:56 +01:00
Léo Lam
2ed36c7dc0
ksys/phys: Add prerequisites for RigidBody (RigidBodyParam fixes)
...
Seems to have fixed _ZN4ksys4phys11InstanceSet14sub_7100FBB00CEPNS0_9RigidBodyEPNS0_14RigidBodyParamE
2022-01-16 13:00:35 +01:00
Léo Lam
544c33e2eb
ksys/phys: Finish RigidBodyMotionProxy
2022-01-16 02:36:36 +01:00
Léo Lam
a5b87ccf97
ksys/phys: Fix #include type for Havok header
2022-01-15 19:59:06 +01:00
Léo Lam
cee7b169af
ksys/phys: Finish RigidBodyMotion
2022-01-15 19:57:59 +01:00
Léo Lam
c6f0a3cb4c
ksys/phys: Rename flags for clarity in RigidBody
2022-01-15 18:37:35 +01:00
Léo Lam
7fbd3a0e8d
ksys/phys: Remove useless semicolon
2022-01-15 18:15:03 +01:00
Léo Lam
b298ec2b28
ksys/phys: Add remaining RigidBodyMotionProxy functions (except one)
2022-01-15 18:13:27 +01:00
Léo Lam
ea9cc90f29
ksys/phys: Fix indirect <cstring> include in RigidBodyMotion
2022-01-14 13:14:24 +01:00