diff --git a/src/OverteClient.cpp b/src/OverteClient.cpp index 1f16e0f..75d722e 100644 --- a/src/OverteClient.cpp +++ b/src/OverteClient.cpp @@ -382,6 +382,7 @@ void OverteClient::poll() { // Send periodic ping to domain to keep connection alive static auto lastPing = std::chrono::steady_clock::now(); static auto lastDomainList = std::chrono::steady_clock::now(); + static auto lastAvatarData = std::chrono::steady_clock::now(); auto now = std::chrono::steady_clock::now(); if (std::chrono::duration_cast(now - lastPing).count() >= 1) { @@ -389,6 +390,12 @@ void OverteClient::poll() { lastPing = now; } + // Send avatar data to Avatar Mixer every 100ms (10 Hz) if connected + if (m_avatarMixerConnected && std::chrono::duration_cast(now - lastAvatarData).count() >= 100) { + sendAvatarData(); + lastAvatarData = now; + } + // Request domain list periodically if not connected if (!m_domainConnected && std::chrono::duration_cast(now - lastDomainList).count() >= 3) { std::cout << "[OverteClient] Retrying domain handshake..." << std::endl;