diff --git a/src/client/component/dedicated_info.cpp b/src/client/component/dedicated_info.cpp index 382e8c36..55973193 100644 --- a/src/client/component/dedicated_info.cpp +++ b/src/client/component/dedicated_info.cpp @@ -18,46 +18,46 @@ namespace dedicated_info } scheduler::loop([]() + { + auto* sv_running = game::Dvar_FindVar("sv_running"); + if (!sv_running || !sv_running->current.enabled) { - auto* sv_running = game::Dvar_FindVar("sv_running"); - if (!sv_running || !sv_running->current.enabled) + console::set_title("H1-Mod Dedicated Server"); + return; + } + + auto* const sv_hostname = game::Dvar_FindVar("sv_hostname"); + auto* const sv_maxclients = game::Dvar_FindVar("sv_maxclients"); + auto* const mapname = game::Dvar_FindVar("mapname"); + + auto bot_count = 0; + auto client_count = 0; + + for (auto i = 0; i < sv_maxclients->current.integer; i++) + { + auto* client = &game::mp::svs_clients[i]; + auto* self = &game::mp::g_entities[i]; + + if (client->header.state >= 1 && self && self->client) { - console::set_title("H1-Mod Dedicated Server"); - return; - } - - auto* const sv_hostname = game::Dvar_FindVar("sv_hostname"); - auto* const sv_maxclients = game::Dvar_FindVar("sv_maxclients"); - auto* const mapname = game::Dvar_FindVar("mapname"); - - auto bot_count = 0; - auto client_count = 0; - - for (auto i = 0; i < sv_maxclients->current.integer; i++) - { - auto* client = &game::mp::svs_clients[i]; - auto* self = &game::mp::g_entities[i]; - - if (client->header.state >= 1 && self && self->client) + client_count++; + if (game::SV_BotIsBot(i)) { - client_count++; - if (game::SV_BotIsBot(i)) - { - ++bot_count; - } + ++bot_count; } } + } - std::string cleaned_hostname; - cleaned_hostname.resize(static_cast(strlen(sv_hostname->current.string) + 1)); + std::string cleaned_hostname; + cleaned_hostname.resize(static_cast(strlen(sv_hostname->current.string) + 1)); - utils::string::strip(sv_hostname->current.string, cleaned_hostname.data(), - static_cast(strlen(sv_hostname->current.string)) + 1); + utils::string::strip(sv_hostname->current.string, cleaned_hostname.data(), + static_cast(strlen(sv_hostname->current.string)) + 1); - console::set_title(utils::string::va("%s on %s [%d/%d] (%d)", cleaned_hostname.data(), - mapname->current.string, client_count, - sv_maxclients->current.integer, bot_count)); - }, scheduler::pipeline::main, 1s); + console::set_title(utils::string::va("%s on %s [%d/%d] (%d)", cleaned_hostname.data(), + mapname->current.string, client_count, + sv_maxclients->current.integer, bot_count)); + }, scheduler::pipeline::main, 1s); } }; }