From 76fa5255926da8f6339e7be5bf106646acedf78a Mon Sep 17 00:00:00 2001 From: Aleksandr Popovich Date: Thu, 5 Jun 2025 18:59:47 +0000 Subject: Added the public lobby to android. (#125) This is adapted from kleidis old PR to Azahar. Changes from it: - Fixed inconsistent button styling in the dialog for connection - Allowed to hide both empty and full rooms. - Proper serving of preferred games - Enables web service for android by default - Better implementation of multiplayer.cpp that works with oop Also fixes the room network class and turns it into a static namespace in network Signed-off-by: Aleksandr Popovich Co-authored-by: swurl Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/125 Co-authored-by: Aleksandr Popovich Co-committed-by: Aleksandr Popovich --- src/core/internal_network/socket_proxy.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/core/internal_network/socket_proxy.cpp') diff --git a/src/core/internal_network/socket_proxy.cpp b/src/core/internal_network/socket_proxy.cpp index ce0dee9705..eba1e28c5e 100644 --- a/src/core/internal_network/socket_proxy.cpp +++ b/src/core/internal_network/socket_proxy.cpp @@ -1,6 +1,9 @@ // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + #include #include @@ -18,7 +21,7 @@ namespace Network { -ProxySocket::ProxySocket(RoomNetwork& room_network_) noexcept : room_network{room_network_} {} +ProxySocket::ProxySocket() noexcept {} ProxySocket::~ProxySocket() { if (fd == INVALID_SOCKET) { @@ -187,7 +190,7 @@ std::pair ProxySocket::Send(std::span message, int flags) } void ProxySocket::SendPacket(ProxyPacket& packet) { - if (auto room_member = room_network.GetRoomMember().lock()) { + if (auto room_member = Network::GetRoomMember().lock()) { if (room_member->IsConnected()) { packet.data = Common::Compression::CompressDataZSTDDefault(packet.data.data(), packet.data.size()); @@ -205,7 +208,7 @@ std::pair ProxySocket::SendTo(u32 flags, std::span message return {static_cast(message.size()), Errno::SUCCESS}; } - if (auto room_member = room_network.GetRoomMember().lock()) { + if (auto room_member = Network::GetRoomMember().lock()) { if (!room_member->IsConnected()) { return {static_cast(message.size()), Errno::SUCCESS}; } @@ -222,7 +225,7 @@ std::pair ProxySocket::SendTo(u32 flags, std::span message // If the ip is all zeroes (INADDR_ANY) or if it matches the hosts ip address, // replace it with a "fake" routing address if (std::all_of(ip.begin(), ip.end(), [](u8 i) { return i == 0; }) || (ipv4 && ipv4 == ip)) { - if (auto room_member = room_network.GetRoomMember().lock()) { + if (auto room_member = Network::GetRoomMember().lock()) { packet.local_endpoint.ip = room_member->GetFakeIpAddress(); } } -- cgit v1.2.3