diff --git a/src/net/utils.hpp b/src/net/utils.hpp index bfbf1c6..5b7538d 100644 --- a/src/net/utils.hpp +++ b/src/net/utils.hpp @@ -127,7 +127,14 @@ inline bool ReadRGB(InMessage& msg, glm::vec3& color) } // DELTA -template +template requires (sizeof(T) == 1) +inline void WriteDelta(OutMessage& msg, T previous, T current) +{ + // 1 byte => just write current + msg.Write(current); +} + +template requires (sizeof(T) > 1) inline void WriteDelta(OutMessage& msg, T previous, T current) { static_assert(sizeof(T) <= 4); @@ -146,7 +153,14 @@ inline void WriteDelta(OutMessage& msg, T current, T previous) WriteDelta(msg, previous.value, current.value); } -template +template requires (sizeof(T) == 1) +inline bool ReadDelta(InMessage& msg, T previous, T& current) +{ + // 1 byte => just read current + return msg.Read(current); +} + +template requires (sizeof(T) > 1) inline bool ReadDelta(InMessage& msg, T previous, T& current) { static_assert(sizeof(T) <= 4);