diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp index 9b1f01fc2..3800477ed 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp @@ -179,7 +179,7 @@ bool hideSaved = false; bool hideCollected = false; bool showHidden = true; bool mystery = false; -bool showLogicTooltip = false; +bool showLogicButton = false; bool enableAvailableChecks = false; bool onlyShowAvailable = false; @@ -968,7 +968,7 @@ void CheckTrackerWindow::DrawElement() { hideCollected = CVarGetInteger(CVAR_TRACKER_CHECK("Collected.Hide"), 0); showHidden = CVarGetInteger(CVAR_TRACKER_CHECK("ShowHidden"), 0); mystery = CVarGetInteger(CVAR_RANDOMIZER_ENHANCEMENT("MysteriousShuffle"), 0); - showLogicTooltip = CVarGetInteger(CVAR_TRACKER_CHECK("ShowLogic"), 0); + showLogicButton = CVarGetInteger(CVAR_TRACKER_CHECK("ShowLogic"), 0); enableAvailableChecks = CVarGetInteger(CVAR_TRACKER_CHECK("EnableAvailableChecks"), 0); onlyShowAvailable = CVarGetInteger(CVAR_TRACKER_CHECK("OnlyShowAvailable"), 0); @@ -1916,17 +1916,7 @@ void DrawLocation(RandomizerCheck rc) { ImGui::PopStyleColor(); } - if (showLogicTooltip) { - for (auto& locationInRegion : areaTable[itemLoc->GetParentRegionKey()].locations) { - if (locationInRegion.GetLocation() == rc) { - std::string conditionStr = locationInRegion.GetConditionStr(); - if (conditionStr != "true") { - UIWidgets::Tooltip(conditionStr.c_str()); - } - break; - } - } - + if (showLogicButton && enableAvailableChecks) { ImGui::SameLine(); if (ImGui::Button((std::string(ICON_FA_COGS) + "##" + std::to_string(rc)).c_str())) { LogicTrackerWindow::ShowRandomizerCheck(rc); @@ -2159,10 +2149,6 @@ void CheckTrackerSettingsWindow::DrawElement() { alwaysShowGS = !alwaysShowGS; UpdateFilters(); } - UIWidgets::CVarCheckbox("Show Logic", CVAR_TRACKER_CHECK("ShowLogic"), - UIWidgets::CheckboxOptions() - .Tooltip("If enabled, will show a check's logic when hovering over it.") - .Color(THEME_COLOR)); ImGui::BeginDisabled(CVarGetInteger(CVAR_SETTING("DisableChanges"), 0)); if (UIWidgets::CVarCheckbox("Enable Available Checks", CVAR_TRACKER_CHECK("EnableAvailableChecks"), UIWidgets::CheckboxOptions() @@ -2172,6 +2158,12 @@ void CheckTrackerSettingsWindow::DrawElement() { enableAvailableChecks = CVarGetInteger(CVAR_TRACKER_CHECK("EnableAvailableChecks"), 0); RecalculateAvailableChecks(); } + if (enableAvailableChecks) { + UIWidgets::CVarCheckbox("Show Logic", CVAR_TRACKER_CHECK("ShowLogic"), + UIWidgets::CheckboxOptions() + .Tooltip("If enabled, will add a button to show a check's logic.") + .Color(THEME_COLOR)); + } ImGui::EndDisabled(); // Filtering settings