diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-07-17 14:07:35 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2024-07-17 14:07:35 -0400 |
| commit | 52657e9eaa7520a841f0eb384472dbde6522e748 (patch) | |
| tree | 7921886587a15c5f288da5e4c5433435ad37a2e3 /src | |
| parent | 534e0aae81261990c1160378a085e2aeac9a6b7a (diff) | |
| download | lingo-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')
| -rw-r--r-- | src/tracker_state.cpp | 14 |
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 | } |
