about summary refs log tree commit diff stats
path: root/src/ap_state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ap_state.h')
-rw-r--r--src/ap_state.h27
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
29enum PanelShuffleMode { kNO_PANELS = 0, kREARRANGE_PANELS = 1 };
30
29enum SunwarpAccess { 31enum 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
44struct ItemState {
45 std::string name;
46 int amount = 0;
47 int index = 0;
48};
49
42void AP_SetTrackerFrame(TrackerFrame* tracker_frame); 50void AP_SetTrackerFrame(TrackerFrame* tracker_frame);
43 51
44void AP_Connect(std::string server, std::string player, std::string password); 52void AP_Connect(std::string server, std::string player, std::string password);
@@ -49,16 +57,11 @@ std::string AP_GetSaveName();
49 57
50bool AP_HasCheckedGameLocation(int location_id); 58bool AP_HasCheckedGameLocation(int location_id);
51 59
52bool 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.
56bool AP_HasItem(int item_id, int quantity = 1); 62bool 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 64bool AP_HasItemSafe(int item_id, int quantity = 1);
59// RecalculateReachability, which is only called from within a client callback
60// anyway.
61std::string AP_GetItemName(int item_id);
62 65
63DoorShuffleMode AP_GetDoorShuffleMode(); 66DoorShuffleMode AP_GetDoorShuffleMode();
64 67
@@ -76,15 +79,19 @@ std::set<std::string> AP_GetCheckedPaintings();
76 79
77bool AP_IsPaintingChecked(const std::string& painting_id); 80bool AP_IsPaintingChecked(const std::string& painting_id);
78 81
82void AP_RevealPaintings();
83
79int AP_GetMasteryRequirement(); 84int AP_GetMasteryRequirement();
80 85
81int AP_GetLevel2Requirement(); 86int AP_GetLevel2Requirement();
82 87
88LocationChecks AP_GetLocationsChecks();
89
83bool AP_IsLocationVisible(int classification); 90bool AP_IsLocationVisible(int classification);
84 91
85VictoryCondition AP_GetVictoryCondition(); 92PanelShuffleMode AP_GetPanelShuffleMode();
86 93
87bool AP_HasAchievement(const std::string& achievement_name); 94VictoryCondition AP_GetVictoryCondition();
88 95
89bool AP_HasEarlyColorHallways(); 96bool AP_HasEarlyColorHallways();
90 97
@@ -100,8 +107,12 @@ bool AP_IsSunwarpShuffle();
100 107
101std::map<int, SunwarpMapping> AP_GetSunwarpMapping(); 108std::map<int, SunwarpMapping> AP_GetSunwarpMapping();
102 109
110bool AP_IsPostgameShuffle();
111
103bool AP_HasReachedGoal(); 112bool AP_HasReachedGoal();
104 113
105std::optional<std::tuple<int, int>> AP_GetPlayerPosition(); 114std::optional<std::tuple<int, int>> AP_GetPlayerPosition();
106 115
116bool 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 */