From e4863fcc1d18d62bcca10eba3960e68196108880 Mon Sep 17 00:00:00 2001 From: EmoGarbage404 Date: Sat, 29 Jun 2024 01:11:29 -0400 Subject: [PATCH] make sloth proud --- .../Physics/Systems/SharedPhysicsSystem.Island.cs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Island.cs b/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Island.cs index 2a0c5685edc..b835572885f 100644 --- a/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Island.cs +++ b/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Island.cs @@ -196,13 +196,7 @@ internal record struct IslandData( private const int VelocityConstraintsPerThread = 16; private const int PositionConstraintsPerThread = 16; - [ByRefEvent] - public struct GetLinearDampingOverrideEvent(Entity Entity) - { - public float? LinearDampingOverride; - } - - public delegate void LinearDampingOverrideHandler(ref GetLinearDampingOverrideEvent ev); + public delegate void LinearDampingOverrideHandler(ref Entity entity, ref float? linearDampingOverride); /// /// Invoked to allow content to override linear damping for objects. @@ -759,9 +753,10 @@ private void SolveIsland( angularVelocity += body.InvI * body.Torque * data.FrameTime; - var ev = new GetLinearDampingOverrideEvent((body.Owner, body, xform)); - OnGetLinearDampingOverride?.Invoke(ref ev); - var linearDamping = ev.LinearDampingOverride ?? body.LinearDamping; + float? linearDampingOverride = null; + var entity = new Entity(body.Owner, body, xform); + OnGetLinearDampingOverride?.Invoke(ref entity, ref linearDampingOverride); + var linearDamping = linearDampingOverride ?? body.LinearDamping; linearVelocity *= Math.Clamp(1.0f - data.FrameTime * linearDamping, 0.0f, 1.0f); angularVelocity *= Math.Clamp(1.0f - data.FrameTime * body.AngularDamping, 0.0f, 1.0f);