From e7503333e1a71fab0c97315ae0a8ac1388f10d14 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 24 Jul 2024 14:17:40 -0400 Subject: Save analysis uses remote location for non-counting panels --- src/area_popup.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/area_popup.cpp') diff --git a/src/area_popup.cpp b/src/area_popup.cpp index b18ba62..8d6487e 100644 --- a/src/area_popup.cpp +++ b/src/area_popup.cpp @@ -55,7 +55,7 @@ void AreaPopup::UpdateIndicators() { const Location& location = map_area.locations.at(section_id); if (tracker_panel->IsPanelsMode()) { - if (!location.panel) { + if (!location.single_panel) { continue; } } else { @@ -117,12 +117,12 @@ void AreaPopup::UpdateIndicators() { if (IsLocationWinCondition(location)) { checked = AP_HasReachedGoal(); } else if (tracker_panel->IsPanelsMode()) { - checked = location.panel && std::any_of( - location.panels.begin(), location.panels.end(), - [tracker_panel](int panel_id) { - const Panel& panel = GD_GetPanel(panel_id); - return tracker_panel->GetSolvedPanels().contains(panel.nodepath); - }); + const Panel& panel = GD_GetPanel(*location.single_panel); + if (panel.non_counting) { + checked = AP_HasCheckedGameLocation(location.ap_location_id); + } else { + checked = tracker_panel->GetSolvedPanels().contains(panel.nodepath); + } } else { checked = AP_HasCheckedGameLocation(location.ap_location_id) || -- cgit 1.4.1