mirror of https://github.com/zeldaret/botw.git
ksys/phys: Simplify calls to RigidBody::makeScopedLock
Add another overload which automatically determines whether the rigid body world should also be locked.
This commit is contained in:
parent
e10e8dcac7
commit
cc6527bb26
|
@ -452,7 +452,7 @@ void RigidBody::replaceMotionObject() {
|
|||
}
|
||||
|
||||
void RigidBody::x_10() {
|
||||
auto lock = makeScopedLock(isAddedToWorld());
|
||||
auto lock = makeScopedLock();
|
||||
|
||||
if (isEntity()) {
|
||||
if (mMotionAccessor &&
|
||||
|
@ -544,7 +544,7 @@ void RigidBody::resetFrozenState() {
|
|||
}
|
||||
|
||||
void RigidBody::updateCollidableQualityType(bool high_quality) {
|
||||
auto lock = makeScopedLock(isAddedToWorld());
|
||||
auto lock = makeScopedLock();
|
||||
|
||||
if (isCharacterControllerType()) {
|
||||
setCollidableQualityType(HK_COLLIDABLE_QUALITY_CHARACTER);
|
||||
|
@ -712,7 +712,7 @@ static void resetCollisionFilterInfoForListShapes(const hkpShape* shape) {
|
|||
void RigidBody::setCollisionFilterInfo(u32 info) {
|
||||
const auto current_layer = getContactLayer();
|
||||
|
||||
const auto lock = makeScopedLock(isAddedToWorld());
|
||||
const auto lock = makeScopedLock();
|
||||
|
||||
if (getCollisionFilterInfo() != info) {
|
||||
if (isAddedToWorld()) {
|
||||
|
|
|
@ -513,6 +513,7 @@ public:
|
|||
[[nodiscard]] auto makeScopedLock(bool also_lock_world) {
|
||||
return ScopedLock(this, also_lock_world);
|
||||
}
|
||||
[[nodiscard]] auto makeScopedLock() { return makeScopedLock(isAddedToWorld()); }
|
||||
|
||||
hkpMotion* getMotion() const;
|
||||
|
||||
|
|
|
@ -270,7 +270,7 @@ float RigidBodyMotionSensor::getMaxAngularVelocity() {
|
|||
}
|
||||
|
||||
void RigidBodyMotionSensor::setLinkedRigidBody(RigidBody* body) {
|
||||
auto lock = mBody->makeScopedLock(mBody->isAddedToWorld());
|
||||
auto lock = mBody->makeScopedLock();
|
||||
|
||||
if (mLinkedRigidBody == body)
|
||||
return;
|
||||
|
@ -302,7 +302,7 @@ void RigidBodyMotionSensor::resetLinkedRigidBody() {
|
|||
if (!mLinkedRigidBody)
|
||||
return;
|
||||
|
||||
auto lock = mBody->makeScopedLock(mBody->isAddedToWorld());
|
||||
auto lock = mBody->makeScopedLock();
|
||||
if (mLinkedRigidBody) {
|
||||
mLinkedRigidBody->getEntityMotionAccessorForSensor()->deregisterAccessor(this);
|
||||
mLinkedRigidBody = nullptr;
|
||||
|
@ -319,7 +319,7 @@ bool RigidBodyMotionSensor::isFlag40000Set() const {
|
|||
}
|
||||
|
||||
void RigidBodyMotionSensor::copyMotionFromLinkedRigidBody() {
|
||||
auto lock = mBody->makeScopedLock(mBody->isAddedToWorld());
|
||||
auto lock = mBody->makeScopedLock();
|
||||
|
||||
auto* accessor = mLinkedRigidBody->getEntityMotionAccessorForSensor();
|
||||
auto* linked_hk_body = mLinkedRigidBody->getHkBody();
|
||||
|
|
Loading…
Reference in New Issue