From 253c93dd7ccc47bd6b7c3a87341fa4da0b9fdb0e Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Sun, 9 Nov 2025 01:43:41 -0500 Subject: [PATCH] feat: handle EntityEditNack and create test entities on domain connection --- src/OverteClient.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/OverteClient.cpp b/src/OverteClient.cpp index 9c93fe4..271cc78 100644 --- a/src/OverteClient.cpp +++ b/src/OverteClient.cpp @@ -423,6 +423,17 @@ void OverteClient::parseDomainPacket(const char* data, size_t len) { parseEntityPacket(payload, payloadLen); break; + case PacketType::EntityEditNack: + std::cout << "[OverteClient] EntityEditNack received - entity creation/edit rejected" << std::endl; + if (payloadLen > 0) { + std::cout << "[OverteClient] Nack data (" << payloadLen << " bytes): "; + for (size_t i = 0; i < std::min(payloadLen, size_t(32)); i++) { + printf("%02x ", (unsigned char)payload[i]); + } + std::cout << std::endl; + } + break; + case PacketType::EntityQueryInitialResultsComplete: std::cout << "[OverteClient] Entity query initial results complete" << std::endl; break; @@ -802,6 +813,27 @@ void OverteClient::handleDomainListReply(const char* data, size_t len) { std::cout << "[OverteClient] Domain connected! Sending entity query..." << std::endl; sendEntityQuery(); + // Create 3 test entities after connection + std::cout << "[OverteClient] Creating 3 test entities..." << std::endl; + + // Red Box at origin + createEntity("Red Box", EntityType::Box, + glm::vec3(0.0f, 1.5f, -2.0f), // position + glm::vec3(0.5f, 0.5f, 0.5f), // dimensions + glm::vec3(1.0f, 0.4f, 0.4f)); // red color + + // Green Sphere to the right + createEntity("Green Sphere", EntityType::Sphere, + glm::vec3(1.2f, 1.5f, -2.0f), // position + glm::vec3(0.4f, 0.4f, 0.4f), // dimensions + glm::vec3(0.4f, 1.0f, 0.4f)); // green color + + // Blue Box to the left (tall) + createEntity("Blue Box", EntityType::Box, + glm::vec3(-1.2f, 1.5f, -2.0f), // position + glm::vec3(0.3f, 0.8f, 0.3f), // dimensions (tall) + glm::vec3(0.4f, 0.4f, 1.0f)); // blue color + // Read number of nodes - Qt QDataStream format (signed int32, big-endian) // But for node list, Overte uses a special encoding // Looking at the packet: ff 01 00 06 43 23...