diff --git a/soh/soh/GameMenuBar.cpp b/soh/soh/GameMenuBar.cpp index 47a1f3a9d..798abcde3 100644 --- a/soh/soh/GameMenuBar.cpp +++ b/soh/soh/GameMenuBar.cpp @@ -540,17 +540,23 @@ namespace GameMenuBar { auto audioBackends = SohImGui::GetAvailableAudioBackends(); auto currentAudioBackend = SohImGui::GetCurrentAudioBackend(); + if (audioBackends.size() <= 1) { + ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); + ImGui::PushStyleVar(ImGuiStyleVar_Alpha, ImGui::GetStyle().Alpha * 0.5f); + } if (ImGui::BeginCombo("##AApi", currentAudioBackend.second)) { - if (audioBackends.size() > 1) { - for (uint8_t i = 0; i < audioBackends.size(); i++) { - if (ImGui::Selectable(audioBackends[i].second, audioBackends[i] == currentAudioBackend)) { - SohImGui::SetCurrentAudioBackend(i, audioBackends[i]); - } + for (uint8_t i = 0; i < audioBackends.size(); i++) { + if (ImGui::Selectable(audioBackends[i].second, audioBackends[i] == currentAudioBackend)) { + SohImGui::SetCurrentAudioBackend(i, audioBackends[i]); } } ImGui::EndCombo(); } + if (audioBackends.size() <= 1) { + ImGui::PopItemFlag(); + ImGui::PopStyleVar(1); + } ImGui::EndMenu(); } @@ -662,17 +668,23 @@ namespace GameMenuBar { auto renderingBackends = SohImGui::GetAvailableRenderingBackends(); auto currentRenderingBackend = SohImGui::GetCurrentRenderingBackend(); + if (renderingBackends.size() <= 1) { + ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); + ImGui::PushStyleVar(ImGuiStyleVar_Alpha, ImGui::GetStyle().Alpha * 0.5f); + } if (ImGui::BeginCombo("##RApi", currentRenderingBackend.second)) { - if (renderingBackends.size() > 1) { - for (uint8_t i = 0; i < renderingBackends.size(); i++) { - if (ImGui::Selectable(renderingBackends[i].second, renderingBackends[i] == currentRenderingBackend)) { - SohImGui::SetCurrentRenderingBackend(i, renderingBackends[i]); - } + for (uint8_t i = 0; i < renderingBackends.size(); i++) { + if (ImGui::Selectable(renderingBackends[i].second, renderingBackends[i] == currentRenderingBackend)) { + SohImGui::SetCurrentRenderingBackend(i, renderingBackends[i]); } } ImGui::EndCombo(); } + if (renderingBackends.size() <= 1) { + ImGui::PopItemFlag(); + ImGui::PopStyleVar(1); + } EXPERIMENTAL();