diff options
Diffstat (limited to 'src/ap_state.cpp')
-rw-r--r-- | src/ap_state.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ap_state.cpp b/src/ap_state.cpp index 01ee065..c3e7f5b 100644 --- a/src/ap_state.cpp +++ b/src/ap_state.cpp | |||
@@ -71,6 +71,7 @@ struct APState { | |||
71 | DoorShuffleMode door_shuffle_mode = kNO_DOORS; | 71 | DoorShuffleMode door_shuffle_mode = kNO_DOORS; |
72 | bool group_doors = false; | 72 | bool group_doors = false; |
73 | bool color_shuffle = false; | 73 | bool color_shuffle = false; |
74 | PanelShuffleMode panel_shuffle_mode = kNO_PANELS; | ||
74 | bool painting_shuffle = false; | 75 | bool painting_shuffle = false; |
75 | int mastery_requirement = 21; | 76 | int mastery_requirement = 21; |
76 | int level_2_requirement = 223; | 77 | int level_2_requirement = 223; |
@@ -133,6 +134,7 @@ struct APState { | |||
133 | door_shuffle_mode = kNO_DOORS; | 134 | door_shuffle_mode = kNO_DOORS; |
134 | group_doors = false; | 135 | group_doors = false; |
135 | color_shuffle = false; | 136 | color_shuffle = false; |
137 | panel_shuffle_mode = kNO_PANELS; | ||
136 | painting_shuffle = false; | 138 | painting_shuffle = false; |
137 | painting_mapping.clear(); | 139 | painting_mapping.clear(); |
138 | painting_codomain.clear(); | 140 | painting_codomain.clear(); |
@@ -469,6 +471,7 @@ struct APState { | |||
469 | } | 471 | } |
470 | } | 472 | } |
471 | color_shuffle = slot_data["shuffle_colors"].get<int>() == 1; | 473 | color_shuffle = slot_data["shuffle_colors"].get<int>() == 1; |
474 | panel_shuffle_mode = slot_data["shuffle_panels"].get<PanelShuffleMode>(); | ||
472 | painting_shuffle = slot_data["shuffle_paintings"].get<int>() == 1; | 475 | painting_shuffle = slot_data["shuffle_paintings"].get<int>() == 1; |
473 | mastery_requirement = slot_data["mastery_achievements"].get<int>(); | 476 | mastery_requirement = slot_data["mastery_achievements"].get<int>(); |
474 | level_2_requirement = slot_data["level_2_requirement"].get<int>(); | 477 | level_2_requirement = slot_data["level_2_requirement"].get<int>(); |
@@ -762,6 +765,12 @@ int AP_GetLevel2Requirement() { | |||
762 | return GetState().level_2_requirement; | 765 | return GetState().level_2_requirement; |
763 | } | 766 | } |
764 | 767 | ||
768 | LocationChecks AP_GetLocationsChecks() { | ||
769 | std::lock_guard state_guard(GetState().state_mutex); | ||
770 | |||
771 | return GetState().location_checks; | ||
772 | } | ||
773 | |||
765 | bool AP_IsLocationVisible(int classification) { | 774 | bool AP_IsLocationVisible(int classification) { |
766 | std::lock_guard state_guard(GetState().state_mutex); | 775 | std::lock_guard state_guard(GetState().state_mutex); |
767 | 776 | ||
@@ -789,6 +798,12 @@ bool AP_IsLocationVisible(int classification) { | |||
789 | return (world_state & classification); | 798 | return (world_state & classification); |
790 | } | 799 | } |
791 | 800 | ||
801 | PanelShuffleMode AP_GetPanelShuffleMode() { | ||
802 | std::lock_guard state_guard(GetState().state_mutex); | ||
803 | |||
804 | return GetState().panel_shuffle_mode; | ||
805 | } | ||
806 | |||
792 | VictoryCondition AP_GetVictoryCondition() { | 807 | VictoryCondition AP_GetVictoryCondition() { |
793 | std::lock_guard state_guard(GetState().state_mutex); | 808 | std::lock_guard state_guard(GetState().state_mutex); |
794 | 809 | ||