diff --git a/BigBaseV2/src/features/looped/system/update_player_structs.cpp b/BigBaseV2/src/features/looped/system/update_player_structs.cpp index 0b88aa63..b42a95b2 100644 --- a/BigBaseV2/src/features/looped/system/update_player_structs.cpp +++ b/BigBaseV2/src/features/looped/system/update_player_structs.cpp @@ -37,12 +37,19 @@ namespace big std::sort(std::begin(players), std::end(players)); + g_temp.friend_count = 0; + g_temp.player_count = 0; g_players.clear(); for (uint8_t i = 0; i < 32; i++) { player player = players[i]; if (player.id == PLAYER::PLAYER_ID()) g_player = player; + else if (player.is_online) + if (player.is_friend) + g_temp.friend_count++; + else + g_temp.player_count++; g_players.emplace(player.id, player); } diff --git a/BigBaseV2/src/gui/windows/user_sidebar.cpp b/BigBaseV2/src/gui/windows/user_sidebar.cpp index b512bef9..377724b0 100644 --- a/BigBaseV2/src/gui/windows/user_sidebar.cpp +++ b/BigBaseV2/src/gui/windows/user_sidebar.cpp @@ -24,13 +24,15 @@ namespace big ImGui::Separator(); - if (ImGui::TreeNode("Friends")) + char title[64]; + sprintf(title, "Friends (%d)###friend_lists", g_temp.friend_count); + if (ImGui::TreeNode(title)) { ImGui::Unindent(); bool friendInLobby = false; - for (auto pair : g_players) + for (auto& pair : g_players) { player player = pair.second; @@ -56,11 +58,12 @@ namespace big ImGui::Separator(); } - if (ImGui::TreeNode("Players")) + sprintf(title, "Players (%d)###player_lists", g_temp.player_count); + if (ImGui::TreeNode(title)) { ImGui::Unindent(); - for (auto pair : g_players) + for (auto& pair : g_players) { player player = pair.second; diff --git a/BigBaseV2/src/structs/temp.hpp b/BigBaseV2/src/structs/temp.hpp index d7f721c6..d93f39ee 100644 --- a/BigBaseV2/src/structs/temp.hpp +++ b/BigBaseV2/src/structs/temp.hpp @@ -21,6 +21,9 @@ namespace big int character_slot = 0; + int friend_count = 0; + int player_count = 0; + int set_level = 0; int spoofed_rank = 0; int teleport_location = 0;