diff options
Diffstat (limited to 'src/ap_state.h')
-rw-r--r-- | src/ap_state.h | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/ap_state.h b/src/ap_state.h index 2da0b8e..a757d89 100644 --- a/src/ap_state.h +++ b/src/ap_state.h | |||
@@ -26,6 +26,8 @@ enum LocationChecks { | |||
26 | kPANELSANITY = 2 | 26 | kPANELSANITY = 2 |
27 | }; | 27 | }; |
28 | 28 | ||
29 | enum PanelShuffleMode { kNO_PANELS = 0, kREARRANGE_PANELS = 1 }; | ||
30 | |||
29 | enum SunwarpAccess { | 31 | enum SunwarpAccess { |
30 | kSUNWARP_ACCESS_NORMAL = 0, | 32 | kSUNWARP_ACCESS_NORMAL = 0, |
31 | kSUNWARP_ACCESS_DISABLED = 1, | 33 | kSUNWARP_ACCESS_DISABLED = 1, |
@@ -39,6 +41,12 @@ struct SunwarpMapping { | |||
39 | int exit_index; | 41 | int exit_index; |
40 | }; | 42 | }; |
41 | 43 | ||
44 | struct ItemState { | ||
45 | std::string name; | ||
46 | int amount = 0; | ||
47 | int index = 0; | ||
48 | }; | ||
49 | |||
42 | void AP_SetTrackerFrame(TrackerFrame* tracker_frame); | 50 | void AP_SetTrackerFrame(TrackerFrame* tracker_frame); |
43 | 51 | ||
44 | void AP_Connect(std::string server, std::string player, std::string password); | 52 | void AP_Connect(std::string server, std::string player, std::string password); |
@@ -49,16 +57,11 @@ std::string AP_GetSaveName(); | |||
49 | 57 | ||
50 | bool AP_HasCheckedGameLocation(int location_id); | 58 | bool AP_HasCheckedGameLocation(int location_id); |
51 | 59 | ||
52 | bool AP_HasCheckedHuntPanel(int location_id); | ||
53 | |||
54 | // This doesn't lock the state mutex, for speed, so it must ONLY be called from | 60 | // This doesn't lock the state mutex, for speed, so it must ONLY be called from |
55 | // RecalculateReachability, which is only called from the APState thread anyway. | 61 | // RecalculateReachability, which is only called from the APState thread anyway. |
56 | bool AP_HasItem(int item_id, int quantity = 1); | 62 | bool AP_HasItem(int item_id, int quantity = 1); |
57 | 63 | ||
58 | // This doesn't lock the client mutex because it is ONLY to be called from | 64 | bool AP_HasItemSafe(int item_id, int quantity = 1); |
59 | // RecalculateReachability, which is only called from within a client callback | ||
60 | // anyway. | ||
61 | std::string AP_GetItemName(int item_id); | ||
62 | 65 | ||
63 | DoorShuffleMode AP_GetDoorShuffleMode(); | 66 | DoorShuffleMode AP_GetDoorShuffleMode(); |
64 | 67 | ||
@@ -76,15 +79,19 @@ std::set<std::string> AP_GetCheckedPaintings(); | |||
76 | 79 | ||
77 | bool AP_IsPaintingChecked(const std::string& painting_id); | 80 | bool AP_IsPaintingChecked(const std::string& painting_id); |
78 | 81 | ||
82 | void AP_RevealPaintings(); | ||
83 | |||
79 | int AP_GetMasteryRequirement(); | 84 | int AP_GetMasteryRequirement(); |
80 | 85 | ||
81 | int AP_GetLevel2Requirement(); | 86 | int AP_GetLevel2Requirement(); |
82 | 87 | ||
88 | LocationChecks AP_GetLocationsChecks(); | ||
89 | |||
83 | bool AP_IsLocationVisible(int classification); | 90 | bool AP_IsLocationVisible(int classification); |
84 | 91 | ||
85 | VictoryCondition AP_GetVictoryCondition(); | 92 | PanelShuffleMode AP_GetPanelShuffleMode(); |
86 | 93 | ||
87 | bool AP_HasAchievement(const std::string& achievement_name); | 94 | VictoryCondition AP_GetVictoryCondition(); |
88 | 95 | ||
89 | bool AP_HasEarlyColorHallways(); | 96 | bool AP_HasEarlyColorHallways(); |
90 | 97 | ||
@@ -100,8 +107,12 @@ bool AP_IsSunwarpShuffle(); | |||
100 | 107 | ||
101 | std::map<int, SunwarpMapping> AP_GetSunwarpMapping(); | 108 | std::map<int, SunwarpMapping> AP_GetSunwarpMapping(); |
102 | 109 | ||
110 | bool AP_IsPostgameShuffle(); | ||
111 | |||
103 | bool AP_HasReachedGoal(); | 112 | bool AP_HasReachedGoal(); |
104 | 113 | ||
105 | std::optional<std::tuple<int, int>> AP_GetPlayerPosition(); | 114 | std::optional<std::tuple<int, int>> AP_GetPlayerPosition(); |
106 | 115 | ||
116 | bool AP_IsPanelSolved(int solve_index); | ||
117 | |||
107 | #endif /* end of include guard: AP_STATE_H_664A4180 */ | 118 | #endif /* end of include guard: AP_STATE_H_664A4180 */ |