]> git.localhorst.tv Git - blank.git/blobdiff - src/net/Packet.hpp
glm backwards compatibility
[blank.git] / src / net / Packet.hpp
index a6a9d54c478894e02129c893d5ff57ad2d1be0de..d7da977275e810e3298808cef8ea3a1b324031c4 100644 (file)
@@ -1,11 +1,12 @@
 #ifndef BLANK_NET_PACKET_HPP_
 #define BLANK_NET_PACKET_HPP_
 
+#include "../graphics/glm.hpp"
+
 #include <cstdint>
 #include <ostream>
 #include <string>
 #include <SDL_net.h>
-#include <glm/glm.hpp>
 
 
 namespace blank {
@@ -112,7 +113,7 @@ struct Packet {
 
        struct Join : public Payload {
                static constexpr std::uint8_t TYPE = 2;
-               static constexpr std::size_t MAX_LEN = 86;
+               static constexpr std::size_t MAX_LEN = 78;
 
                void WritePlayer(const Entity &) noexcept;
                void ReadPlayerID(std::uint32_t &) const noexcept;
@@ -128,16 +129,12 @@ struct Packet {
 
        struct PlayerUpdate : public Payload {
                static constexpr std::uint8_t TYPE = 4;
-               static constexpr std::size_t MAX_LEN = 62;
+               static constexpr std::size_t MAX_LEN = 50;
 
                void WritePredictedState(const EntityState &) noexcept;
                void ReadPredictedState(EntityState &) const noexcept;
                void WriteMovement(const glm::vec3 &) noexcept;
                void ReadMovement(glm::vec3 &) const noexcept;
-               void WritePitch(float) noexcept;
-               void ReadPitch(float &) const noexcept;
-               void WriteYaw(float) noexcept;
-               void ReadYaw(float &) const noexcept;
                void WriteActions(std::uint8_t) noexcept;
                void ReadActions(std::uint8_t &) const noexcept;
                void WriteSlot(std::uint8_t) noexcept;
@@ -146,7 +143,7 @@ struct Packet {
 
        struct SpawnEntity : public Payload {
                static constexpr std::uint8_t TYPE = 5;
-               static constexpr std::size_t MAX_LEN = 118;
+               static constexpr std::size_t MAX_LEN = 110;
 
                void WriteEntity(const Entity &) noexcept;
                void ReadEntityID(std::uint32_t &) const noexcept;
@@ -164,11 +161,11 @@ struct Packet {
 
        struct EntityUpdate : public Payload {
                static constexpr std::uint8_t TYPE = 7;
-               static constexpr std::size_t MAX_LEN = 466;
+               static constexpr std::size_t MAX_LEN = 460;
 
-               static constexpr std::uint32_t MAX_ENTITIES = 10;
+               static constexpr std::uint32_t MAX_ENTITIES = 12;
                static constexpr std::size_t GetSize(std::uint32_t num) noexcept {
-                       return 16 + (num * 45);
+                       return 16 + (num * 37);
                }
 
                void WriteEntityCount(std::uint32_t) noexcept;
@@ -183,7 +180,7 @@ struct Packet {
 
        struct PlayerCorrection : public Payload {
                static constexpr std::uint8_t TYPE = 8;
-               static constexpr std::size_t MAX_LEN = 52;
+               static constexpr std::size_t MAX_LEN = 44;
 
                void WritePacketSeq(std::uint16_t) noexcept;
                void ReadPacketSeq(std::uint16_t &) const noexcept;
@@ -210,6 +207,10 @@ struct Packet {
                static constexpr std::size_t MAX_LEN = MAX_PAYLOAD_LEN;
                static constexpr std::size_t MAX_DATA_LEN = MAX_LEN - 12;
 
+               static constexpr std::size_t GetSize(std::size_t data_len) noexcept {
+                       return data_len + 12;
+               }
+
                void WriteTransmissionId(std::uint32_t) noexcept;
                void ReadTransmissionId(std::uint32_t &) const noexcept;
                void WriteDataOffset(std::uint32_t) noexcept;