From f4c01f68ed896d9b3655020b4249ede6dc83272d Mon Sep 17 00:00:00 2001 From: Regalis Date: Wed, 12 Apr 2017 23:44:58 +0300 Subject: [PATCH] Fixed incorrectly length in character position updates (1 bit off), clients read pad bits in position updates --- Subsurface/Source/Characters/CharacterNetworking.cs | 2 ++ Subsurface/Source/Networking/GameClient.cs | 1 + 2 files changed, 3 insertions(+) diff --git a/Subsurface/Source/Characters/CharacterNetworking.cs b/Subsurface/Source/Characters/CharacterNetworking.cs index dd2e18618..e0b5e91d1 100644 --- a/Subsurface/Source/Characters/CharacterNetworking.cs +++ b/Subsurface/Source/Characters/CharacterNetworking.cs @@ -455,6 +455,8 @@ namespace Barotrauma tempBuffer.Write(SimPosition.X); tempBuffer.Write(SimPosition.Y); + tempBuffer.WritePadBits(); + msg.Write((byte)tempBuffer.LengthBytes); msg.Write(tempBuffer); } diff --git a/Subsurface/Source/Networking/GameClient.cs b/Subsurface/Source/Networking/GameClient.cs index e1d015833..0bbd0dc94 100644 --- a/Subsurface/Source/Networking/GameClient.cs +++ b/Subsurface/Source/Networking/GameClient.cs @@ -932,6 +932,7 @@ namespace Barotrauma.Networking //force to the correct position in case the entity doesn't exist //or the message wasn't read correctly for whatever reason inc.Position = msgEndPos; + inc.ReadPadBits(); break; case ServerNetObject.ENTITY_EVENT: case ServerNetObject.ENTITY_EVENT_INITIAL: