aboutsummaryrefslogtreecommitdiff
path: root/src/network/room.cpp
diff options
context:
space:
mode:
authorBriar <205427297+icy-briar@users.noreply.github.com>2025-05-03 17:53:09 +0000
committericy-briar <briar@noreply.localhost>2025-05-03 17:53:09 +0000
commit54c3c4503adc502d7f860350e8daa39514960b5d (patch)
tree76df14613f5e356812912e55f084d07a920d5152 /src/network/room.cpp
parentd9eea0dc72cd73d9cbeb91e275752fc39fcb536e (diff)
android: Add initial frontend for LAN network rooms (#76)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/76 Co-authored-by: Briar <205427297+icy-briar@users.noreply.github.com> Co-committed-by: Briar <205427297+icy-briar@users.noreply.github.com>
Diffstat (limited to 'src/network/room.cpp')
-rw-r--r--src/network/room.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/network/room.cpp b/src/network/room.cpp
index d87db37de6..49d7ed3313 100644
--- a/src/network/room.cpp
+++ b/src/network/room.cpp
@@ -1,6 +1,10 @@
// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+// SPDX-FileCopyrightText: Copyright yuzu/Citra Emulator Project / Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+
#include <algorithm>
#include <atomic>
#include <iomanip>
@@ -355,7 +359,14 @@ void Room::RoomImpl::HandleJoinRequest(const ENetEvent* event) {
std::lock_guard lock(verify_uid_mutex);
uid = verify_uid;
}
- member.user_data = verify_backend->LoadUserData(uid, token);
+
+ if (verify_backend != nullptr)
+ member.user_data = verify_backend->LoadUserData(uid, token);
+
+ if (nickname == room_information.host_username) {
+ member.user_data.moderator = true;
+ LOG_INFO(Network, "User {} is a moderator", std::string(room_information.host_username));
+ }
std::string ip;
{
@@ -574,8 +585,7 @@ bool Room::RoomImpl::HasModPermission(const ENetPeer* client) const {
if (sending_member == members.end()) {
return false;
}
- if (room_information.enable_yuzu_mods &&
- sending_member->user_data.moderator) { // Community moderator
+ if (sending_member->user_data.moderator) { // Community moderator
return true;
}
@@ -1047,7 +1057,7 @@ bool Room::Create(const std::string& name, const std::string& description,
const u32 max_connections, const std::string& host_username,
const GameInfo preferred_game,
std::unique_ptr<VerifyUser::Backend> verify_backend,
- const Room::BanList& ban_list, bool enable_yuzu_mods) {
+ const Room::BanList& ban_list) {
ENetAddress address;
address.host = ENET_HOST_ANY;
if (!server_address.empty()) {
@@ -1069,7 +1079,6 @@ bool Room::Create(const std::string& name, const std::string& description,
room_impl->room_information.port = server_port;
room_impl->room_information.preferred_game = preferred_game;
room_impl->room_information.host_username = host_username;
- room_impl->room_information.enable_yuzu_mods = enable_yuzu_mods;
room_impl->password = password;
room_impl->verify_backend = std::move(verify_backend);
room_impl->username_ban_list = ban_list.first;