diff options
-rw-r--r-- | src/ap_state.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/ap_state.cpp b/src/ap_state.cpp index 0f2246b..6c4e42d 100644 --- a/src/ap_state.cpp +++ b/src/ap_state.cpp | |||
@@ -45,6 +45,7 @@ struct APState { | |||
45 | bool connected = false; | 45 | bool connected = false; |
46 | bool has_connection_result = false; | 46 | bool has_connection_result = false; |
47 | 47 | ||
48 | std::string data_storage_prefix; | ||
48 | std::list<std::string> tracked_data_storage_keys; | 49 | std::list<std::string> tracked_data_storage_keys; |
49 | 50 | ||
50 | std::map<int64_t, int> inventory; | 51 | std::map<int64_t, int> inventory; |
@@ -201,6 +202,8 @@ struct APState { | |||
201 | tracker_frame->SetStatusMessage("Connected to Archipelago!"); | 202 | tracker_frame->SetStatusMessage("Connected to Archipelago!"); |
202 | TrackerLog("Connected to Archipelago!"); | 203 | TrackerLog("Connected to Archipelago!"); |
203 | 204 | ||
205 | data_storage_prefix = | ||
206 | "Lingo_" + std::to_string(apclient->get_player_number()) + "_"; | ||
204 | door_shuffle_mode = slot_data["shuffle_doors"].get<DoorShuffleMode>(); | 207 | door_shuffle_mode = slot_data["shuffle_doors"].get<DoorShuffleMode>(); |
205 | color_shuffle = slot_data["shuffle_colors"].get<bool>(); | 208 | color_shuffle = slot_data["shuffle_colors"].get<bool>(); |
206 | painting_shuffle = slot_data["shuffle_paintings"].get<bool>(); | 209 | painting_shuffle = slot_data["shuffle_paintings"].get<bool>(); |
@@ -222,8 +225,13 @@ struct APState { | |||
222 | 225 | ||
223 | RefreshTracker(); | 226 | RefreshTracker(); |
224 | 227 | ||
225 | apclient->Get(tracked_data_storage_keys); | 228 | std::list<std::string> corrected_keys; |
226 | apclient->SetNotify(tracked_data_storage_keys); | 229 | for (const std::string& key : tracked_data_storage_keys) { |
230 | corrected_keys.push_back(data_storage_prefix + key); | ||
231 | } | ||
232 | |||
233 | apclient->Get(corrected_keys); | ||
234 | apclient->SetNotify(corrected_keys); | ||
227 | }); | 235 | }); |
228 | 236 | ||
229 | apclient->set_slot_refused_handler( | 237 | apclient->set_slot_refused_handler( |
@@ -363,7 +371,7 @@ struct APState { | |||
363 | } | 371 | } |
364 | 372 | ||
365 | bool HasAchievement(const std::string& name) { | 373 | bool HasAchievement(const std::string& name) { |
366 | std::string key = "Achievement|" + name; | 374 | std::string key = data_storage_prefix + "Achievement|" + name; |
367 | return data_storage.count(key) && data_storage.at(key); | 375 | return data_storage.count(key) && data_storage.at(key); |
368 | } | 376 | } |
369 | 377 | ||