Commit Graph

964 Commits

Author SHA1 Message Date
Léo Lam 5b40c220e5
Fix extra semicolons and enable -Wextra-semi warning 2022-06-24 14:54:21 +02:00
Léo Lam 03410f3eb3
ksys/util: Add range() and indexIter() for convenience
- range() is similar to Python's range()

- indexIter() can be used to simplify `for (int i = 0, n = c.size(); i < n; ++i)`
  index-based loops
2022-06-22 20:23:08 +02:00
Léo Lam c423a56a63
ksys/phys: Add AlsoLockWorld to improve call site readability 2022-06-22 20:23:08 +02:00
Léo Lam d80ccb8371
ksys/phys: Add SkeletonMapper 2022-06-21 00:29:14 +02:00
ConorBobbleHat 4424bcfb51 Change ksys::ProductReporter::incrementSceneAndRomWorkTime to use lambdas instead of member functions 2022-06-20 21:09:43 +01:00
ConorB e1c1cfe79e
ksys::ProductReporter (#93)
Co-authored-by: ConorBobbleHat <ConorBobbleHat>
2022-06-19 13:52:59 +02:00
Léo Lam 32add253b3
ksys/phys: Finish ModelBoneAccessor 2022-05-01 22:10:06 +02:00
Léo Lam a566e7eacc
ksys: Remove BitSet.h from source file list 2022-04-19 00:35:09 +02:00
Léo Lam 538e86884c
ksys/phys: Finish detail::ModelSkeleton 2022-04-19 00:32:34 +02:00
Léo Lam bcaacf0700
Remove BitSet as sead::LongBitFlag is equivalent 2022-04-19 00:32:23 +02:00
ConorB 6ca1c6fd5a
ksys/phys: Implement `SphereShape` and `SphereRigidBody` (#92) 2022-04-14 00:35:04 +02:00
Léo Lam 15db815f86
lib: Update agl 2022-04-02 13:00:50 +02:00
Léo Lam a5edc2d60b
ksys/phys: Start adding ModelBoneAccessor
Needs gsys::Model stuff before I can continue
2022-04-01 01:37:25 +02:00
Léo Lam b1b97f509d
ksys/phys: Add BoneAccessor 2022-03-29 20:00:44 +02:00
Léo Lam f86b6dde65
ksys/phys: Add HavokMemoryAllocator 2022-03-27 19:38:12 +02:00
Léo Lam 5df0fb2a6d
ksys/phys: Add more InstanceSet member variables 2022-03-26 23:25:06 +01:00
Léo Lam f1398cd0b1
ksys/phys: Merge duplicate definitions of RagdollController 2022-03-26 18:44:58 +01:00
Léo Lam 301ad689ab
ksys/phys: Add RagdollRigidBody stub
Needed for RagdollController.
2022-03-26 18:41:44 +01:00
Léo Lam 7e9d9927e1
ksys/phys: Implement several easy RigidBodyRequestMgr functions 2022-03-26 17:56:02 +01:00
Léo Lam b3c9e97e00
ksys/phys: Add RigidBodyRequestMgr::calc1 2022-03-26 17:42:31 +01:00
Léo Lam 783e6a510f
ksys/phys: Add RagdollControllerMgr
Also contains readability/accuracy fixes to LockFreeQueue.
2022-03-26 17:42:24 +01:00
Léo Lam 9f8530ec90
ksys/phys: Finish StaticCompoundMgr 2022-03-25 23:22:12 +01:00
Léo Lam f3b3653b0f
ksys/map: Fix misleading names for wrappers around StaticCompound::setInstanceEnabled 2022-03-25 22:24:33 +01:00
Léo Lam a63b816ffc
ksys/phys: Fix misleading name for StaticCompound::disableCollision 2022-03-25 22:20:57 +01:00
Léo Lam 82a5319200
ksys/phys: Finish StaticCompound 2022-03-25 22:11:36 +01:00
Léo Lam 4b2c55b82b
Use sead::Buffer::fill where applicable
Equivalent, shorter, more readable, and matching!
2022-03-25 21:34:03 +01:00
Léo Lam 5e6d930816
ksys/phys: Add ScRigidBodyGroup::Unk1 and one missed function 2022-03-25 00:33:03 +01:00
Léo Lam 7136dc0115
ksys/phys: Rename ScRigidBodyGroup functions/members for clarity 2022-03-25 00:18:49 +01:00
Léo Lam 68cf6ed385
ksys/phys: Finish StaticCompoundRigidBodyGroup 2022-03-24 22:24:58 +01:00
Léo Lam 0b636cdd02
ksys/phys: Rename RigidBody flag 8 (IsAddedToWorld)
Forgot to do this in a previous commit.
2022-03-23 10:06:09 +01:00
Léo Lam cfb1f1e074
ksys/phys: Add more StaticCompound functions, part 2 2022-03-23 10:04:43 +01:00
Léo Lam cc6527bb26
ksys/phys: Simplify calls to RigidBody::makeScopedLock
Add another overload which automatically determines whether the rigid
body world should also be locked.
2022-03-23 01:19:00 +01:00
Léo Lam e10e8dcac7
data: Update function list 2022-03-23 00:57:43 +01:00
Léo Lam a86fb2a9ed
ksys/phys: Rename BodyGroup -> StaticCompoundRigidBodyGroup
Makes it obvious that it is related to StaticCompound stuff

Also fixes the relative ordering (BodyGroup is located after Mgr code).
2022-03-23 00:52:23 +01:00
Léo Lam f3308d7bee
ksys/phys: Rename some RigidBody flags (add/remove from world) 2022-03-22 23:14:19 +01:00
Léo Lam c97cf995ef
ksys/phys: Add more StaticCompound stuff, part 1 2022-03-22 19:30:14 +01:00
Léo Lam ffcc7f659e
Remove unneeded include 2022-03-21 03:04:27 +01:00
Léo Lam ec37bc0018
ksys/phys: Add RayCastRequestMgr 2022-03-21 03:00:36 +01:00
Léo Lam 509d557731
ksys/phys: RayCastPlusBody -> RayCastBodyQuery for clarity 2022-03-21 00:31:14 +01:00
Léo Lam eca996b3fa
ksys/phys: Add RayCastPlusBody 2022-03-21 00:22:24 +01:00
Léo Lam 0890d161e5
ksys/phys: Add most remaining parts of RayCast
One last function remaining (0x0000007100fc4844) but it looks obnoxious
so I'll leave it for later.
2022-03-20 22:04:58 +01:00
Léo Lam 7f5b7f67e3
ksys/phys: Add Phantom 2022-03-20 17:04:20 +01:00
Léo Lam a98e5f6557
ksys/phys: Add ScopedWorldLock to simplify world locking/unlocking 2022-03-20 15:11:28 +01:00
Léo Lam cc270ee3ff
ksys/phys: Change getRigidBody to take a const-ref for consistency 2022-03-20 13:21:51 +01:00
Léo Lam 12505b6379
ksys/phys: Implement world/shape casting RayCast functions 2022-03-20 02:32:10 +01:00
Léo Lam 0ff9ead1d2
ksys/phys: Add RayHitCollector 2022-03-19 17:50:45 +01:00
Léo Lam f709a7c612
ksys/phys: Finish QueryContactPointInfo::Iterator 2022-03-18 21:18:15 +01:00
Léo Lam bd1c2b6ed6
ksys/phys: Start adding RayCast 2022-03-18 01:19:59 +01:00
Léo Lam 8d88461c52
Change getContactLayerBaseRelativeValue to return an int to avoid casts 2022-03-17 22:54:21 +01:00
Léo Lam e7e9644a1f
Merge pull request #91 from notyourav/bb
auto placement work
2022-03-17 08:15:49 +01:00
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