diff options
Diffstat (limited to 'src/ap_state.h')
-rw-r--r-- | src/ap_state.h | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/src/ap_state.h b/src/ap_state.h index f8936e5..a757d89 100644 --- a/src/ap_state.h +++ b/src/ap_state.h | |||
@@ -11,7 +11,7 @@ | |||
11 | 11 | ||
12 | class TrackerFrame; | 12 | class TrackerFrame; |
13 | 13 | ||
14 | enum DoorShuffleMode { kNO_DOORS = 0, kSIMPLE_DOORS = 1, kCOMPLEX_DOORS = 2 }; | 14 | enum DoorShuffleMode { kNO_DOORS = 0, kPANELS_MODE = 1, kDOORS_MODE = 2 }; |
15 | 15 | ||
16 | enum VictoryCondition { | 16 | enum VictoryCondition { |
17 | kTHE_END = 0, | 17 | kTHE_END = 0, |
@@ -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,43 +41,57 @@ 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); |
45 | 53 | ||
54 | std::string AP_GetStatusMessage(); | ||
55 | |||
46 | std::string AP_GetSaveName(); | 56 | std::string AP_GetSaveName(); |
47 | 57 | ||
48 | bool AP_HasCheckedGameLocation(int location_id); | 58 | bool AP_HasCheckedGameLocation(int location_id); |
49 | 59 | ||
50 | bool AP_HasCheckedHuntPanel(int location_id); | 60 | // This doesn't lock the state mutex, for speed, so it must ONLY be called from |
51 | 61 | // RecalculateReachability, which is only called from the APState thread anyway. | |
52 | bool AP_HasItem(int item_id, int quantity = 1); | 62 | bool AP_HasItem(int item_id, int quantity = 1); |
53 | 63 | ||
54 | std::string AP_GetItemName(int item_id); | 64 | bool AP_HasItemSafe(int item_id, int quantity = 1); |
55 | 65 | ||
56 | DoorShuffleMode AP_GetDoorShuffleMode(); | 66 | DoorShuffleMode AP_GetDoorShuffleMode(); |
57 | 67 | ||
68 | bool AP_AreDoorsGrouped(); | ||
69 | |||
58 | bool AP_IsColorShuffle(); | 70 | bool AP_IsColorShuffle(); |
59 | 71 | ||
60 | bool AP_IsPaintingShuffle(); | 72 | bool AP_IsPaintingShuffle(); |
61 | 73 | ||
62 | const std::map<std::string, std::string>& AP_GetPaintingMapping(); | 74 | std::map<std::string, std::string> AP_GetPaintingMapping(); |
63 | 75 | ||
64 | bool AP_IsPaintingMappedTo(const std::string& painting_id); | 76 | bool AP_IsPaintingMappedTo(const std::string& painting_id); |
65 | 77 | ||
66 | const std::set<std::string>& AP_GetCheckedPaintings(); | 78 | std::set<std::string> AP_GetCheckedPaintings(); |
67 | 79 | ||
68 | bool AP_IsPaintingChecked(const std::string& painting_id); | 80 | bool AP_IsPaintingChecked(const std::string& painting_id); |
69 | 81 | ||
82 | void AP_RevealPaintings(); | ||
83 | |||
70 | int AP_GetMasteryRequirement(); | 84 | int AP_GetMasteryRequirement(); |
71 | 85 | ||
72 | int AP_GetLevel2Requirement(); | 86 | int AP_GetLevel2Requirement(); |
73 | 87 | ||
88 | LocationChecks AP_GetLocationsChecks(); | ||
89 | |||
74 | bool AP_IsLocationVisible(int classification); | 90 | bool AP_IsLocationVisible(int classification); |
75 | 91 | ||
76 | VictoryCondition AP_GetVictoryCondition(); | 92 | PanelShuffleMode AP_GetPanelShuffleMode(); |
77 | 93 | ||
78 | bool AP_HasAchievement(const std::string& achievement_name); | 94 | VictoryCondition AP_GetVictoryCondition(); |
79 | 95 | ||
80 | bool AP_HasEarlyColorHallways(); | 96 | bool AP_HasEarlyColorHallways(); |
81 | 97 | ||
@@ -89,10 +105,14 @@ SunwarpAccess AP_GetSunwarpAccess(); | |||
89 | 105 | ||
90 | bool AP_IsSunwarpShuffle(); | 106 | bool AP_IsSunwarpShuffle(); |
91 | 107 | ||
92 | const std::map<int, SunwarpMapping>& AP_GetSunwarpMapping(); | 108 | std::map<int, SunwarpMapping> AP_GetSunwarpMapping(); |
109 | |||
110 | bool AP_IsPostgameShuffle(); | ||
93 | 111 | ||
94 | bool AP_HasReachedGoal(); | 112 | bool AP_HasReachedGoal(); |
95 | 113 | ||
96 | std::optional<std::tuple<int, int>> AP_GetPlayerPosition(); | 114 | std::optional<std::tuple<int, int>> AP_GetPlayerPosition(); |
97 | 115 | ||
116 | bool AP_IsPanelSolved(int solve_index); | ||
117 | |||
98 | #endif /* end of include guard: AP_STATE_H_664A4180 */ | 118 | #endif /* end of include guard: AP_STATE_H_664A4180 */ |