about summary refs log tree commit diff stats
path: root/src/tracker_panel.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-03-08 00:29:17 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2025-03-08 00:29:17 -0500
commite290161d58c98e73ea185855e79efad19cb111a2 (patch)
treea03d0e3822b19a1c57dd83d1309ab32814d670fe /src/tracker_panel.cpp
parent4fa8f5b6c933dcbab5940d39a515937e86e9d280 (diff)
downloadlingo-ap-tracker-e290161d58c98e73ea185855e79efad19cb111a2.tar.gz
lingo-ap-tracker-e290161d58c98e73ea185855e79efad19cb111a2.tar.bz2
lingo-ap-tracker-e290161d58c98e73ea185855e79efad19cb111a2.zip
Added postgame detection
Diffstat (limited to 'src/tracker_panel.cpp')
-rw-r--r--src/tracker_panel.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/tracker_panel.cpp b/src/tracker_panel.cpp index 81b58cc..b4e6697 100644 --- a/src/tracker_panel.cpp +++ b/src/tracker_panel.cpp
@@ -203,7 +203,9 @@ void TrackerPanel::Redraw() {
203 203
204 for (AreaIndicator &area : areas_) { 204 for (AreaIndicator &area : areas_) {
205 const MapArea &map_area = GD_GetMapArea(area.area_id); 205 const MapArea &map_area = GD_GetMapArea(area.area_id);
206 if (panels_mode_) { 206 if (IsAreaPostgame(area.area_id)) {
207 area.active = false;
208 } else if (panels_mode_) {
207 area.active = map_area.has_single_panel; 209 area.active = map_area.has_single_panel;
208 } else if (!AP_IsLocationVisible(map_area.classification) && 210 } else if (!AP_IsLocationVisible(map_area.classification) &&
209 !(map_area.hunt && GetTrackerConfig().show_hunt_panels) && 211 !(map_area.hunt && GetTrackerConfig().show_hunt_panels) &&
@@ -221,7 +223,9 @@ void TrackerPanel::Redraw() {
221 bool has_unreachable_unchecked = false; 223 bool has_unreachable_unchecked = false;
222 for (const Location &section : map_area.locations) { 224 for (const Location &section : map_area.locations) {
223 bool has_unchecked = false; 225 bool has_unchecked = false;
224 if (IsLocationWinCondition(section)) { 226 if (IsLocationPostgame(section.ap_location_id)) {
227 // Nope.
228 } else if (IsLocationWinCondition(section)) {
225 has_unchecked = !AP_HasReachedGoal(); 229 has_unchecked = !AP_HasReachedGoal();
226 } else if (panels_mode_) { 230 } else if (panels_mode_) {
227 if (section.single_panel) { 231 if (section.single_panel) {
@@ -249,6 +253,10 @@ void TrackerPanel::Redraw() {
249 253
250 if (AP_IsPaintingShuffle() && !panels_mode_) { 254 if (AP_IsPaintingShuffle() && !panels_mode_) {
251 for (int painting_id : map_area.paintings) { 255 for (int painting_id : map_area.paintings) {
256 if (IsPaintingPostgame(painting_id)) {
257 continue;
258 }
259
252 const PaintingExit &painting = GD_GetPaintingExit(painting_id); 260 const PaintingExit &painting = GD_GetPaintingExit(painting_id);
253 bool reachable = IsPaintingReachable(painting_id); 261 bool reachable = IsPaintingReachable(painting_id);
254 if (!reachable || !AP_IsPaintingChecked(painting.internal_id)) { 262 if (!reachable || !AP_IsPaintingChecked(painting.internal_id)) {