From 8e89e198830a0908ddd8f4c91cbc2bff08b0b32c Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 17 Sep 2023 12:42:46 -0400 Subject: Use hardcoded AP ids now --- src/tracker_state.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/tracker_state.cpp') diff --git a/src/tracker_state.cpp b/src/tracker_state.cpp index e462b29..cc19b19 100644 --- a/src/tracker_state.cpp +++ b/src/tracker_state.cpp @@ -12,7 +12,7 @@ namespace { struct TrackerState { - std::map, bool> reachability; + std::map reachability; }; enum Decision { kYes, kNo, kMaybe }; @@ -41,13 +41,13 @@ Decision IsDoorReachable_Helper(int door_id, return kYes; } else if (AP_GetDoorShuffleMode() == kSIMPLE_DOORS && !door_obj.group_name.empty()) { - return AP_HasItem(door_obj.group_name) ? kYes : kNo; + return AP_HasItem(door_obj.group_ap_item_id) ? kYes : kNo; } else { - bool has_item = AP_HasItem(door_obj.item_name); + bool has_item = AP_HasItem(door_obj.ap_item_id); if (!has_item) { for (const ProgressiveRequirement& prog_req : door_obj.progressives) { - if (AP_HasItem(prog_req.item_name, prog_req.quantity)) { + if (AP_HasItem(prog_req.ap_item_id, prog_req.quantity)) { has_item = true; break; } @@ -127,7 +127,7 @@ Decision IsPanelReachable_Helper(int panel_id, if (AP_IsColorShuffle()) { for (LingoColor color : panel_obj.colors) { - if (!AP_HasColorItem(color)) { + if (!AP_HasItem(GD_GetItemIdForColor(color))) { return kNo; } } @@ -232,16 +232,14 @@ void RecalculateReachability() { } } - GetState().reachability[{map_area.id, section_id}] = reachable; + GetState().reachability[location_section.ap_location_id] = reachable; } } } -bool IsLocationReachable(int area_id, int section_id) { - std::tuple key = {area_id, section_id}; - - if (GetState().reachability.count(key)) { - return GetState().reachability.at(key); +bool IsLocationReachable(int location_id) { + if (GetState().reachability.count(location_id)) { + return GetState().reachability.at(location_id); } else { return false; } -- cgit 1.4.1