ksys/phys: Change getRigidBody to take a const-ref for consistency

This commit is contained in:
Léo Lam 2022-03-20 13:15:46 +01:00
parent 5a31fe8a9d
commit cc270ee3ff
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 16 additions and 16 deletions

View File

@ -56,24 +56,24 @@ void ContactListener::clearTable() {
} }
void ContactListener::collisionAddedCallback(const hkpCollisionEvent& event) { void ContactListener::collisionAddedCallback(const hkpCollisionEvent& event) {
auto* bodyA = getRigidBody(event.getBody(0)); auto* bodyA = getRigidBody(*event.getBody(0));
auto* bodyB = getRigidBody(event.getBody(1)); auto* bodyB = getRigidBody(*event.getBody(1));
handleCollisionAdded(event, bodyA, bodyB); handleCollisionAdded(event, bodyA, bodyB);
bodyA->onCollisionAdded(); bodyA->onCollisionAdded();
bodyB->onCollisionAdded(); bodyB->onCollisionAdded();
} }
void ContactListener::collisionRemovedCallback(const hkpCollisionEvent& event) { void ContactListener::collisionRemovedCallback(const hkpCollisionEvent& event) {
auto* bodyA = getRigidBody(event.getBody(0)); auto* bodyA = getRigidBody(*event.getBody(0));
auto* bodyB = getRigidBody(event.getBody(1)); auto* bodyB = getRigidBody(*event.getBody(1));
handleCollisionRemoved(event, bodyA, bodyB); handleCollisionRemoved(event, bodyA, bodyB);
bodyA->onCollisionRemoved(); bodyA->onCollisionRemoved();
bodyB->onCollisionRemoved(); bodyB->onCollisionRemoved();
} }
void ContactListener::contactPointCallback(const hkpContactPointEvent& event) { void ContactListener::contactPointCallback(const hkpContactPointEvent& event) {
RigidBody* body_a = getRigidBody(event.getBody(0)); RigidBody* body_a = getRigidBody(*event.getBody(0));
RigidBody* body_b = getRigidBody(event.getBody(1)); RigidBody* body_b = getRigidBody(*event.getBody(1));
if (event.m_contactPoint->getPosition().getInt24W() == hkpCharacterRigidBody::m_magicNumber) { if (event.m_contactPoint->getPosition().getInt24W() == hkpCharacterRigidBody::m_magicNumber) {
const auto layer_a = body_a->getContactLayer(); const auto layer_a = body_a->getContactLayer();

View File

@ -54,7 +54,7 @@ static bool hasEntityWithMotionFlag80(const hkpCollisionEvent& event) {
if (!entity) if (!entity)
continue; continue;
bool on = getRigidBody(entity)->isEntityMotionFlag80On(); bool on = getRigidBody(*entity)->isEntityMotionFlag80On();
has_flag_80 |= on; has_flag_80 |= on;
if (on) if (on)
break; break;
@ -74,8 +74,8 @@ EntityContactListener::EntityContactListener(ContactMgr* mgr, sead::Heap* heap)
EntityContactListener::~EntityContactListener() = default; EntityContactListener::~EntityContactListener() = default;
void EntityContactListener::collisionAddedCallback(const hkpCollisionEvent& event) { void EntityContactListener::collisionAddedCallback(const hkpCollisionEvent& event) {
auto* body_a = getRigidBody(event.getBody(0)); auto* body_a = getRigidBody(*event.getBody(0));
auto* body_b = getRigidBody(event.getBody(1)); auto* body_b = getRigidBody(*event.getBody(1));
handleCollisionAdded(event, body_a, body_b); handleCollisionAdded(event, body_a, body_b);
@ -106,8 +106,8 @@ void EntityContactListener::collisionAddedCallback(const hkpCollisionEvent& even
} }
void EntityContactListener::collisionRemovedCallback(const hkpCollisionEvent& event) { void EntityContactListener::collisionRemovedCallback(const hkpCollisionEvent& event) {
auto* body_a = getRigidBody(event.getBody(0)); auto* body_a = getRigidBody(*event.getBody(0));
auto* body_b = getRigidBody(event.getBody(1)); auto* body_b = getRigidBody(*event.getBody(1));
handleCollisionRemoved(event, body_a, body_b); handleCollisionRemoved(event, body_a, body_b);
removeViscousSurfaceModifierAndCollision(event, body_a, body_b); removeViscousSurfaceModifierAndCollision(event, body_a, body_b);

View File

@ -156,7 +156,7 @@ bool ShapeCast::registerContactPoint(const hkpRootCdPoint& point, RigidBody* bod
if (!mContactPointInfo->testContactPointDistance(point.getContact().getDistance())) if (!mContactPointInfo->testContactPointDistance(point.getContact().getDistance()))
return false; return false;
auto* hit_body = getRigidBody(hit_entity); auto* hit_body = getRigidBody(*hit_entity);
if (System::instance()->getEntityContactListenerField91() && hit_body->isEntity() && if (System::instance()->getEntityContactListenerField91() && hit_body->isEntity() &&
EntityContactListener::isObjectOrGroundOrNPCOrTree(*hit_body)) { EntityContactListener::isObjectOrGroundOrNPCOrTree(*hit_body)) {
@ -216,7 +216,7 @@ void FilteredClosestCdPointCollector::addCdPoint(const hkpCdPoint& point) {
if (!hit_entity) if (!hit_entity)
return; return;
auto* hit_body = getRigidBody(hit_entity); auto* hit_body = getRigidBody(*hit_entity);
if (System::instance()->getEntityContactListenerField91() && hit_body->isEntity() && if (System::instance()->getEntityContactListenerField91() && hit_body->isEntity() &&
EntityContactListener::isObjectOrGroundOrNPCOrTree(*hit_body)) { EntityContactListener::isObjectOrGroundOrNPCOrTree(*hit_body)) {

View File

@ -108,9 +108,9 @@ inline const hkpEntity* getHkpEntity(const hkpCollidable& collidable) {
return static_cast<const hkpEntity*>(collidable.getOwner()); return static_cast<const hkpEntity*>(collidable.getOwner());
} }
inline RigidBody* getRigidBody(const hkpEntity* entity) { inline RigidBody* getRigidBody(const hkpEntity& entity) {
// This needs to be kept in sync with the RigidBody constructor! // This needs to be kept in sync with the RigidBody constructor!
return reinterpret_cast<RigidBody*>(entity->getUserData()); return reinterpret_cast<RigidBody*>(entity.getUserData());
} }
inline RigidBody* getRigidBody(const hkpCollidable& collidable) { inline RigidBody* getRigidBody(const hkpCollidable& collidable) {
@ -118,7 +118,7 @@ inline RigidBody* getRigidBody(const hkpCollidable& collidable) {
if (!entity) if (!entity)
return nullptr; return nullptr;
return getRigidBody(entity); return getRigidBody(*entity);
} }
} // namespace ksys::phys } // namespace ksys::phys