skip transmitting server authorative wheel spin

it's not in itself a force-injection, so we can just use the existing calcs (also. fix the exisitng calcs so slippling is properly cleared)
in addition, rigidshaeps shouldn't be trying to resolve collisions with things mounted to them any more than they should self-collide. it's a hard-locked relational association
This commit is contained in:
AzaezelX 2025-08-16 20:38:32 -05:00
parent 2af8bf25d5
commit 5ea10f1cfc
2 changed files with 24 additions and 16 deletions

View file

@ -1253,6 +1253,9 @@ bool RigidShape::updateCollision(F32 dt)
mRigid.getTransform(&mat);
cmat = mConvex.getTransform();
SceneObject* mounted;
for (mounted = getMountList(); mounted; mounted = mounted->getMountLink())
mounted->disableCollision();
mCollisionList.clear();
CollisionState *state = mConvex.findClosestState(cmat, getScale(), mDataBlock->collisionTol);
if (state && state->mDist <= mDataBlock->collisionTol)
@ -1260,9 +1263,12 @@ bool RigidShape::updateCollision(F32 dt)
//resolveDisplacement(ns,state,dt);
mConvex.getCollisionInfo(cmat, getScale(), &mCollisionList, mDataBlock->collisionTol);
}
// Resolve collisions
bool collided = resolveCollision(mRigid,mCollisionList, dt);
for (mounted = getMountList(); mounted; mounted = mounted->getMountLink())
mounted->enableCollision();
return collided;
}