From e290161d58c98e73ea185855e79efad19cb111a2 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 8 Mar 2025 00:29:17 -0500 Subject: Added postgame detection --- src/ap_state.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/ap_state.cpp') diff --git a/src/ap_state.cpp b/src/ap_state.cpp index 2236d6a..cbe622a 100644 --- a/src/ap_state.cpp +++ b/src/ap_state.cpp @@ -82,6 +82,7 @@ struct APState { bool pilgrimage_allows_paintings = false; SunwarpAccess sunwarp_access = kSUNWARP_ACCESS_NORMAL; bool sunwarp_shuffle = false; + bool postgame_shuffle = true; std::map painting_mapping; std::set painting_codomain; @@ -146,6 +147,7 @@ struct APState { sunwarp_access = kSUNWARP_ACCESS_NORMAL; sunwarp_shuffle = false; sunwarp_mapping.clear(); + postgame_shuffle = true; } apclient->set_room_info_handler( @@ -470,6 +472,8 @@ struct APState { : kSUNWARP_ACCESS_NORMAL; sunwarp_shuffle = slot_data.contains("shuffle_sunwarps") && slot_data["shuffle_sunwarps"].get() == 1; + postgame_shuffle = slot_data.contains("shuffle_postgame") && + slot_data["shuffle_postgame"].get() == 1; if (painting_shuffle && slot_data.contains("painting_entrance_to_exit")) { painting_mapping.clear(); @@ -798,6 +802,8 @@ std::map AP_GetSunwarpMapping() { return GetState().sunwarp_mapping; } +bool AP_IsPostgameShuffle() { return GetState().postgame_shuffle; } + bool AP_HasReachedGoal() { return GetState().HasReachedGoal(); } std::optional> AP_GetPlayerPosition() { -- cgit 1.4.1