From 13a9b7ea8807bb7813c39e6e6e8de315b4161ff2 Mon Sep 17 00:00:00 2001 From: Regalis Date: Mon, 20 Feb 2017 20:43:14 +0200 Subject: [PATCH] More accurate velocity in item update messages (+ fixed incorrect message length) --- Subsurface/Source/Items/Item.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs index 367f47e1b..9740b110d 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Subsurface/Source/Items/Item.cs @@ -2072,7 +2072,7 @@ namespace Barotrauma { msg.Write(ID); //length in bytes - msg.Write((byte)(4 + 4 + 1)); + msg.Write((byte)(4 + 4 + 1 + 3)); msg.Write(SimPosition.X); msg.Write(SimPosition.Y); @@ -2084,8 +2084,8 @@ namespace Barotrauma DebugConsole.ThrowError("Item velocity out of range ("+body.LinearVelocity+")"); #endif - msg.WriteRangedSingle(MathHelper.Clamp(body.LinearVelocity.X, -32.0f, 32.0f), -32.0f, 32.0f, 8); - msg.WriteRangedSingle(MathHelper.Clamp(body.LinearVelocity.Y, -32.0f, 32.0f), -32.0f, 32.0f, 8); + msg.WriteRangedSingle(MathHelper.Clamp(body.LinearVelocity.X, -32.0f, 32.0f), -32.0f, 32.0f, 12); + msg.WriteRangedSingle(MathHelper.Clamp(body.LinearVelocity.Y, -32.0f, 32.0f), -32.0f, 32.0f, 12); lastSentPos = SimPosition; } @@ -2100,8 +2100,8 @@ namespace Barotrauma body.FarseerBody.Rotation = MathUtils.ByteToAngle(msg.ReadByte()); body.LinearVelocity = new Vector2( - msg.ReadRangedSingle(-32.0f, 32.0f, 8), - msg.ReadRangedSingle(-32.0f, 32.0f, 8)); + msg.ReadRangedSingle(-32.0f, 32.0f, 12), + msg.ReadRangedSingle(-32.0f, 32.0f, 12)); DebugConsole.NewMessage("Received item pos, t: "+sendingTime+ " ("+Name+")", Color.LightGreen);