From ca90b3ae3b7d0be77f2f60ef62dbe38e8c80e837 Mon Sep 17 00:00:00 2001 From: Dander7BD Date: Fri, 20 Dec 2013 11:44:27 +0100 Subject: [PATCH] OnPossibleCollision updated --- Code/GamePhysics/Implementation/PhysicsAPI_Impl.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Code/GamePhysics/Implementation/PhysicsAPI_Impl.cpp b/Code/GamePhysics/Implementation/PhysicsAPI_Impl.cpp index 85f484a8..f917407b 100644 --- a/Code/GamePhysics/Implementation/PhysicsAPI_Impl.cpp +++ b/Code/GamePhysics/Implementation/PhysicsAPI_Impl.cpp @@ -65,6 +65,14 @@ namespace //sumJ += ( 1 / deuterState.GetMass() )*frictionImpulse; // FRICTION END + Float4 forwardedDeltaPos, forwardedDeltaAxis; + { // @todo TODO: is this right? + Float4 bounceAngularImpulse = ::Oyster::Math::Float4( (worldPointOfContact - protoState.GetCenterPosition()).xyz.Cross(bounce.xyz), 0.0f ), + bounceLinearImpulse = bounce - bounceAngularImpulse; + proto->Predict( forwardedDeltaPos, forwardedDeltaAxis, bounceLinearImpulse, bounceAngularImpulse, API_instance.GetFrameTimeLength() ); + } + + protoState.ApplyForwarding( forwardedDeltaPos, forwardedDeltaAxis ); protoState.ApplyImpulse( bounce, worldPointOfContact, normal ); proto->SetState( protoState ); }