diff options
Diffstat (limited to 'src/ap_state.cpp')
| -rw-r--r-- | src/ap_state.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
| 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 { | |||
| 82 | bool pilgrimage_allows_paintings = false; | 82 | bool pilgrimage_allows_paintings = false; |
| 83 | SunwarpAccess sunwarp_access = kSUNWARP_ACCESS_NORMAL; | 83 | SunwarpAccess sunwarp_access = kSUNWARP_ACCESS_NORMAL; |
| 84 | bool sunwarp_shuffle = false; | 84 | bool sunwarp_shuffle = false; |
| 85 | bool postgame_shuffle = true; | ||
| 85 | 86 | ||
| 86 | std::map<std::string, std::string> painting_mapping; | 87 | std::map<std::string, std::string> painting_mapping; |
| 87 | std::set<std::string> painting_codomain; | 88 | std::set<std::string> painting_codomain; |
| @@ -146,6 +147,7 @@ struct APState { | |||
| 146 | sunwarp_access = kSUNWARP_ACCESS_NORMAL; | 147 | sunwarp_access = kSUNWARP_ACCESS_NORMAL; |
| 147 | sunwarp_shuffle = false; | 148 | sunwarp_shuffle = false; |
| 148 | sunwarp_mapping.clear(); | 149 | sunwarp_mapping.clear(); |
| 150 | postgame_shuffle = true; | ||
| 149 | } | 151 | } |
| 150 | 152 | ||
| 151 | apclient->set_room_info_handler( | 153 | apclient->set_room_info_handler( |
| @@ -470,6 +472,8 @@ struct APState { | |||
| 470 | : kSUNWARP_ACCESS_NORMAL; | 472 | : kSUNWARP_ACCESS_NORMAL; |
| 471 | sunwarp_shuffle = slot_data.contains("shuffle_sunwarps") && | 473 | sunwarp_shuffle = slot_data.contains("shuffle_sunwarps") && |
| 472 | slot_data["shuffle_sunwarps"].get<int>() == 1; | 474 | slot_data["shuffle_sunwarps"].get<int>() == 1; |
| 475 | postgame_shuffle = slot_data.contains("shuffle_postgame") && | ||
| 476 | slot_data["shuffle_postgame"].get<int>() == 1; | ||
| 473 | 477 | ||
| 474 | if (painting_shuffle && slot_data.contains("painting_entrance_to_exit")) { | 478 | if (painting_shuffle && slot_data.contains("painting_entrance_to_exit")) { |
| 475 | painting_mapping.clear(); | 479 | painting_mapping.clear(); |
| @@ -798,6 +802,8 @@ std::map<int, SunwarpMapping> AP_GetSunwarpMapping() { | |||
| 798 | return GetState().sunwarp_mapping; | 802 | return GetState().sunwarp_mapping; |
| 799 | } | 803 | } |
| 800 | 804 | ||
| 805 | bool AP_IsPostgameShuffle() { return GetState().postgame_shuffle; } | ||
| 806 | |||
| 801 | bool AP_HasReachedGoal() { return GetState().HasReachedGoal(); } | 807 | bool AP_HasReachedGoal() { return GetState().HasReachedGoal(); } |
| 802 | 808 | ||
| 803 | std::optional<std::tuple<int, int>> AP_GetPlayerPosition() { | 809 | std::optional<std::tuple<int, int>> AP_GetPlayerPosition() { |
