X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fnet%2FPacket.hpp;h=87dececf9957f7c12ef960d59d6b0b7086ba802a;hb=8e7e042296946ba2aed73b77ab02feb267eb17d4;hp=232d0be9900d880995c90e77339491ea1194319e;hpb=cf5ce8220483bb062740eeaedde6474928fd5e0e;p=blank.git diff --git a/src/net/Packet.hpp b/src/net/Packet.hpp index 232d0be..87decec 100644 --- a/src/net/Packet.hpp +++ b/src/net/Packet.hpp @@ -26,7 +26,7 @@ struct Packet { // true if this contains an ack for given (remote) seq bool Acks(std::uint16_t) const noexcept; std::uint16_t AckBegin() const noexcept { return ack; } - std::uint16_t AckEnd() const noexcept { return ack + std::uint16_t(33); } + std::uint16_t AckEnd() const noexcept { return ack - std::uint16_t(33); } }; struct Header { @@ -139,6 +139,16 @@ struct Packet { void ReadEntityState(EntityState &, std::uint32_t) const noexcept; }; + struct PlayerCorrection : public Payload { + static constexpr std::uint8_t TYPE = 8; + static constexpr std::size_t MAX_LEN = 66; + + void WritePacketSeq(std::uint16_t) noexcept; + void ReadPacketSeq(std::uint16_t &) const noexcept; + void WritePlayer(const Entity &) noexcept; + void ReadPlayerState(EntityState &) const noexcept; + }; + template PayloadType As() {