]> git.deb.at Git - rhonda/impostor.git/commitdiff
Actually implement CNT serialization
authorminiduikboot <mini@duikbo.at>
Fri, 10 Nov 2023 18:07:39 +0000 (19:07 +0100)
committerminiduikboot <mini@duikbo.at>
Fri, 10 Nov 2023 18:11:46 +0000 (19:11 +0100)
src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.cs

index 3e236287f78b599832f9a3481c180740fe0e5aa4..294e17ade930d2a39ebfa8312b161b78f25b360a 100644 (file)
@@ -1,4 +1,3 @@
-using System;
 using System.Linq;
 using System.Numerics;
 using System.Threading.Tasks;
@@ -47,20 +46,19 @@ namespace Impostor.Server.Net.Inner.Objects.Components
 
         public override ValueTask<bool> SerializeAsync(IMessageWriter writer, bool initialState)
         {
-            throw new NotImplementedException();
-            /*if (initialState)
+            if (initialState)
             {
                 writer.Write(_lastSequenceId);
                 writer.Write(Position);
                 return new ValueTask<bool>(true);
             }
 
-            // TODO: DirtyBits == 0 return false.
-            _lastSequenceId++;
-
             writer.Write(_lastSequenceId);
+
+            // Impostor doesn't keep a memory of positions, so just send the last one
+            writer.WritePacked(1);
             writer.Write(Position);
-            return new ValueTask<bool>(true);*/
+            return new ValueTask<bool>(true);
         }
 
         public override async ValueTask DeserializeAsync(IClientPlayer sender, IClientPlayer? target, IMessageReader reader, bool initialState)