about summary refs log tree commit diff stats
path: root/src/tracker_state.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-07-17 14:07:35 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2024-07-17 14:07:35 -0400
commit52657e9eaa7520a841f0eb384472dbde6522e748 (patch)
tree7921886587a15c5f288da5e4c5433435ad37a2e3 /src/tracker_state.cpp
parent534e0aae81261990c1160378a085e2aeac9a6b7a (diff)
downloadlingo-ap-tracker-52657e9eaa7520a841f0eb384472dbde6522e748.tar.gz
lingo-ap-tracker-52657e9eaa7520a841f0eb384472dbde6522e748.tar.bz2
lingo-ap-tracker-52657e9eaa7520a841f0eb384472dbde6522e748.zip
Fix pilgrimage detection allowing sunwarps when shuffled
Diffstat (limited to 'src/tracker_state.cpp')
-rw-r--r--src/tracker_state.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/tracker_state.cpp b/src/tracker_state.cpp index ba615d1..bd63076 100644 --- a/src/tracker_state.cpp +++ b/src/tracker_state.cpp
@@ -180,7 +180,8 @@ class StateCalculator {
180 std::list<int> panel_boundary; 180 std::list<int> panel_boundary;
181 std::list<int> painting_boundary; 181 std::list<int> painting_boundary;
182 std::list<Exit> flood_boundary; 182 std::list<Exit> flood_boundary;
183 flood_boundary.push_back({.destination_room = options_.start}); 183 flood_boundary.push_back(
184 {.source_room = -1, .destination_room = options_.start});
184 185
185 bool reachable_changed = true; 186 bool reachable_changed = true;
186 while (reachable_changed) { 187 while (reachable_changed) {
@@ -282,12 +283,11 @@ class StateCalculator {
282 if (AP_GetSunwarpMapping().count(index)) { 283 if (AP_GetSunwarpMapping().count(index)) {
283 const SunwarpMapping& sm = AP_GetSunwarpMapping().at(index); 284 const SunwarpMapping& sm = AP_GetSunwarpMapping().at(index);
284 285
285 Exit sunwarp_exit; 286 new_boundary.push_back(
286 sunwarp_exit.destination_room = 287 {.source_room = room_exit.destination_room,
287 GD_GetRoomForSunwarp(sm.exit_index); 288 .destination_room = GD_GetRoomForSunwarp(sm.exit_index),
288 sunwarp_exit.door = GD_GetSunwarpDoors().at(sm.dots - 1); 289 .door = GD_GetSunwarpDoors().at(sm.dots - 1),
289 290 .type = EntranceType::kSunwarp});
290 new_boundary.push_back(sunwarp_exit);
291 } 291 }
292 } 292 }
293 } 293 }