diff options
Diffstat (limited to 'ap_state.cpp')
| -rw-r--r-- | ap_state.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/ap_state.cpp b/ap_state.cpp index 2c8ba0a..8400557 100644 --- a/ap_state.cpp +++ b/ap_state.cpp | |||
| @@ -56,6 +56,10 @@ void APState::Connect(std::string server, std::string player, | |||
| 56 | 56 | ||
| 57 | inventory_.clear(); | 57 | inventory_.clear(); | 
| 58 | checked_locations_.clear(); | 58 | checked_locations_.clear(); | 
| 59 | door_shuffle_mode_ = kNO_DOORS; | ||
| 60 | color_shuffle_ = false; | ||
| 61 | painting_shuffle_ = false; | ||
| 62 | painting_mapping_.clear(); | ||
| 59 | 63 | ||
| 60 | bool connected = false; | 64 | bool connected = false; | 
| 61 | bool has_connection_result = false; | 65 | bool has_connection_result = false; | 
| @@ -103,6 +107,15 @@ void APState::Connect(std::string server, std::string player, | |||
| 103 | 107 | ||
| 104 | door_shuffle_mode_ = slot_data["shuffle_doors"].get<DoorShuffleMode>(); | 108 | door_shuffle_mode_ = slot_data["shuffle_doors"].get<DoorShuffleMode>(); | 
| 105 | color_shuffle_ = slot_data["shuffle_colors"].get<bool>(); | 109 | color_shuffle_ = slot_data["shuffle_colors"].get<bool>(); | 
| 110 | painting_shuffle_ = slot_data["shuffle_paintings"].get<bool>(); | ||
| 111 | |||
| 112 | if (painting_shuffle_ && slot_data.contains("painting_entrance_to_exit")) { | ||
| 113 | painting_mapping_.clear(); | ||
| 114 | |||
| 115 | for (const auto& mapping_it : slot_data["painting_entrance_to_exit"].items()) { | ||
| 116 | painting_mapping_[mapping_it.key()] = mapping_it.value(); | ||
| 117 | } | ||
| 118 | } | ||
| 106 | 119 | ||
| 107 | connected = true; | 120 | connected = true; | 
| 108 | has_connection_result = true; | 121 | has_connection_result = true; | 
