diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-17 17:33:31 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-17 17:33:31 +1100 |
commit | 9dc1eb7312a1bf5d8a606ac4e47395e5334e60f6 (patch) | |
tree | ea6a60e442062027288304b55dc5a0c4d669435c /source/game/StarNetPackets.cpp | |
parent | 4e0d7598e10a83ea416c6cf244b13181dd875cb9 (diff) |
InterpolationTracker operates on time in seconds instead of steps now
Diffstat (limited to 'source/game/StarNetPackets.cpp')
-rw-r--r-- | source/game/StarNetPackets.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/source/game/StarNetPackets.cpp b/source/game/StarNetPackets.cpp index 2f03283..aa3947e 100644 --- a/source/game/StarNetPackets.cpp +++ b/source/game/StarNetPackets.cpp @@ -1103,16 +1103,25 @@ void PongPacket::write(DataStream& ds) const { ds.write<bool>(false); } -StepUpdatePacket::StepUpdatePacket() : remoteStep(0) {} +StepUpdatePacket::StepUpdatePacket() : remoteTime(0.0) {} -StepUpdatePacket::StepUpdatePacket(uint64_t remoteStep) : remoteStep(remoteStep) {} +StepUpdatePacket::StepUpdatePacket(double remoteStep) : remoteTime(remoteTime) {} + +void StepUpdatePacket::readLegacy(DataStream& ds) { + auto steps = ds.readVlqU(); + remoteTime = double(steps) / 60.0; +} void StepUpdatePacket::read(DataStream& ds) { - ds.vuread(remoteStep); + ds.write(remoteTime); +} + +void StepUpdatePacket::writeLegacy(DataStream& ds) const { + ds.writeVlqU((uint64_t)round(remoteTime * 60.0)); } void StepUpdatePacket::write(DataStream& ds) const { - ds.vuwrite(remoteStep); + ds.write(remoteTime); } SystemWorldStartPacket::SystemWorldStartPacket() {} |