diff --git a/src/ClientNetwork.cpp b/src/ClientNetwork.cpp index f47bee6f..c0fbf507 100644 --- a/src/ClientNetwork.cpp +++ b/src/ClientNetwork.cpp @@ -54,8 +54,9 @@ void ClientNetwork::run() { } while (!*m_shutdown); } -ClientNetwork::ClientNetwork(uint16_t port) - : m_listen_port(port) { +ClientNetwork::ClientNetwork(Launcher& launcher, uint16_t port) + : m_listen_port(port) + , launcher(launcher) { spdlog::debug("Client network created"); } diff --git a/src/ClientNetwork.h b/src/ClientNetwork.h index 7e17b40b..16961d2d 100644 --- a/src/ClientNetwork.h +++ b/src/ClientNetwork.h @@ -13,7 +13,7 @@ using namespace boost::asio; class ClientNetwork { public: - ClientNetwork(uint16_t port); + ClientNetwork(Launcher& launcher, uint16_t port); ~ClientNetwork(); @@ -56,4 +56,6 @@ class ClientNetwork { ip::tcp::socket m_game_socket { m_io }; Sync m_shutdown { false }; bmp::ClientState m_client_state; + + Launcher& launcher; }; diff --git a/src/Launcher.cpp b/src/Launcher.cpp index 11c425ea..51fd1521 100644 --- a/src/Launcher.cpp +++ b/src/Launcher.cpp @@ -22,11 +22,7 @@ using namespace boost::asio; namespace fs = std::filesystem; -Launcher::Launcher() - : m_game_socket(m_io) - , m_core_socket(m_io) - , m_tcp_socket(m_io) - , m_udp_socket(m_io) { +Launcher::Launcher() { spdlog::debug("Launcher startup"); m_config = Config {}; if (!m_config->is_valid) { @@ -194,7 +190,7 @@ void Launcher::pre_game() { if (FileHash != LatestHash) { spdlog::info("Downloading BeamMP Update " + LatestHash); - HTTP::Download(fmt::format("https://backend.beammp.com/builds/client?download=true&pk={}&branch={}", m_identity->PublicKey, m_config->branch), ZipPath.generic_string()); + HTTP::Download(fmt::format("https://backend.beammp.com/builds/client?download=true&pk={}&branch={}", identity->PublicKey, m_config->branch), ZipPath.generic_string()); } auto Target = std::filesystem::path(m_config->game_dir) / "mods/unpacked/beammp"; diff --git a/src/Launcher.h b/src/Launcher.h index 2a29a524..18232ac8 100644 --- a/src/Launcher.h +++ b/src/Launcher.h @@ -52,27 +52,11 @@ class Launcher { boost::scoped_thread<> m_proxy_thread { &Launcher::proxy_main, this }; boost::scoped_thread<> m_game_thread; - boost::scoped_thread<> m_client_thread; - boost::scoped_thread<> m_tcp_game_thread; - boost::scoped_thread<> m_udp_thread; - boost::scoped_thread<> m_ping_thread; + boost::scoped_thread<> m_client_network_thread; + boost::scoped_thread<> m_server_network_thread; Sync m_exe_name; Sync m_exe_path; boost::asio::io_context m_io {}; - boost::asio::ip::tcp::socket m_game_socket; - boost::asio::ip::tcp::socket m_core_socket; - boost::asio::ip::tcp::socket m_tcp_socket; - boost::asio::ip::udp::socket m_udp_socket; - boost::asio::ip::udp::endpoint m_udp_endpoint; Sync m_shutdown { false }; - Sync m_ping_start; - Sync m_ping_end; - - Sync m_m_status {}; - Sync m_ul_status {}; - - Sync> m_conf_list; - - Sync m_list_of_mods {}; }; diff --git a/src/ServerNetwork.cpp b/src/ServerNetwork.cpp index 144d7047..1640ac4f 100644 --- a/src/ServerNetwork.cpp +++ b/src/ServerNetwork.cpp @@ -9,8 +9,9 @@ #include #include -ServerNetwork::ServerNetwork(const ip::tcp::endpoint& ep) - : m_tcp_ep(ep) { +ServerNetwork::ServerNetwork(Launcher& launcher, const ip::tcp::endpoint& ep) + : m_tcp_ep(ep) + , launcher(launcher) { spdlog::debug("Server network created"); } diff --git a/src/ServerNetwork.h b/src/ServerNetwork.h index 89647f52..a55c7fd2 100644 --- a/src/ServerNetwork.h +++ b/src/ServerNetwork.h @@ -10,7 +10,7 @@ class Launcher; class ServerNetwork { public: - ServerNetwork(const ip::tcp::endpoint& ep); + ServerNetwork(Launcher& launcher, const ip::tcp::endpoint& ep); ~ServerNetwork(); /// Starts and runs the connection to the server. @@ -46,4 +46,6 @@ class ServerNetwork { ip::tcp::endpoint m_tcp_ep; ip::udp::endpoint m_udp_ep; + + Launcher& launcher; };