From 6b548c17e20c5d6c5cc154d300a7a4c4ed42984c Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Thu, 17 Apr 2025 06:26:26 +1000 Subject: actually pass along chat user data --- source/game/StarUniverseServer.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'source/game/StarUniverseServer.cpp') diff --git a/source/game/StarUniverseServer.cpp b/source/game/StarUniverseServer.cpp index f32f650..977dc71 100644 --- a/source/game/StarUniverseServer.cpp +++ b/source/game/StarUniverseServer.cpp @@ -1064,16 +1064,19 @@ void UniverseServer::processChat() { for (auto const& p : take(m_pendingChat)) { if (auto clientContext = m_clients.get(p.first)) { for (auto const& chat : p.second) { + auto& message = get<0>(chat); + auto sendMode = get<1>(chat); + auto& data = get<2>(chat); if (clientContext->remoteAddress()) - Logger::info("Chat: <{}> {}", clientContext->playerName(), chat.first); + Logger::info("Chat: <{}> {}", clientContext->playerName(), message); auto team = m_teamManager->getTeam(clientContext->playerUuid()); - if (chat.second == ChatSendMode::Broadcast) - m_chatProcessor->broadcast(p.first, chat.first); - else if (chat.second == ChatSendMode::Party && team.isValid()) - m_chatProcessor->message(p.first, MessageContext::Mode::Party, team.value().hex(), chat.first); + if (sendMode == ChatSendMode::Broadcast) + m_chatProcessor->broadcast(p.first, message, std::move(data)); + else if (sendMode == ChatSendMode::Party && team.isValid()) + m_chatProcessor->message(p.first, MessageContext::Mode::Party, team.value().hex(), message, std::move(data)); else - m_chatProcessor->message(p.first, MessageContext::Mode::Local, printWorldId(clientContext->playerWorldId()), chat.first); + m_chatProcessor->message(p.first, MessageContext::Mode::Local, printWorldId(clientContext->playerWorldId()), message, std::move(data)); } } } @@ -1527,7 +1530,7 @@ void UniverseServer::packetsReceived(UniverseConnectionServer*, ConnectionId cli } else if (auto chatSend = as(packet)) { RecursiveMutexLocker locker(m_mainLock); - m_pendingChat[clientId].append({std::move(chatSend->text), chatSend->sendMode}); + m_pendingChat[clientId].append(make_tuple(std::move(chatSend->text), chatSend->sendMode, std::move(chatSend->data))); } else if (auto clientContextUpdatePacket = as(packet)) { clientContext->readUpdate(std::move(clientContextUpdatePacket->updateData)); -- cgit v1.2.3