Cleanup party.cpp
This commit is contained in:
parent
4b7291cfb0
commit
03d0c384f9
@ -208,28 +208,8 @@ namespace party
|
|||||||
const auto address = *reinterpret_cast<uint64_t*>(0x1453DABB8_g) + (0x25780 * local_client_num) + 0x10;
|
const auto address = *reinterpret_cast<uint64_t*>(0x1453DABB8_g) + (0x25780 * local_client_num) + 0x10;
|
||||||
return *reinterpret_cast<game::netadr_t*>(address);
|
return *reinterpret_cast<game::netadr_t*>(address);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void query_server(const game::netadr_t& host, query_callback callback)
|
void handle_info_response(const game::netadr_t& target, const network::data_view& data)
|
||||||
{
|
|
||||||
server_query query{};
|
|
||||||
query.sent = false;
|
|
||||||
query.host = host;
|
|
||||||
query.callback = std::move(callback);
|
|
||||||
|
|
||||||
get_server_queries().access([&](std::vector<server_query>& server_queries)
|
|
||||||
{
|
|
||||||
server_queries.emplace_back(std::move(query));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
struct component final : client_component
|
|
||||||
{
|
|
||||||
void post_unpack() override
|
|
||||||
{
|
|
||||||
utils::hook::jump(0x141EE6030_g, connect_stub);
|
|
||||||
|
|
||||||
network::on("infoResponse", [](const game::netadr_t& target, const network::data_view& data)
|
|
||||||
{
|
{
|
||||||
bool found_query = false;
|
bool found_query = false;
|
||||||
server_query query{};
|
server_query query{};
|
||||||
@ -257,9 +237,9 @@ namespace party
|
|||||||
|
|
||||||
query.callback(true, query.host, info, static_cast<uint32_t>(ping_ms));
|
query.callback(true, query.host, info, static_cast<uint32_t>(ping_ms));
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
scheduler::loop([]
|
void cleanup_queried_servers()
|
||||||
{
|
{
|
||||||
std::vector<server_query> removed_queries{};
|
std::vector<server_query> removed_queries{};
|
||||||
|
|
||||||
@ -297,7 +277,30 @@ namespace party
|
|||||||
{
|
{
|
||||||
query.callback(false, query.host, empty, 0);
|
query.callback(false, query.host, empty, 0);
|
||||||
}
|
}
|
||||||
}, scheduler::async, 200ms);
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void query_server(const game::netadr_t& host, query_callback callback)
|
||||||
|
{
|
||||||
|
server_query query{};
|
||||||
|
query.sent = false;
|
||||||
|
query.host = host;
|
||||||
|
query.callback = std::move(callback);
|
||||||
|
|
||||||
|
get_server_queries().access([&](std::vector<server_query>& server_queries)
|
||||||
|
{
|
||||||
|
server_queries.emplace_back(std::move(query));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
struct component final : client_component
|
||||||
|
{
|
||||||
|
void post_unpack() override
|
||||||
|
{
|
||||||
|
utils::hook::jump(0x141EE6030_g, &connect_stub);
|
||||||
|
|
||||||
|
network::on("infoResponse", handle_info_response);
|
||||||
|
scheduler::loop(cleanup_queried_servers, scheduler::async, 200ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
void pre_destroy() override
|
void pre_destroy() override
|
||||||
|
Loading…
Reference in New Issue
Block a user