@@ -25,6 +25,11 @@ class PlayerAI
25
25
// A map with indices for each row of the chart, pointing to nothing or hold
26
26
// drop results.
27
27
static map<int , vector<HoldReplayResult>> m_ReplayHoldMap;
28
+ // A map with indices for each row of the chart, pointing to nothing or a
29
+ // Normal Result. However, note that the rows within are actually calculated
30
+ // so that they are adjusted for offsets relative to the actual replay data/notedata.
31
+ // This map is only useful for charts with column data.
32
+ static map<int , vector<TapReplayResult>> m_ReplayExactTapMap;
28
33
29
34
static void InitFromDisk ();
30
35
static TapNoteScore GetTapNoteScore (const PlayerState* pPlayerState);
@@ -35,6 +40,27 @@ class PlayerAI
35
40
const PlayerState* pPlayerState,
36
41
float fNoteOffset );
37
42
static bool DetermineIfHoldDropped (int noteRow, int col);
43
+ // Returns the column that needs to be tapped.
44
+ // Returns -1 if no column needs to be tapped.
45
+ static int DetermineNextTapColumn (int noteRow, int searchRowDistance, TimingData* timing);
46
+ // Literally get the next row in the replay data. Disregard offset calculations.
47
+ static int GetNextRowNoOffsets (int currentRow);
48
+ // Reset and populate the ReplayExactTapMap.
49
+ // This is meant to be run once Gameplay begins.
50
+ static void SetUpExactTapMap (TimingData* timing);
51
+ // Check the Tap Replay Data to see if a tap is on this row
52
+ static bool TapExistsAtThisRow (int noteRow);
53
+ static bool TapExistsAtOrBeforeThisRow (int noteRow);
54
+ // Build a list of columns/tracks to tap based on the given noterow.
55
+ static vector<TapReplayResult> GetTapsToTapForRow (int noteRow);
56
+ static int GetReplayType ();
57
+ // Build a list of columns/tracks that happened at or before the given noterow.
58
+ // (if we lag and somehow skip rows)
59
+ static vector<TapReplayResult> GetTapsAtOrBeforeRow (int noteRow);
60
+ // Given a column and row, retrieve the adjusted row.
61
+ static int GetAdjustedRowFromUnadjustedCoordinates (int row, int col);
62
+ // Remove a given Tap from the fallback and Full replay data vectors
63
+ static void RemoveTapFromVectors (int row, int col);
38
64
};
39
65
40
66
#endif
0 commit comments