Skip to content

Commit

Permalink
fix: fixing time packing returning negative values
Browse files Browse the repository at this point in the history
  • Loading branch information
James-Frowen committed Feb 19, 2024
1 parent 47cff9c commit 3ad84f2
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 2 deletions.
4 changes: 2 additions & 2 deletions Assets/NetworkPositionSync/Runtime/SyncSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -172,14 +172,14 @@ public VarDoublePacker(double precision, int blockSize)

public void Pack(NetworkWriter writer, double value)
{
var scaled = (int)Math.Round(value * _inversePrecision);
var scaled = (long)Math.Round(value * _inversePrecision);
var zig = ZigZag.Encode(scaled);
VarIntBlocksPacker.Pack(writer, zig, _blockSize);
}

public double Unpack(NetworkReader reader)
{
var zig = (uint)VarIntBlocksPacker.Unpack(reader, _blockSize);
var zig = VarIntBlocksPacker.Unpack(reader, _blockSize);
var scaled = ZigZag.Decode(zig);
return scaled * _precision;
}
Expand Down
29 changes: 29 additions & 0 deletions Assets/NetworkPositionSync/Tests/Runtime/TimeSyncTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using Mirage.Serialization;
using NUnit.Framework;
using UnityEngine;

namespace JamesFrowen.PositionSync.Tests
{
[Category("NetworkPositionSync")]
public class TimeSyncTest : MonoBehaviour
{
[Test]
public void TimeSerialzesCorrectly([NUnit.Framework.Range(0, 3600 * 24 * 30, 1000)] double time)
{
var settings = new SyncSettings();
var writer = new NetworkWriter(1200);

var packer = settings.CreateTimePacker();

packer.Pack(writer, time);

var reader = new NetworkReader();
reader.Reset(writer.ToArraySegment());

var outTime = packer.Unpack(reader);

// setting should be sending 0.1ms, so should be within that
Assert.That(outTime, Is.EqualTo(time).Within(1 / 10000f));
}
}
}
11 changes: 11 additions & 0 deletions Assets/NetworkPositionSync/Tests/Runtime/TimeSyncTest.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3ad84f2

Please sign in to comment.