diff --git a/src/Menu.cpp b/src/Menu.cpp index 6d2ffafdb..fff9f5218 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -498,17 +498,25 @@ void Menu::DrawSettings() menuList.push_back("Core Features"s); std::ranges::copy( sortedFeatureList | std::ranges::views::filter([](Feature* feat) { - return feat->IsCore(); + return feat->IsCore() && feat->loaded; }), std::back_inserter(menuList)); menuList.push_back("Features"s); std::ranges::copy( sortedFeatureList | std::ranges::views::filter([](Feature* feat) { - return !feat->IsCore(); + return !feat->IsCore() && feat->loaded; }), std::back_inserter(menuList)); + auto unloadedFeatures = sortedFeatureList | std::ranges::views::filter([](Feature* feat) { + return !feat->loaded; + }); + if (std::ranges::distance(unloadedFeatures) != 0) { + menuList.push_back("Unloaded Features"s); + std::ranges::copy(unloadedFeatures, std::back_inserter(menuList)); + } + ImGui::TableNextColumn(); ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4());