X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fnet%2FPacket.hpp;h=c4a8ae350299ff111abfcd47cf5228e09679eb9e;hb=8507332e2d0c54aec4045fb6f0021bdc3bd57750;hp=4742a4525d679a44333c2d27b7eb88a306793cdc;hpb=68f47f2824989b21ff9a480a367a6d0a41804f41;p=blank.git diff --git a/src/net/Packet.hpp b/src/net/Packet.hpp index 4742a45..c4a8ae3 100644 --- a/src/net/Packet.hpp +++ b/src/net/Packet.hpp @@ -10,6 +10,7 @@ namespace blank { class Entity; +class EntityState; struct Packet { @@ -85,7 +86,7 @@ struct Packet { void WritePlayer(const Entity &) noexcept; void ReadPlayerID(std::uint32_t &) const noexcept; - void ReadPlayer(Entity &) const noexcept; + void ReadPlayerState(EntityState &) const noexcept; void WriteWorldName(const std::string &) noexcept; void ReadWorldName(std::string &) const noexcept; }; @@ -100,7 +101,7 @@ struct Packet { static constexpr std::size_t MAX_LEN = 64; void WritePlayer(const Entity &) noexcept; - void ReadPlayer(Entity &) const noexcept; + void ReadPlayerState(EntityState &) const noexcept; }; struct SpawnEntity : public Payload { @@ -135,7 +136,17 @@ struct Packet { void WriteEntity(const Entity &, std::uint32_t) noexcept; void ReadEntityID(std::uint32_t &, std::uint32_t) const noexcept; - void ReadEntity(Entity &, std::uint32_t) const noexcept; + 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; };