From ea81a66c5b3677264c9c0e2f9a4aaf5aa8cb6087 Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Sat, 8 Nov 2025 17:46:11 -0500 Subject: [PATCH] feat: update PacketType enum and add PacketVersions for enhanced protocol handling --- src/NLPacketCodec.hpp | 52 ++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/src/NLPacketCodec.hpp b/src/NLPacketCodec.hpp index ea66756..f9ee300 100644 --- a/src/NLPacketCodec.hpp +++ b/src/NLPacketCodec.hpp @@ -14,19 +14,37 @@ namespace Overte { // Packet types from Overte protocol enum class PacketType : uint8_t { Unknown = 0, - Ping = 1, - PingReply = 2, - DomainList = 3, - DomainListRequest = 4, - DomainConnectionDenied = 6, - DomainServerRequireDTLS = 7, - DomainConnectRequest = 8, - DomainServerPathQuery = 9, - DomainServerPathResponse = 10, - DomainServerAddedNode = 11, - DomainServerConnectionToken = 12, - DomainSettingsRequest = 13, - DomainSettings = 14, + DomainConnectRequestPending = 1, + DomainList = 2, + Ping = 3, + PingReply = 4, + KillAvatar = 5, + AvatarData = 6, + InjectAudio = 7, + MixedAudio = 8, + MicrophoneAudioNoEcho = 9, + MicrophoneAudioWithEcho = 10, + BulkAvatarData = 11, + SilentAudioFrame = 12, + DomainListRequest = 13, + RequestAssignment = 14, + CreateAssignment = 15, + DomainConnectionDenied = 16, + MuteEnvironment = 17, + AudioStreamStats = 18, + DomainServerPathQuery = 19, + DomainServerPathResponse = 20, + DomainServerAddedNode = 21, + ICEServerPeerInformation = 22, + ICEServerQuery = 23, + OctreeStats = 24, + SetAvatarTraits = 25, + InjectorGainSet = 26, + AssignmentClientStatus = 27, + NoisyMute = 28, + AvatarIdentity = 29, + NodeIgnoreRequest = 30, + DomainConnectRequest = 31, // ... many more packet types EntityAdd = 0x41, EntityEdit = 0x42, @@ -35,6 +53,14 @@ enum class PacketType : uint8_t { EntityData = 0x45, }; +// Packet version constants (from Overte source) +namespace PacketVersions { + constexpr PacketVersion DomainConnectRequest_SocketTypes = 27; // NoHostname(17) + 10 + constexpr PacketVersion DomainListRequest_SocketTypes = 23; // PreSocketTypes(22) + 1 + constexpr PacketVersion DomainList_SocketTypes = 25; // PrePermissionsGrid(18) + 7 + constexpr PacketVersion Ping_IncludeConnectionID = 18; +} + using PacketVersion = uint8_t; using LocalID = uint16_t; using SequenceNumber = uint32_t;