Merge pull request #650 from diamante0018/main

maint(server_list): cleanup
This commit is contained in:
Maurice Heumann 2023-05-05 17:52:11 +02:00 committed by GitHub
commit 7e27007b72
2 changed files with 19 additions and 17 deletions

View File

@ -42,7 +42,7 @@ DataSources.LobbyServer = {
SetModelValue(serverModel, "modName", serverInfo.modName) SetModelValue(serverModel, "modName", serverInfo.modName)
SetModelValue(serverModel, "mapName", serverInfo.map) SetModelValue(serverModel, "mapName", serverInfo.map)
SetModelValue(serverModel, "desc", serverInfo.desc) SetModelValue(serverModel, "desc", serverInfo.desc)
-- Changed the client count to be the actual player count -- Change the client count to be the actual player count
local clientCount = serverInfo.playerCount - serverInfo.botCount local clientCount = serverInfo.playerCount - serverInfo.botCount
SetModelValue(serverModel, "clientCount", clientCount) SetModelValue(serverModel, "clientCount", clientCount)
SetModelValue(serverModel, "maxClients", serverInfo.maxPlayers) SetModelValue(serverModel, "maxClients", serverInfo.maxPlayers)
@ -54,7 +54,7 @@ DataSources.LobbyServer = {
SetModelValue(serverModel, "ranked", serverInfo.ranked) SetModelValue(serverModel, "ranked", serverInfo.ranked)
SetModelValue(serverModel, "hardcore", serverInfo.hardcore) SetModelValue(serverModel, "hardcore", serverInfo.hardcore)
SetModelValue(serverModel, "zombies", serverInfo.zombies) SetModelValue(serverModel, "zombies", serverInfo.zombies)
-- Added the bot count -- Add the bot count
SetModelValue(serverModel, "botCount", serverInfo.botCount) SetModelValue(serverModel, "botCount", serverInfo.botCount)
return serverModel return serverModel
else else

View File

@ -16,7 +16,7 @@ namespace server_list
{ {
namespace namespace
{ {
utils::hook::detour lua_serverinfo_to_table_hook; utils::hook::detour lua_server_info_to_table_hook;
struct state struct state
{ {
@ -80,14 +80,14 @@ namespace server_list
callback(true, result); callback(true, result);
} }
void lua_serverinfo_to_table_stub(game::hks::lua_State* state, game::ServerInfo serverInfo, int index) void lua_server_info_to_table_stub(game::hks::lua_State* state, game::ServerInfo server_info, int index)
{ {
lua_serverinfo_to_table_hook.invoke(state, serverInfo, index); lua_server_info_to_table_hook.invoke(state, server_info, index);
if (state) if (state)
{ {
auto botCount = atoi(game::Info_ValueForKey(serverInfo.tags, "bots")); const auto bot_count = atoi(game::Info_ValueForKey(server_info.tags, "bots"));
game::Lua_SetTableInt("botCount", botCount, state); game::Lua_SetTableInt("botCount", bot_count, state);
} }
} }
@ -98,13 +98,14 @@ namespace server_list
void write_favorite_servers() void write_favorite_servers()
{ {
favorite_servers.access([&](std::unordered_set<game::netadr_t>& servers) favorite_servers.access([](const std::unordered_set<game::netadr_t>& servers)
{ {
std::string servers_buffer = ""; std::string servers_buffer{};
for (auto itr : servers) for (const auto& itr : servers)
{ {
servers_buffer.append(utils::string::va("%i.%i.%i.%i:%u\n", itr.ipv4.a, itr.ipv4.b, itr.ipv4.c, itr.ipv4.d, itr.port)); servers_buffer.append(utils::string::va("%i.%i.%i.%i:%hu\n", itr.ipv4.a, itr.ipv4.b, itr.ipv4.c, itr.ipv4.d, itr.port));
} }
utils::io::write_file(get_favorite_servers_file_path(), servers_buffer); utils::io::write_file(get_favorite_servers_file_path(), servers_buffer);
}); });
} }
@ -120,11 +121,12 @@ namespace server_list
favorite_servers.access([&path](std::unordered_set<game::netadr_t>& servers) favorite_servers.access([&path](std::unordered_set<game::netadr_t>& servers)
{ {
servers.clear(); servers.clear();
std::string filedata;
if (utils::io::read_file(path, &filedata)) std::string data;
if (utils::io::read_file(path, &data))
{ {
auto srv = utils::string::split(filedata, '\n'); const auto srv = utils::string::split(data, '\n');
for (auto server_address : srv) for (const auto& server_address : srv)
{ {
auto server = network::address_from_string(server_address); auto server = network::address_from_string(server_address);
servers.insert(server); servers.insert(server);
@ -197,7 +199,7 @@ namespace server_list
{ {
master_state.access([&](state& s) master_state.access([&](state& s)
{ {
handle_server_list_response(target, data, s); handle_server_list_response(target, data, s);
}); });
}); });
@ -222,7 +224,7 @@ namespace server_list
}); });
}, scheduler::async, 200ms); }, scheduler::async, 200ms);
lua_serverinfo_to_table_hook.create(0x141F1FD10_g, lua_serverinfo_to_table_stub); lua_server_info_to_table_hook.create(0x141F1FD10_g, lua_server_info_to_table_stub);
scheduler::once([] scheduler::once([]
{ {