diff --git a/include/SFML/Network/Packet.h b/include/SFML/Network/Packet.h index 28e6c70..c9ea8ce 100644 --- a/include/SFML/Network/Packet.h +++ b/include/SFML/Network/Packet.h @@ -69,6 +69,18 @@ CSFML_NETWORK_API void sfPacket_destroy(sfPacket* packet); //////////////////////////////////////////////////////////// CSFML_NETWORK_API void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes); +//////////////////////////////////////////////////////////// +/// \brief Get the current reading position in the packet +/// +/// The next read operation will read data from this position +/// +/// \return The byte offset of the current read position +/// +/// \see append +/// +//////////////////////////////////////////////////////////// +CSFML_NETWORK_API size_t sfPacket_getReadPosition(const sfPacket* packet); + //////////////////////////////////////////////////////////// /// \brief Clear a packet /// diff --git a/src/SFML/Network/Packet.cpp b/src/SFML/Network/Packet.cpp index f0f3a1a..cd8de46 100644 --- a/src/SFML/Network/Packet.cpp +++ b/src/SFML/Network/Packet.cpp @@ -60,6 +60,13 @@ void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes) } +//////////////////////////////////////////////////////////// +size_t sfPacket_getReadPosition(const sfPacket* packet) +{ + CSFML_CALL_RETURN(packet, getReadPosition(), 0); +} + + //////////////////////////////////////////////////////////// void sfPacket_clear(sfPacket* packet) {