From e71ae319a2f94419dc049f7ffde42c2a9a048c8e Mon Sep 17 00:00:00 2001 From: DankParrot Date: Tue, 18 Aug 2020 18:26:01 -0700 Subject: [PATCH] Add read/write specializations for bool --- src/NetworkMessage.h | 7 +++++++ src/PacketReader.h | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/src/NetworkMessage.h b/src/NetworkMessage.h index 65dd91a..31202a7 100644 --- a/src/NetworkMessage.h +++ b/src/NetworkMessage.h @@ -46,6 +46,13 @@ namespace Feather } } + // Write bool as 1 byte + template <> + inline void Write(const bool& value) + { + Write(value ? 0x01 : 0x00); + } + template inline void WriteVarInt(Int val) { diff --git a/src/PacketReader.h b/src/PacketReader.h index ab2006b..b02913f 100644 --- a/src/PacketReader.h +++ b/src/PacketReader.h @@ -40,6 +40,14 @@ namespace Feather return value; } + // Read bool as 1 byte + template <> + inline bool Read() + { + // TODO: Could warn on non-bool value + return (ReadByte() != 0x00); + } + // Fast way to peek the next byte inline uint8_t PeekByte() { return m_data[m_offset]; }