diff options
| author | untodesu <kirill@untode.su> | 2025-06-29 22:24:42 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-06-29 22:24:42 +0500 |
| commit | 6cd00aacfa22fed6a54a9b812f6b069ad16feec0 (patch) | |
| tree | b77f4e665da3dd235cdb01e7e6ea78c1c02ecf2e /core/buffer.hh | |
| parent | f440914e1ae453768d09383f332bc7844e0a700e (diff) | |
| download | voxelius-6cd00aacfa22fed6a54a9b812f6b069ad16feec0.tar.bz2 voxelius-6cd00aacfa22fed6a54a9b812f6b069ad16feec0.zip | |
Move game sources into src subdirectory
Diffstat (limited to 'core/buffer.hh')
| -rw-r--r-- | core/buffer.hh | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/core/buffer.hh b/core/buffer.hh deleted file mode 100644 index 1397e16..0000000 --- a/core/buffer.hh +++ /dev/null @@ -1,255 +0,0 @@ -#ifndef CORE_BUFFER_HH -#define CORE_BUFFER_HH 1 - -#include "core/floathacks.hh" -#include "core/macros.hh" - -class ReadBuffer final { -public: - DECLARE_DEFAULT_CONSTRUCTOR(ReadBuffer); - explicit ReadBuffer(const void* data, std::size_t size); - explicit ReadBuffer(const ENetPacket* packet); - explicit ReadBuffer(PHYSFS_File* file); - virtual ~ReadBuffer(void) = default; - - std::size_t size(void) const; - const std::byte* data(void) const; - - void reset(const void* data, std::size_t size); - void reset(const ENetPacket* packet); - void reset(PHYSFS_File* file); - - float read_FP32(void); - std::uint8_t read_UI8(void); - std::uint16_t read_UI16(void); - std::uint32_t read_UI32(void); - std::uint64_t read_UI64(void); - std::string read_string(void); - - inline std::int8_t read_I8(void); - inline std::int16_t read_I16(void); - inline std::int32_t read_I32(void); - inline std::int64_t read_I64(void); - - inline ReadBuffer& operator>>(float& value); - inline ReadBuffer& operator>>(std::int8_t& value); - inline ReadBuffer& operator>>(std::int16_t& value); - inline ReadBuffer& operator>>(std::int32_t& value); - inline ReadBuffer& operator>>(std::int64_t& value); - inline ReadBuffer& operator>>(std::uint8_t& value); - inline ReadBuffer& operator>>(std::uint16_t& value); - inline ReadBuffer& operator>>(std::uint32_t& value); - inline ReadBuffer& operator>>(std::uint64_t& value); - inline ReadBuffer& operator>>(std::string& value); - -private: - std::vector<std::byte> m_vector; - std::size_t m_position; -}; - -class WriteBuffer final { -public: - DECLARE_DEFAULT_CONSTRUCTOR(WriteBuffer); - virtual ~WriteBuffer(void) = default; - - std::size_t size(void) const; - const std::byte* data(void) const; - - void reset(void); - - void write_FP32(float value); - void write_UI8(std::uint8_t value); - void write_UI16(std::uint16_t value); - void write_UI32(std::uint32_t value); - void write_UI64(std::uint64_t value); - void write_string(const std::string& value); - - inline void write_I8(std::int8_t value); - inline void write_I16(std::int16_t value); - inline void write_I32(std::int32_t value); - inline void write_I64(std::int64_t value); - - inline WriteBuffer& operator<<(float value); - inline WriteBuffer& operator<<(std::int8_t value); - inline WriteBuffer& operator<<(std::int16_t value); - inline WriteBuffer& operator<<(std::int32_t value); - inline WriteBuffer& operator<<(std::int64_t value); - inline WriteBuffer& operator<<(std::uint8_t value); - inline WriteBuffer& operator<<(std::uint16_t value); - inline WriteBuffer& operator<<(std::uint32_t value); - inline WriteBuffer& operator<<(std::uint64_t value); - inline WriteBuffer& operator<<(const std::string& value); - - PHYSFS_File* to_file(const char* path, bool append = false) const; - ENetPacket* to_packet(enet_uint32 flags = ENET_PACKET_FLAG_RELIABLE) const; - -private: - std::vector<std::byte> m_vector; -}; - -inline std::int8_t ReadBuffer::read_I8(void) -{ - return static_cast<std::int8_t>(read_UI8()); -} - -inline std::int16_t ReadBuffer::read_I16(void) -{ - return static_cast<std::int16_t>(read_UI16()); -} - -inline std::int32_t ReadBuffer::read_I32(void) -{ - return static_cast<std::int32_t>(read_UI32()); -} - -inline std::int64_t ReadBuffer::read_I64(void) -{ - return static_cast<std::int64_t>(read_UI64()); -} - -inline ReadBuffer& ReadBuffer::operator>>(float& value) -{ - value = read_FP32(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::int8_t& value) -{ - value = read_I8(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::int16_t& value) -{ - value = read_I16(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::int32_t& value) -{ - value = read_I32(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::int64_t& value) -{ - value = read_I64(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::uint8_t& value) -{ - value = read_UI8(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::uint16_t& value) -{ - value = read_UI16(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::uint32_t& value) -{ - value = read_UI32(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::uint64_t& value) -{ - value = read_UI64(); - return *this; -} - -inline ReadBuffer& ReadBuffer::operator>>(std::string& value) -{ - value = read_string(); - return *this; -} - -inline void WriteBuffer::write_FP32(float value) -{ - write_UI32(floathacks::float_to_uint32(value)); -} - -inline void WriteBuffer::write_I8(std::int8_t value) -{ - write_UI8(static_cast<std::uint8_t>(value)); -} - -inline void WriteBuffer::write_I16(std::int16_t value) -{ - write_UI16(static_cast<std::uint16_t>(value)); -} - -inline void WriteBuffer::write_I32(std::int32_t value) -{ - write_UI32(static_cast<std::uint32_t>(value)); -} - -inline void WriteBuffer::write_I64(std::int64_t value) -{ - write_UI64(static_cast<std::uint64_t>(value)); -} - -inline WriteBuffer& WriteBuffer::operator<<(float value) -{ - write_FP32(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::int8_t value) -{ - write_I8(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::int16_t value) -{ - write_I16(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::int32_t value) -{ - write_I32(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::int64_t value) -{ - write_I64(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::uint8_t value) -{ - write_UI8(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::uint16_t value) -{ - write_UI16(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::uint32_t value) -{ - write_UI32(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(std::uint64_t value) -{ - write_UI64(value); - return *this; -} - -inline WriteBuffer& WriteBuffer::operator<<(const std::string& value) -{ - write_string(value); - return *this; -} - -#endif /* CORE_BUFFER_HH */ |
