From 63e5e75201fe0025b0dc953f50d1305c5d82fb38 Mon Sep 17 00:00:00 2001 From: Sebastian Broberg Date: Thu, 3 Mar 2016 20:35:07 +0100 Subject: [PATCH 1/2] Fix for null exception upon start. --- Subsurface/Source/Items/Item.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs index 846f53cc2..266315d5b 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Subsurface/Source/Items/Item.cs @@ -642,7 +642,8 @@ namespace Barotrauma body.ResetDynamics(); } body.ApplyForce(buoyancy - body.LinearVelocity * volume); - CurrentHull.HandleItems(deltaTime, this); + if(CurrentHull != null) + CurrentHull.HandleItems(deltaTime, this); //apply simple angular drag body.ApplyTorque(body.AngularVelocity * volume * -0.05f); } From 0b7b52256b0081f5e7fdb70b0233eb160bb9bbfd Mon Sep 17 00:00:00 2001 From: Sebastian Broberg Date: Thu, 3 Mar 2016 20:55:20 +0100 Subject: [PATCH 2/2] Small change to calculations. --- Subsurface/Source/Map/Hull.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Subsurface/Source/Map/Hull.cs b/Subsurface/Source/Map/Hull.cs index 12e7fc672..0fc0148b0 100644 --- a/Subsurface/Source/Map/Hull.cs +++ b/Subsurface/Source/Map/Hull.cs @@ -469,8 +469,7 @@ namespace Barotrauma var uplift = -GameMain.World.Gravity*(forceFactor - body.body.LinearVelocity.Y*5); body.body.FarseerBody.ApplyForce(uplift*deltaTime); - var gap = - ConnectedGaps.Where(i => i.Open > 0).OrderBy(i => Vector2.Distance(body.Position, i.Position)).FirstOrDefault(); + var gap = ConnectedGaps.Where(i => i.Open > 0).OrderBy(i => i.LerpedFlowForce.Length()).FirstOrDefault(); if (gap == null || gap.LerpedFlowForce.Length() < 0) return; var pos = gap.Position - body.Position;