diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-05-17 12:10:41 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-05-17 12:10:41 -0400 |
commit | 92b91d6703c96f1724168e5e4845cfba6c802de4 (patch) | |
tree | 3292c35e2e153828bb1ef90ab6208757aaa84bf5 | |
parent | f6c029a2e5cef66b24ec1f4b989bae03ed841f44 (diff) | |
download | lingo-ap-tracker-future.tar.gz lingo-ap-tracker-future.tar.bz2 lingo-ap-tracker-future.zip |
Add static painting logic future
This goes alongside https://github.com/ArchipelagoMW/Archipelago/pull/5005, but it can't be merged into main until an AP release containing that PR happens.
-rwxr-xr-x | assets/areas.yaml | 2 | ||||
-rw-r--r-- | src/game_data.cpp | 4 | ||||
-rw-r--r-- | src/game_data.h | 1 | ||||
-rw-r--r-- | src/tracker_state.cpp | 7 |
4 files changed, 11 insertions, 3 deletions
diff --git a/assets/areas.yaml b/assets/areas.yaml index cbcf23a..a615e2c 100755 --- a/assets/areas.yaml +++ b/assets/areas.yaml | |||
@@ -279,6 +279,8 @@ | |||
279 | map: [1368, 2103] | 279 | map: [1368, 2103] |
280 | Art Gallery: | 280 | Art Gallery: |
281 | map: [2474, 1366] | 281 | map: [2474, 1366] |
282 | Art Gallery (First Floor): | ||
283 | fold_into: Art Gallery | ||
282 | Art Gallery (Second Floor): | 284 | Art Gallery (Second Floor): |
283 | fold_into: Art Gallery | 285 | fold_into: Art Gallery |
284 | Art Gallery (Third Floor): | 286 | Art Gallery (Third Floor): |
diff --git a/src/game_data.cpp b/src/game_data.cpp index 94b9888..588ffc8 100644 --- a/src/game_data.cpp +++ b/src/game_data.cpp | |||
@@ -127,6 +127,10 @@ struct GameData { | |||
127 | exit_obj.type = EntranceType::kCrossroadsRoofAccess; | 127 | exit_obj.type = EntranceType::kCrossroadsRoofAccess; |
128 | } | 128 | } |
129 | 129 | ||
130 | if (option["static_painting"] && option["static_painting"].as<bool>()) { | ||
131 | exit_obj.type = EntranceType::kStaticPainting; | ||
132 | } | ||
133 | |||
130 | rooms_[from_room_id].exits.push_back(exit_obj); | 134 | rooms_[from_room_id].exits.push_back(exit_obj); |
131 | }; | 135 | }; |
132 | 136 | ||
diff --git a/src/game_data.h b/src/game_data.h index ac911e5..8d3db4b 100644 --- a/src/game_data.h +++ b/src/game_data.h | |||
@@ -31,6 +31,7 @@ enum class EntranceType { | |||
31 | kWarp, | 31 | kWarp, |
32 | kPilgrimage, | 32 | kPilgrimage, |
33 | kCrossroadsRoofAccess, | 33 | kCrossroadsRoofAccess, |
34 | kStaticPainting, | ||
34 | }; | 35 | }; |
35 | 36 | ||
36 | enum class DoorType { | 37 | enum class DoorType { |
diff --git a/src/tracker_state.cpp b/src/tracker_state.cpp index bf2725a..674f68a 100644 --- a/src/tracker_state.cpp +++ b/src/tracker_state.cpp | |||
@@ -342,7 +342,7 @@ class StateCalculator { | |||
342 | new_boundary.push_back( | 342 | new_boundary.push_back( |
343 | {.source_room = room_exit.destination_room, | 343 | {.source_room = room_exit.destination_room, |
344 | .destination_room = GD_GetRoomByName("Color Hallways"), | 344 | .destination_room = GD_GetRoomByName("Color Hallways"), |
345 | .type = EntranceType::kPainting}); | 345 | .type = EntranceType::kStaticPainting}); |
346 | } | 346 | } |
347 | 347 | ||
348 | if (AP_IsPilgrimageEnabled()) { | 348 | if (AP_IsPilgrimageEnabled()) { |
@@ -368,7 +368,7 @@ class StateCalculator { | |||
368 | .destination_room = GD_GetRoomByName("Pilgrim Antechamber"), | 368 | .destination_room = GD_GetRoomByName("Pilgrim Antechamber"), |
369 | .door = | 369 | .door = |
370 | GD_GetDoorByName("Pilgrim Antechamber - Sun Painting"), | 370 | GD_GetDoorByName("Pilgrim Antechamber - Sun Painting"), |
371 | .type = EntranceType::kPainting}); | 371 | .type = EntranceType::kStaticPainting}); |
372 | } | 372 | } |
373 | } | 373 | } |
374 | 374 | ||
@@ -650,7 +650,8 @@ class StateCalculator { | |||
650 | !AP_DoesPilgrimageAllowRoofAccess()) { | 650 | !AP_DoesPilgrimageAllowRoofAccess()) { |
651 | return kNo; | 651 | return kNo; |
652 | } | 652 | } |
653 | if (room_exit.type == EntranceType::kPainting && | 653 | if ((room_exit.type == EntranceType::kPainting || |
654 | room_exit.type == EntranceType::kStaticPainting) && | ||
654 | !AP_DoesPilgrimageAllowPaintings()) { | 655 | !AP_DoesPilgrimageAllowPaintings()) { |
655 | return kNo; | 656 | return kNo; |
656 | } | 657 | } |