diff --git a/src/core/hle/service/ldn/ldn_types.h b/src/core/hle/service/ldn/ldn_types.h index 0af6531642aa361360386a95136e5ee5ada716d6..6231e936dade106ddb88d87aa388d47571848767 100644 --- a/src/core/hle/service/ldn/ldn_types.h +++ b/src/core/hle/service/ldn/ldn_types.h @@ -145,26 +145,19 @@ struct NetworkId { static_assert(sizeof(NetworkId) == 0x20, "NetworkId is an invalid size"); struct Ssid { - u8 length; - std::array<char, SsidLengthMax + 1> raw; + u8 length{}; + std::array<char, SsidLengthMax + 1> raw{}; - Ssid() { - length = 0; - std::memset(raw.data(), 0, raw.size()); - } + Ssid() = default; - Ssid(std::string data) { + explicit Ssid(std::string_view data) { length = static_cast<u8>(std::min(data.size(), SsidLengthMax)); - std::memcpy(raw.data(), data.data(), length); + data.copy(raw.data(), length); raw[length] = 0; } std::string GetStringValue() const { - return std::string(raw.data(), length); - } - - bool operator==(const Ssid& b) const { - return (length == b.length) && (std::memcmp(raw.data(), b.raw.data(), length) == 0); + return std::string(raw.data()); } }; static_assert(sizeof(Ssid) == 0x22, "Ssid is an invalid size"); diff --git a/src/dedicated_room/yuzu_room.cpp b/src/dedicated_room/yuzu_room.cpp index 173a533174c17d7121592118412738451fb3c98e..7b6deba417fd19c263f3820ee5f6b52ba871d0b2 100644 --- a/src/dedicated_room/yuzu_room.cpp +++ b/src/dedicated_room/yuzu_room.cpp @@ -76,12 +76,7 @@ static constexpr char BanListMagic[] = "YuzuRoom-BanList-1"; static constexpr char token_delimiter{':'}; static void PadToken(std::string& token) { - const auto remainder = token.size() % 3; - if (remainder == 0) { - return; - } - - for (size_t i = 0; i < (3 - remainder); i++) { + while (token.size() % 4 != 0) { token.push_back('='); } } diff --git a/src/yuzu/multiplayer/chat_room.cpp b/src/yuzu/multiplayer/chat_room.cpp index bddceb795564c43b131836ec8763198a50df3dc3..9e672f82e98d409c41ee19259fa56f3ef1d97b10 100644 --- a/src/yuzu/multiplayer/chat_room.cpp +++ b/src/yuzu/multiplayer/chat_room.cpp @@ -154,9 +154,7 @@ public: } const QString version = data(GameVersionRole).toString(); QString version_string; - if (version.isEmpty()) { - version_string = QString{}; - } else { + if (!version.isEmpty()) { version_string = QStringLiteral("(%1)").arg(version); } return QStringLiteral("%1\n %2 %3") diff --git a/src/yuzu/multiplayer/direct_connect.cpp b/src/yuzu/multiplayer/direct_connect.cpp index 65b5f0b9de174a1a1495a2d5d95d0556284f1e1b..017063074479666e0a6a8d98537708e50b268a58 100644 --- a/src/yuzu/multiplayer/direct_connect.cpp +++ b/src/yuzu/multiplayer/direct_connect.cpp @@ -8,6 +8,7 @@ #include <QString> #include <QtConcurrent/QtConcurrentRun> #include "common/settings.h" +#include "core/core.h" #include "core/internal_network/network_interface.h" #include "network/network.h" #include "ui_direct_connect.h" diff --git a/src/yuzu/multiplayer/direct_connect.h b/src/yuzu/multiplayer/direct_connect.h index defa4f4ec457be09f7e22e207c96de012eba67d0..e39dd1e0d6df75586672e63471708e3ed0e2de76 100644 --- a/src/yuzu/multiplayer/direct_connect.h +++ b/src/yuzu/multiplayer/direct_connect.h @@ -6,13 +6,16 @@ #include <memory> #include <QDialog> #include <QFutureWatcher> -#include "core/core.h" #include "yuzu/multiplayer/validation.h" namespace Ui { class DirectConnect; } +namespace Core { +class System; +} + class DirectConnectWindow : public QDialog { Q_OBJECT diff --git a/src/yuzu/multiplayer/host_room.cpp b/src/yuzu/multiplayer/host_room.cpp index ad7dcc36df7754f0fde27a5d35a52c149be87428..0c6adfd040075b840150285b8cfb319c2036d145 100644 --- a/src/yuzu/multiplayer/host_room.cpp +++ b/src/yuzu/multiplayer/host_room.cpp @@ -12,6 +12,7 @@ #include <QtConcurrent/QtConcurrentRun> #include "common/logging/log.h" #include "common/settings.h" +#include "core/core.h" #include "core/internal_network/network_interface.h" #include "network/announce_multiplayer_session.h" #include "ui_host_room.h" diff --git a/src/yuzu/multiplayer/host_room.h b/src/yuzu/multiplayer/host_room.h index 63c0d233320859b4ca6a267e9871dbf6d5738b64..034cb2eefd311803f949438702657d00255bc13e 100644 --- a/src/yuzu/multiplayer/host_room.h +++ b/src/yuzu/multiplayer/host_room.h @@ -8,7 +8,6 @@ #include <QSortFilterProxyModel> #include <QStandardItemModel> #include <QVariant> -#include "core/core.h" #include "network/network.h" #include "yuzu/multiplayer/chat_room.h" #include "yuzu/multiplayer/validation.h" @@ -18,8 +17,9 @@ class HostRoom; } namespace Core { +class System; class AnnounceMultiplayerSession; -} +} // namespace Core class ConnectionError; class ComboBoxProxyModel; diff --git a/src/yuzu/multiplayer/lobby.cpp b/src/yuzu/multiplayer/lobby.cpp index c5fb846c70d092d0da729992470fc11d355ccaf0..107d405476790df04a2d1352009a202dd187b144 100644 --- a/src/yuzu/multiplayer/lobby.cpp +++ b/src/yuzu/multiplayer/lobby.cpp @@ -6,6 +6,7 @@ #include <QtConcurrent/QtConcurrentRun> #include "common/logging/log.h" #include "common/settings.h" +#include "core/core.h" #include "core/internal_network/network_interface.h" #include "network/network.h" #include "ui_lobby.h" diff --git a/src/yuzu/multiplayer/lobby.h b/src/yuzu/multiplayer/lobby.h index 49fd4c473945081b908943cde8f1af9bc415ebca..2696aec21a52caca35dd4399b2c6d4635d50eda7 100644 --- a/src/yuzu/multiplayer/lobby.h +++ b/src/yuzu/multiplayer/lobby.h @@ -9,7 +9,6 @@ #include <QSortFilterProxyModel> #include <QStandardItemModel> #include "common/announce_multiplayer_room.h" -#include "core/core.h" #include "network/announce_multiplayer_session.h" #include "network/network.h" #include "yuzu/multiplayer/validation.h" @@ -21,6 +20,10 @@ class Lobby; class LobbyModel; class LobbyFilterProxyModel; +namespace Core { +class System; +} + /** * Listing of all public games pulled from services. The lobby should be simple enough for users to * find the game they want to play, and join it. diff --git a/src/yuzu/multiplayer/state.cpp b/src/yuzu/multiplayer/state.cpp index d1a68b18299d5383f47d0c9f25978c809b41b0e7..66e098296d021f789495952daab49fe12b6ee3d0 100644 --- a/src/yuzu/multiplayer/state.cpp +++ b/src/yuzu/multiplayer/state.cpp @@ -8,6 +8,7 @@ #include <QStandardItemModel> #include "common/announce_multiplayer_room.h" #include "common/logging/log.h" +#include "core/core.h" #include "yuzu/game_list.h" #include "yuzu/multiplayer/client_room.h" #include "yuzu/multiplayer/direct_connect.h" diff --git a/src/yuzu/multiplayer/state.h b/src/yuzu/multiplayer/state.h index 3921f2fc309e3ab444cd0b72ff49a9b241dbe2fc..c92496413ca59e6be126e28f8c113491039925c2 100644 --- a/src/yuzu/multiplayer/state.h +++ b/src/yuzu/multiplayer/state.h @@ -4,7 +4,6 @@ #pragma once #include <QWidget> -#include "core/core.h" #include "network/announce_multiplayer_session.h" #include "network/network.h" @@ -15,6 +14,10 @@ class ClientRoomWindow; class DirectConnectWindow; class ClickableLabel; +namespace Core { +class System; +} + class MultiplayerState : public QWidget { Q_OBJECT;