@rian8337/osu-droid-replay-analyzer 3.0.0-beta.3 → 3.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +316 -106
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/typings/index.d.ts +120 -5
package/dist/index.js
CHANGED
|
@@ -29,6 +29,27 @@ function _interopNamespace(e) {
|
|
|
29
29
|
|
|
30
30
|
var javaDeserialization__namespace = /*#__PURE__*/_interopNamespace(javaDeserialization);
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Movement types of a cursor in an osu!droid replay.
|
|
34
|
+
*
|
|
35
|
+
* The cursor movement is represented as a player's action on the screen.
|
|
36
|
+
*/
|
|
37
|
+
exports.movementType = void 0;
|
|
38
|
+
(function (movementType) {
|
|
39
|
+
/**
|
|
40
|
+
* The player places their finger on the screen.
|
|
41
|
+
*/
|
|
42
|
+
movementType[movementType["DOWN"] = 0] = "DOWN";
|
|
43
|
+
/**
|
|
44
|
+
* The player drags their finger on the screen.
|
|
45
|
+
*/
|
|
46
|
+
movementType[movementType["MOVE"] = 1] = "MOVE";
|
|
47
|
+
/**
|
|
48
|
+
* The player releases their finger from the screen.
|
|
49
|
+
*/
|
|
50
|
+
movementType[movementType["UP"] = 2] = "UP";
|
|
51
|
+
})(exports.movementType || (exports.movementType = {}));
|
|
52
|
+
|
|
32
53
|
/**
|
|
33
54
|
* Represents a cursor's occurrence.
|
|
34
55
|
*/
|
|
@@ -52,21 +73,218 @@ class CursorOccurrence {
|
|
|
52
73
|
}
|
|
53
74
|
}
|
|
54
75
|
|
|
76
|
+
/**
|
|
77
|
+
* Represents a group of cursor occurrences representing a cursor instance's
|
|
78
|
+
* movement when a player places their finger on the screen.
|
|
79
|
+
*/
|
|
80
|
+
class CursorOccurrenceGroup {
|
|
81
|
+
/**
|
|
82
|
+
* The cursor occurrence of movement type `movementType.DOWN`.
|
|
83
|
+
*/
|
|
84
|
+
get down() {
|
|
85
|
+
return this._down;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* The cursor occurrence of movement type `movementType.DOWN`.
|
|
89
|
+
*/
|
|
90
|
+
set down(value) {
|
|
91
|
+
if (value.id !== exports.movementType.DOWN) {
|
|
92
|
+
throw new TypeError("Attempting to set the down cursor occurrence to one with different movement type.");
|
|
93
|
+
}
|
|
94
|
+
this._down = value;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The cursor occurrences of movement type `movementType.MOVE`.
|
|
98
|
+
*/
|
|
99
|
+
get moves() {
|
|
100
|
+
return this._moves;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The cursor occurrence of movement type `movementType.UP`.
|
|
104
|
+
*
|
|
105
|
+
* May not exist, such as when the player holds their cursor until the end of a beatmap.
|
|
106
|
+
*/
|
|
107
|
+
get up() {
|
|
108
|
+
return this._up;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The cursor occurrence of movement type `movementType.UP`.
|
|
112
|
+
*
|
|
113
|
+
* May not exist, such as when the player holds their cursor until the end of a beatmap.
|
|
114
|
+
*/
|
|
115
|
+
set up(value) {
|
|
116
|
+
if (value && value.id !== exports.movementType.UP) {
|
|
117
|
+
throw new TypeError("Attempting to set the up cursor occurrence to one with different movement type.");
|
|
118
|
+
}
|
|
119
|
+
this._up = value;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The time at which this cursor occurrence group starts.
|
|
123
|
+
*/
|
|
124
|
+
get startTime() {
|
|
125
|
+
return this._down.time;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The time at which this cursor occurrence group ends.
|
|
129
|
+
*/
|
|
130
|
+
get endTime() {
|
|
131
|
+
if (this._up) {
|
|
132
|
+
return this._up.time;
|
|
133
|
+
}
|
|
134
|
+
return this._moves.at(-1)?.time ?? this._down.time;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* All cursor occurrences in this group.
|
|
138
|
+
*
|
|
139
|
+
* This iterates all occurrences and as such should be used sparingly or stored locally.
|
|
140
|
+
*/
|
|
141
|
+
get allOccurrences() {
|
|
142
|
+
const cursors = [this._down, ...this._moves];
|
|
143
|
+
if (this._up) {
|
|
144
|
+
cursors.push(this._up);
|
|
145
|
+
}
|
|
146
|
+
return cursors;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* The cursor occurrence of movement type `movementType.DOWN`.
|
|
150
|
+
*/
|
|
151
|
+
_down;
|
|
152
|
+
/**
|
|
153
|
+
* The cursor occurrences of movement type `movementType.MOVE`.
|
|
154
|
+
*/
|
|
155
|
+
_moves;
|
|
156
|
+
/**
|
|
157
|
+
* The cursor occurrence of movement type `movementType.UP`.
|
|
158
|
+
*
|
|
159
|
+
* May not exist, such as when the player holds their cursor until the end of a beatmap.
|
|
160
|
+
*/
|
|
161
|
+
_up;
|
|
162
|
+
constructor(down, moves, up) {
|
|
163
|
+
this._down = down;
|
|
164
|
+
this._moves = moves;
|
|
165
|
+
// Re-set down cursor occurrence for checking.
|
|
166
|
+
this.down = down;
|
|
167
|
+
this.up = up;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Determines whether this cursor occurrence group is active at the specified time.
|
|
171
|
+
*
|
|
172
|
+
* @param time The time.
|
|
173
|
+
* @returns Whether this cursor occurrence group is active at the specified time.
|
|
174
|
+
*/
|
|
175
|
+
isActiveAt(time) {
|
|
176
|
+
return time >= this.startTime && time <= this.endTime;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Finds the cursor occurrence that is active at a given time.
|
|
180
|
+
*
|
|
181
|
+
* @param time The time.
|
|
182
|
+
* @returns The cursor occurrence at the given time, `null` if not found.
|
|
183
|
+
*/
|
|
184
|
+
cursorAt(time) {
|
|
185
|
+
if (!this.isActiveAt(time)) {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
if (this._down.time === time) {
|
|
189
|
+
return this._down;
|
|
190
|
+
}
|
|
191
|
+
if (this._up?.time === time) {
|
|
192
|
+
return this._up;
|
|
193
|
+
}
|
|
194
|
+
let l = 0;
|
|
195
|
+
let r = this._moves.length - 2;
|
|
196
|
+
while (l <= r) {
|
|
197
|
+
const pivot = l + ((r - l) >> 1);
|
|
198
|
+
if (this._moves[pivot].time < time) {
|
|
199
|
+
l = pivot + 1;
|
|
200
|
+
}
|
|
201
|
+
else if (this._moves[pivot].time > time) {
|
|
202
|
+
r = pivot - 1;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
return this._moves[pivot];
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// l will be the first cursor occurrence with time > this._moves[l].time, but we want the one before it
|
|
209
|
+
return this._moves[l - 1];
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
55
213
|
/**
|
|
56
214
|
* Represents a cursor instance in an osu!droid replay.
|
|
57
215
|
*
|
|
58
|
-
* Stores cursor movement data in the form of `
|
|
216
|
+
* Stores cursor movement data in the form of `CursorOccurrenceGroup`s.
|
|
59
217
|
*
|
|
60
218
|
* This is used when analyzing replays using replay analyzer.
|
|
61
219
|
*/
|
|
62
220
|
class CursorData {
|
|
63
221
|
/**
|
|
64
|
-
* The
|
|
222
|
+
* The occurrence groups of this cursor instance.
|
|
65
223
|
*/
|
|
66
|
-
|
|
224
|
+
occurrenceGroups = [];
|
|
225
|
+
/**
|
|
226
|
+
* The time at which the first occurrence of this cursor instance occurs.
|
|
227
|
+
*
|
|
228
|
+
* Will return `null` if there are no occurrences.
|
|
229
|
+
*/
|
|
230
|
+
get earliestOccurrenceTime() {
|
|
231
|
+
return this.occurrenceGroups.at(0)?.startTime ?? null;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* The time at which the latest occurrence of this cursor instance occurs.
|
|
235
|
+
*
|
|
236
|
+
* Will return `null` if there are no occurrences.
|
|
237
|
+
*/
|
|
238
|
+
get latestOccurrenceTime() {
|
|
239
|
+
return this.occurrenceGroups.at(-1)?.endTime ?? null;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* The amount of cursor occurrences of this cursor instance.
|
|
243
|
+
*/
|
|
244
|
+
get totalOccurrences() {
|
|
245
|
+
return this.occurrenceGroups.reduce((a, v) => {
|
|
246
|
+
// Down cursor.
|
|
247
|
+
++a;
|
|
248
|
+
// Move cursors.
|
|
249
|
+
a += v.moves.length;
|
|
250
|
+
if (v.up) {
|
|
251
|
+
// Up cursor.
|
|
252
|
+
++a;
|
|
253
|
+
}
|
|
254
|
+
return a;
|
|
255
|
+
}, 0);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* All cursor occurrences of this cursor instnace.
|
|
259
|
+
*
|
|
260
|
+
* This iterates all occurrence groups and as such should be used sparingly or stored locally.
|
|
261
|
+
*/
|
|
262
|
+
get allOccurrences() {
|
|
263
|
+
return this.occurrenceGroups.flatMap((v) => v.allOccurrences);
|
|
264
|
+
}
|
|
67
265
|
constructor(values) {
|
|
266
|
+
let downOccurrence = null;
|
|
267
|
+
let moveOccurrences = [];
|
|
68
268
|
for (let i = 0; i < values.size; ++i) {
|
|
69
|
-
|
|
269
|
+
const occurrence = new CursorOccurrence(values.time[i], values.x[i], values.y[i], values.id[i]);
|
|
270
|
+
switch (occurrence.id) {
|
|
271
|
+
case exports.movementType.DOWN:
|
|
272
|
+
downOccurrence = occurrence;
|
|
273
|
+
break;
|
|
274
|
+
case exports.movementType.MOVE:
|
|
275
|
+
moveOccurrences.push(occurrence);
|
|
276
|
+
break;
|
|
277
|
+
case exports.movementType.UP:
|
|
278
|
+
this.occurrenceGroups.push(new CursorOccurrenceGroup(
|
|
279
|
+
// Guaranteed to be non-null.
|
|
280
|
+
downOccurrence, moveOccurrences, occurrence));
|
|
281
|
+
downOccurrence = null;
|
|
282
|
+
moveOccurrences = [];
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Add the final cursor occurrence group as the loop may not catch it for special cases.
|
|
286
|
+
if (downOccurrence !== null && moveOccurrences.length > 0) {
|
|
287
|
+
this.occurrenceGroups.push(new CursorOccurrenceGroup(downOccurrence, moveOccurrences));
|
|
70
288
|
}
|
|
71
289
|
}
|
|
72
290
|
}
|
|
@@ -94,16 +312,6 @@ exports.hitResult = void 0;
|
|
|
94
312
|
hitResult[hitResult["RESULT_300"] = 4] = "RESULT_300";
|
|
95
313
|
})(exports.hitResult || (exports.hitResult = {}));
|
|
96
314
|
|
|
97
|
-
/**
|
|
98
|
-
* Movement type of a cursor in an osu!droid replay.
|
|
99
|
-
*/
|
|
100
|
-
exports.movementType = void 0;
|
|
101
|
-
(function (movementType) {
|
|
102
|
-
movementType[movementType["DOWN"] = 0] = "DOWN";
|
|
103
|
-
movementType[movementType["MOVE"] = 1] = "MOVE";
|
|
104
|
-
movementType[movementType["UP"] = 2] = "UP";
|
|
105
|
-
})(exports.movementType || (exports.movementType = {}));
|
|
106
|
-
|
|
107
315
|
/**
|
|
108
316
|
* Represents a replay data in an osu!droid replay.
|
|
109
317
|
*
|
|
@@ -327,9 +535,17 @@ class ThreeFingerChecker {
|
|
|
327
535
|
*/
|
|
328
536
|
breakPointAccurateTimes = [];
|
|
329
537
|
/**
|
|
330
|
-
* A cursor
|
|
538
|
+
* A cursor occurrence nested array that only contains `movementType.DOWN` movement ID occurrences.
|
|
539
|
+
*
|
|
540
|
+
* Each index represents the cursor index.
|
|
331
541
|
*/
|
|
332
542
|
downCursorInstances = [];
|
|
543
|
+
/**
|
|
544
|
+
* All cursor occurrences in the replay.
|
|
545
|
+
*
|
|
546
|
+
* Each index represents the cursor index.
|
|
547
|
+
*/
|
|
548
|
+
allCursorInstances;
|
|
333
549
|
/**
|
|
334
550
|
* Nerf factors from all sections that were three-fingered.
|
|
335
551
|
*/
|
|
@@ -341,6 +557,7 @@ class ThreeFingerChecker {
|
|
|
341
557
|
constructor(calculator, data) {
|
|
342
558
|
this.calculator = calculator;
|
|
343
559
|
this.data = data;
|
|
560
|
+
this.allCursorInstances = data.cursorMovement.map((v) => v.allOccurrences);
|
|
344
561
|
const stats = new osuBase.MapStats({
|
|
345
562
|
od: this.calculator.beatmap.difficulty.od,
|
|
346
563
|
mods: this.calculator.mods.filter((m) => m.isApplicableToDroid() &&
|
|
@@ -375,16 +592,14 @@ class ThreeFingerChecker {
|
|
|
375
592
|
}
|
|
376
593
|
this.getAccurateBreakPoints();
|
|
377
594
|
this.filterCursorInstances();
|
|
378
|
-
if (this.downCursorInstances.filter((v) => v.
|
|
379
|
-
.length <= 3) {
|
|
595
|
+
if (this.downCursorInstances.filter((v) => v.length > 0).length <= 3) {
|
|
380
596
|
return { is3Finger: false, penalty: 1 };
|
|
381
597
|
}
|
|
382
598
|
this.getBeatmapSections();
|
|
383
599
|
this.detectDragPlay();
|
|
384
600
|
this.getDetailedBeatmapSections();
|
|
385
601
|
this.preventAccidentalTaps();
|
|
386
|
-
if (this.downCursorInstances.filter((v) => v.
|
|
387
|
-
.length <= 3) {
|
|
602
|
+
if (this.downCursorInstances.filter((v) => v.length > 0).length <= 3) {
|
|
388
603
|
return { is3Finger: false, penalty: 1 };
|
|
389
604
|
}
|
|
390
605
|
this.calculateNerfFactors();
|
|
@@ -496,27 +711,20 @@ class ThreeFingerChecker {
|
|
|
496
711
|
const lastObjectHitTime = objects.at(-1).object.startTime + lastObjectHitWindow;
|
|
497
712
|
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
498
713
|
const cursorInstance = this.data.cursorMovement[i];
|
|
499
|
-
const
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
id: [],
|
|
505
|
-
});
|
|
506
|
-
for (let j = 0; j < cursorInstance.occurrences.length; ++j) {
|
|
507
|
-
if (cursorInstance.occurrences[j].id !== exports.movementType.DOWN) {
|
|
508
|
-
continue;
|
|
509
|
-
}
|
|
510
|
-
const time = cursorInstance.occurrences[j].time;
|
|
511
|
-
if (time < firstObjectHitTime || time > lastObjectHitTime) {
|
|
714
|
+
const validOccurrences = [];
|
|
715
|
+
for (let j = 0; j < cursorInstance.occurrenceGroups.length; ++j) {
|
|
716
|
+
const group = cursorInstance.occurrenceGroups[j];
|
|
717
|
+
if (group.startTime < firstObjectHitTime ||
|
|
718
|
+
group.endTime > lastObjectHitTime) {
|
|
512
719
|
continue;
|
|
513
720
|
}
|
|
514
|
-
if (this.breakPointAccurateTimes.some((v) =>
|
|
721
|
+
if (this.breakPointAccurateTimes.some((v) => group.startTime >= v.startTime &&
|
|
722
|
+
group.endTime <= v.endTime)) {
|
|
515
723
|
continue;
|
|
516
724
|
}
|
|
517
|
-
|
|
725
|
+
validOccurrences.push(group.down);
|
|
518
726
|
}
|
|
519
|
-
this.downCursorInstances.push(
|
|
727
|
+
this.downCursorInstances.push(validOccurrences);
|
|
520
728
|
}
|
|
521
729
|
}
|
|
522
730
|
/**
|
|
@@ -600,18 +808,18 @@ class ThreeFingerChecker {
|
|
|
600
808
|
const cursorIndexes = [];
|
|
601
809
|
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
602
810
|
const c = this.data.cursorMovement[i];
|
|
603
|
-
if (c.
|
|
811
|
+
if (c.occurrenceGroups.length === 0) {
|
|
604
812
|
continue;
|
|
605
813
|
}
|
|
606
814
|
// Do not include cursors that don't have an occurence in this section
|
|
607
815
|
// this speeds up checking process.
|
|
608
|
-
if (c.
|
|
609
|
-
v.
|
|
816
|
+
if (c.occurrenceGroups.filter((v) => v.startTime >= firstObjectMinHitTime &&
|
|
817
|
+
v.endTime <= lastObjectMaxHitTime).length === 0) {
|
|
610
818
|
continue;
|
|
611
819
|
}
|
|
612
820
|
// If this cursor instance doesn't move, it's not the cursor instance we want.
|
|
613
|
-
if (c.
|
|
614
|
-
|
|
821
|
+
if (c.occurrenceGroups.filter((v) => v.moves.length > 0).length ===
|
|
822
|
+
0) {
|
|
615
823
|
continue;
|
|
616
824
|
}
|
|
617
825
|
cursorIndexes.push(i);
|
|
@@ -648,28 +856,28 @@ class ThreeFingerChecker {
|
|
|
648
856
|
// therefore the game emulates the movement between
|
|
649
857
|
// movementType.MOVE cursors.
|
|
650
858
|
const hitTime = o.object.startTime + s.accuracy;
|
|
651
|
-
const
|
|
652
|
-
|
|
653
|
-
if (hitIndex <= -1) {
|
|
654
|
-
cursorIndexes[j] = -1;
|
|
859
|
+
const cursorGroup = c.occurrenceGroups.find((v) => v.isActiveAt(hitTime));
|
|
860
|
+
if (!cursorGroup) {
|
|
655
861
|
continue;
|
|
656
862
|
}
|
|
657
|
-
|
|
863
|
+
const cursors = cursorGroup.allOccurrences;
|
|
864
|
+
const nextHitIndex = cursors.findIndex((v) => v.time >= hitTime);
|
|
865
|
+
const hitIndex = nextHitIndex - 1;
|
|
866
|
+
if (hitIndex <= -1) {
|
|
658
867
|
cursorIndexes[j] = -1;
|
|
659
868
|
continue;
|
|
660
869
|
}
|
|
661
|
-
const cursorPosition = new osuBase.Vector2(
|
|
870
|
+
const cursorPosition = new osuBase.Vector2(cursors[hitIndex].position.x, cursors[hitIndex].position.y);
|
|
662
871
|
let isInObject = false;
|
|
663
|
-
if (
|
|
664
|
-
c.occurrences[hitIndex].id === exports.movementType.MOVE) {
|
|
872
|
+
if (cursors[nextHitIndex].id === exports.movementType.MOVE) {
|
|
665
873
|
// Try to interpolate movement between two movementType.MOVE cursor every 1ms.
|
|
666
874
|
// This minimizes rounding error.
|
|
667
|
-
for (let mSecPassed =
|
|
668
|
-
const t = (mSecPassed -
|
|
669
|
-
(
|
|
670
|
-
|
|
671
|
-
cursorPosition.x = osuBase.Interpolation.lerp(
|
|
672
|
-
cursorPosition.y = osuBase.Interpolation.lerp(
|
|
875
|
+
for (let mSecPassed = cursors[hitIndex].time; mSecPassed <= cursors[nextHitIndex].time; ++mSecPassed) {
|
|
876
|
+
const t = (mSecPassed - cursors[nextHitIndex].time) /
|
|
877
|
+
(cursors[hitIndex].time -
|
|
878
|
+
cursors[nextHitIndex].time);
|
|
879
|
+
cursorPosition.x = osuBase.Interpolation.lerp(cursors[hitIndex].position.x, cursors[nextHitIndex].position.x, t);
|
|
880
|
+
cursorPosition.y = osuBase.Interpolation.lerp(cursors[hitIndex].position.y, cursors[nextHitIndex].position.y, t);
|
|
673
881
|
if (o.object
|
|
674
882
|
.getStackedPosition(osuBase.modes.droid)
|
|
675
883
|
.getDistance(cursorPosition) <=
|
|
@@ -747,26 +955,26 @@ class ThreeFingerChecker {
|
|
|
747
955
|
* unnecessary taps.
|
|
748
956
|
*/
|
|
749
957
|
preventAccidentalTaps() {
|
|
750
|
-
let filledCursorAmount = this.downCursorInstances.filter((v) => v.
|
|
958
|
+
let filledCursorAmount = this.downCursorInstances.filter((v) => v.length > 0).length;
|
|
751
959
|
if (filledCursorAmount <= 3) {
|
|
752
960
|
return;
|
|
753
961
|
}
|
|
754
962
|
const objects = this.calculator.objects;
|
|
755
|
-
const totalCursorAmount = this.downCursorInstances.reduce((acc, value) => acc + value.
|
|
963
|
+
const totalCursorAmount = this.downCursorInstances.reduce((acc, value) => acc + value.length, 0);
|
|
756
964
|
for (let i = 0; i < this.downCursorInstances.length; ++i) {
|
|
757
965
|
if (filledCursorAmount <= 3) {
|
|
758
966
|
break;
|
|
759
967
|
}
|
|
760
|
-
const
|
|
968
|
+
const cursorInstances = this.downCursorInstances[i];
|
|
761
969
|
// Use an estimation for accidental tap threshold.
|
|
762
|
-
if (
|
|
970
|
+
if (cursorInstances.length <=
|
|
763
971
|
Math.ceil(objects.length / this.accidentalTapThreshold) &&
|
|
764
|
-
|
|
972
|
+
cursorInstances.length / totalCursorAmount <
|
|
765
973
|
this.threeFingerRatioThreshold * 2) {
|
|
766
974
|
--filledCursorAmount;
|
|
767
|
-
|
|
975
|
+
cursorInstances.length = 0;
|
|
768
976
|
}
|
|
769
|
-
this.downCursorInstances[i] =
|
|
977
|
+
this.downCursorInstances[i] = cursorInstances;
|
|
770
978
|
}
|
|
771
979
|
}
|
|
772
980
|
/**
|
|
@@ -794,9 +1002,9 @@ class ThreeFingerChecker {
|
|
|
794
1002
|
: this.hitWindow.hitWindowFor50(isPrecise));
|
|
795
1003
|
// Filter cursor instances during section.
|
|
796
1004
|
this.downCursorInstances.forEach((c) => {
|
|
797
|
-
const i = c.
|
|
1005
|
+
const i = c.findIndex((t) => t.time >= startTime);
|
|
798
1006
|
if (i !== -1) {
|
|
799
|
-
c
|
|
1007
|
+
c = c.slice(i);
|
|
800
1008
|
}
|
|
801
1009
|
});
|
|
802
1010
|
const cursorAmounts = [];
|
|
@@ -806,15 +1014,15 @@ class ThreeFingerChecker {
|
|
|
806
1014
|
if (i === dragIndex) {
|
|
807
1015
|
continue;
|
|
808
1016
|
}
|
|
809
|
-
const
|
|
1017
|
+
const cursors = this.downCursorInstances[i];
|
|
810
1018
|
let amount = 0;
|
|
811
|
-
for (let j = 0; j <
|
|
812
|
-
if (
|
|
813
|
-
|
|
1019
|
+
for (let j = 0; j < cursors.length; ++j) {
|
|
1020
|
+
if (cursors[j].time >= startTime &&
|
|
1021
|
+
cursors[j].time <= endTime) {
|
|
814
1022
|
++amount;
|
|
815
1023
|
cursorVectorTimes.push({
|
|
816
|
-
vector: new osuBase.Vector2(
|
|
817
|
-
time:
|
|
1024
|
+
vector: new osuBase.Vector2(cursors[j].position.x, cursors[j].position.y),
|
|
1025
|
+
time: cursors[j].time,
|
|
818
1026
|
});
|
|
819
1027
|
}
|
|
820
1028
|
}
|
|
@@ -982,6 +1190,13 @@ class TwoHandChecker {
|
|
|
982
1190
|
* those that do not worth any strain.
|
|
983
1191
|
*/
|
|
984
1192
|
minCursorIndexCount = 5;
|
|
1193
|
+
/**
|
|
1194
|
+
* A cursor occurrence nested array containing all cursor occurrences.
|
|
1195
|
+
*
|
|
1196
|
+
* Each index represents the cursor index.
|
|
1197
|
+
*/
|
|
1198
|
+
// TODO: replace with group at some point
|
|
1199
|
+
allCursorOccurrences = [];
|
|
985
1200
|
/**
|
|
986
1201
|
* @param calculator The difficulty calculator to analyze.
|
|
987
1202
|
* @param data The data of the replay.
|
|
@@ -989,6 +1204,7 @@ class TwoHandChecker {
|
|
|
989
1204
|
constructor(calculator, data) {
|
|
990
1205
|
this.calculator = calculator;
|
|
991
1206
|
this.data = data;
|
|
1207
|
+
this.allCursorOccurrences = data.cursorMovement.map((v) => v.allOccurrences);
|
|
992
1208
|
const stats = new osuBase.MapStats({
|
|
993
1209
|
od: this.calculator.beatmap.difficulty.od,
|
|
994
1210
|
mods: this.calculator.mods.filter((m) => m.isApplicableToDroid() &&
|
|
@@ -1001,8 +1217,7 @@ class TwoHandChecker {
|
|
|
1001
1217
|
* Checks if a beatmap is two-handed.
|
|
1002
1218
|
*/
|
|
1003
1219
|
check() {
|
|
1004
|
-
if (this.data.cursorMovement.filter((v) => v.
|
|
1005
|
-
.length <= 1) {
|
|
1220
|
+
if (this.data.cursorMovement.filter((v) => v.occurrenceGroups.length > 0).length <= 1) {
|
|
1006
1221
|
return { is2Hand: false, cursorIndexes: [] };
|
|
1007
1222
|
}
|
|
1008
1223
|
this.indexHitObjects();
|
|
@@ -1081,16 +1296,15 @@ class TwoHandChecker {
|
|
|
1081
1296
|
const deltaTimes = [];
|
|
1082
1297
|
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
1083
1298
|
const c = this.data.cursorMovement[i];
|
|
1084
|
-
for (let j = 0; j < c.
|
|
1085
|
-
|
|
1299
|
+
for (let j = 0; j < c.occurrenceGroups.length; ++j) {
|
|
1300
|
+
const group = c.occurrenceGroups[j];
|
|
1301
|
+
const previousGroup = c.occurrenceGroups[j - 1];
|
|
1302
|
+
if (group.startTime <
|
|
1086
1303
|
this.calculator.beatmap.hitObjects.objects[0].startTime -
|
|
1087
1304
|
this.hitWindow.hitWindowFor50()) {
|
|
1088
1305
|
continue;
|
|
1089
1306
|
}
|
|
1090
|
-
|
|
1091
|
-
continue;
|
|
1092
|
-
}
|
|
1093
|
-
const deltaTime = c.occurrences[j]?.time - c.occurrences[j - 1]?.time || 0;
|
|
1307
|
+
const deltaTime = group.startTime - previousGroup.endTime;
|
|
1094
1308
|
if (deltaTime > 0) {
|
|
1095
1309
|
deltaTimes.push(deltaTime);
|
|
1096
1310
|
}
|
|
@@ -1130,26 +1344,26 @@ class TwoHandChecker {
|
|
|
1130
1344
|
const minimumHitTime = startTime - hitWindowLength - hitWindowOffset;
|
|
1131
1345
|
const maximumHitTime = startTime + hitWindowLength + hitWindowOffset;
|
|
1132
1346
|
const cursorInformations = [];
|
|
1133
|
-
for (let i = 0; i < this.
|
|
1134
|
-
const c = this.
|
|
1135
|
-
if (c.
|
|
1347
|
+
for (let i = 0; i < this.allCursorOccurrences.length; ++i) {
|
|
1348
|
+
const c = this.allCursorOccurrences[i];
|
|
1349
|
+
if (c.length === 0) {
|
|
1136
1350
|
continue;
|
|
1137
1351
|
}
|
|
1138
|
-
let hitTimeBeforeIndex = osuBase.MathUtils.clamp(c.
|
|
1139
|
-
let hitTimeAfterIndex = c.
|
|
1352
|
+
let hitTimeBeforeIndex = osuBase.MathUtils.clamp(c.findIndex((v) => v.time >= minimumHitTime), 1, c.length - 1) - 1;
|
|
1353
|
+
let hitTimeAfterIndex = c.findIndex(
|
|
1140
1354
|
// There is a special case for sliders where the time leniency in droid is a lot bigger compared to PC.
|
|
1141
1355
|
// To prevent slider end time from ending earlier than hit window leniency, we use the maximum value between both.
|
|
1142
1356
|
(v) => v.time >= Math.max(object.object.endTime, maximumHitTime));
|
|
1143
1357
|
if (hitTimeAfterIndex === -1) {
|
|
1144
1358
|
// Maximum hit time or object end time may be out of bounds for every presses.
|
|
1145
1359
|
// We set the index to the latest cursor occurrence if that happens.
|
|
1146
|
-
hitTimeAfterIndex = c.
|
|
1360
|
+
hitTimeAfterIndex = c.length;
|
|
1147
1361
|
}
|
|
1148
1362
|
--hitTimeAfterIndex;
|
|
1149
1363
|
// Sometimes a `movementType.UP` instance occurs at the same time as a `movementType.MOVE`
|
|
1150
1364
|
// or a cursor is recorded twice in one time, therefore this check is required.
|
|
1151
|
-
while (c
|
|
1152
|
-
c
|
|
1365
|
+
while (c[hitTimeBeforeIndex]?.time ===
|
|
1366
|
+
c[hitTimeBeforeIndex - 1]?.time &&
|
|
1153
1367
|
hitTimeBeforeIndex > 0) {
|
|
1154
1368
|
--hitTimeBeforeIndex;
|
|
1155
1369
|
}
|
|
@@ -1158,8 +1372,8 @@ class TwoHandChecker {
|
|
|
1158
1372
|
let distance = Number.POSITIVE_INFINITY;
|
|
1159
1373
|
let j = hitTimeBeforeIndex;
|
|
1160
1374
|
for (j; j <= hitTimeAfterIndex; ++j) {
|
|
1161
|
-
const occurrence = c
|
|
1162
|
-
const nextOccurrence = c
|
|
1375
|
+
const occurrence = c[j];
|
|
1376
|
+
const nextOccurrence = c[j + 1];
|
|
1163
1377
|
const cursorPosition = occurrence.position;
|
|
1164
1378
|
if (occurrence.time < minimumHitTime &&
|
|
1165
1379
|
nextOccurrence?.id !== exports.movementType.MOVE) {
|
|
@@ -1210,21 +1424,20 @@ class TwoHandChecker {
|
|
|
1210
1424
|
// Aside of angles, we need to consider if the player dragged from the previous object to the current object.
|
|
1211
1425
|
let isDragged = false;
|
|
1212
1426
|
// Get the latest down or movement cursor occurrence.
|
|
1213
|
-
while (c
|
|
1214
|
-
j > hitTimeBeforeIndex) {
|
|
1427
|
+
while (c[j]?.id === exports.movementType.UP && j > hitTimeBeforeIndex) {
|
|
1215
1428
|
--j;
|
|
1216
1429
|
}
|
|
1217
1430
|
if (object.object instanceof osuBase.Circle) {
|
|
1218
1431
|
// For circles, we only need to consider the actual press on the circle.
|
|
1219
1432
|
// Therefore, we need to get the latest down cursor occurrence instead.
|
|
1220
|
-
while (c
|
|
1433
|
+
while (c[j]?.id !== exports.movementType.DOWN &&
|
|
1221
1434
|
j > hitTimeBeforeIndex) {
|
|
1222
1435
|
--j;
|
|
1223
1436
|
}
|
|
1224
1437
|
}
|
|
1225
1438
|
// Theoretically there can only be 1 up occurrence, but this is a
|
|
1226
1439
|
// consideration if the user manually adds cursor occurrences.
|
|
1227
|
-
if (c
|
|
1440
|
+
if (c[j]?.id === exports.movementType.UP) {
|
|
1228
1441
|
++j;
|
|
1229
1442
|
}
|
|
1230
1443
|
// Some move instances move in the exact same place. Not sure why, most likely
|
|
@@ -1232,16 +1445,16 @@ class TwoHandChecker {
|
|
|
1232
1445
|
// convert into +1 or -1.
|
|
1233
1446
|
// let nextSignificantOccurrenceIndex: number = j + 1;
|
|
1234
1447
|
// while (
|
|
1235
|
-
// c
|
|
1236
|
-
// c
|
|
1237
|
-
// c
|
|
1238
|
-
// c
|
|
1448
|
+
// c[j] &&
|
|
1449
|
+
// c[nextSignificantOccurrenceIndex] &&
|
|
1450
|
+
// c[j].position.equals(
|
|
1451
|
+
// c[nextSignificantOccurrenceIndex].position
|
|
1239
1452
|
// )
|
|
1240
1453
|
// ) {
|
|
1241
1454
|
// ++nextSignificantOccurrenceIndex;
|
|
1242
1455
|
// }
|
|
1243
1456
|
// const nextSignificantOccurrence: CursorOccurrence =
|
|
1244
|
-
// c
|
|
1457
|
+
// c[nextSignificantOccurrenceIndex];
|
|
1245
1458
|
// const next: DifficultyHitObject | RebalanceDifficultyHitObject =
|
|
1246
1459
|
// this.map.objects[index + 1];
|
|
1247
1460
|
// Angle detection.
|
|
@@ -1308,15 +1521,14 @@ class TwoHandChecker {
|
|
|
1308
1521
|
}
|
|
1309
1522
|
}
|
|
1310
1523
|
let occurrenceStartIndex = hitTimeAfterIndex;
|
|
1311
|
-
while (c
|
|
1312
|
-
dragTimeThreshold &&
|
|
1524
|
+
while (c[occurrenceStartIndex]?.time >= dragTimeThreshold &&
|
|
1313
1525
|
occurrenceStartIndex > 0) {
|
|
1314
1526
|
--occurrenceStartIndex;
|
|
1315
1527
|
}
|
|
1316
1528
|
// The above loop will make the start index before or right when
|
|
1317
1529
|
// the previous object was hit or ended, but we want the index after it.
|
|
1318
1530
|
++occurrenceStartIndex;
|
|
1319
|
-
const dragOccurrences = c.
|
|
1531
|
+
const dragOccurrences = c.slice(occurrenceStartIndex, hitTimeAfterIndex);
|
|
1320
1532
|
isDragged =
|
|
1321
1533
|
dragOccurrences.length > 0 &&
|
|
1322
1534
|
// We only care when the cursor approaches the current object. It doesn't
|
|
@@ -1359,7 +1571,7 @@ class TwoHandChecker {
|
|
|
1359
1571
|
return false;
|
|
1360
1572
|
}
|
|
1361
1573
|
let cursorLoopIndex = Math.max(0, indexedHitObject.occurrenceIndex);
|
|
1362
|
-
const c = this.
|
|
1574
|
+
const c = this.allCursorOccurrences[indexedHitObject.actualCursorIndex];
|
|
1363
1575
|
const acceptableRadius = indexedHitObject.object.object.getRadius(osuBase.modes.droid) * 2.4;
|
|
1364
1576
|
for (let i = 1; i < indexedHitObject.object.object.nestedHitObjects.length; ++i) {
|
|
1365
1577
|
const tickWasHit = hitData.tickset[i - 1];
|
|
@@ -1369,16 +1581,14 @@ class TwoHandChecker {
|
|
|
1369
1581
|
const object = indexedHitObject.object.object.nestedHitObjects[i];
|
|
1370
1582
|
let j = cursorLoopIndex;
|
|
1371
1583
|
let cursorHitTick = false;
|
|
1372
|
-
for (j; j < c.
|
|
1373
|
-
if (c
|
|
1374
|
-
object.startTime - hitWindowOffset) {
|
|
1584
|
+
for (j; j < c.length; ++j) {
|
|
1585
|
+
if (c[j].time < object.startTime - hitWindowOffset) {
|
|
1375
1586
|
continue;
|
|
1376
1587
|
}
|
|
1377
|
-
if (c
|
|
1378
|
-
object.startTime + hitWindowOffset) {
|
|
1588
|
+
if (c[j].time > object.startTime + hitWindowOffset) {
|
|
1379
1589
|
break;
|
|
1380
1590
|
}
|
|
1381
|
-
if (c
|
|
1591
|
+
if (c[j].position.getDistance(object.getStackedPosition(osuBase.modes.droid)) <= acceptableRadius) {
|
|
1382
1592
|
cursorHitTick = true;
|
|
1383
1593
|
break;
|
|
1384
1594
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/data/CursorOccurrence.ts","../src/data/CursorData.ts","../src/constants/hitResult.ts","../src/constants/movementType.ts","../src/data/ReplayData.ts","../src/analysis/BeatmapSectionGenerator.ts","../src/analysis/data/BeatmapSection.ts","../src/analysis/data/ThreeFingerBeatmapSection.ts","../src/analysis/ThreeFingerChecker.ts","../src/analysis/objects/IndexedHitObject.ts","../src/analysis/TwoHandChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Vector2","hitResult","movementType","Accuracy","MapStats","ModUtil","ModPrecise","DroidHitWindow","MathUtils","Circle","Spinner","Interpolation","modes","Utils","Slider","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight","DroidDifficultyCalculator","RebalanceDroidDifficultyCalculator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/constants/movementType.ts","../src/data/CursorOccurrence.ts","../src/data/CursorOccurrenceGroup.ts","../src/data/CursorData.ts","../src/constants/hitResult.ts","../src/data/ReplayData.ts","../src/analysis/BeatmapSectionGenerator.ts","../src/analysis/data/BeatmapSection.ts","../src/analysis/data/ThreeFingerBeatmapSection.ts","../src/analysis/ThreeFingerChecker.ts","../src/analysis/objects/IndexedHitObject.ts","../src/analysis/TwoHandChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["movementType","Vector2","hitResult","Accuracy","MapStats","ModUtil","ModPrecise","DroidHitWindow","MathUtils","Circle","Spinner","Interpolation","modes","Utils","Slider","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight","DroidDifficultyCalculator","RebalanceDroidDifficultyCalculator"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rian8337/osu-droid-replay-analyzer",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.4",
|
|
4
4
|
"description": "A replay analyzer for analyzing osu!droid replay files.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"osu",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"url": "https://github.com/Rian8337/osu-droid-module/issues"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@rian8337/osu-base": "^3.0.0-beta.
|
|
35
|
-
"@rian8337/osu-difficulty-calculator": "^3.0.0-beta.
|
|
36
|
-
"@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.
|
|
34
|
+
"@rian8337/osu-base": "^3.0.0-beta.4",
|
|
35
|
+
"@rian8337/osu-difficulty-calculator": "^3.0.0-beta.4",
|
|
36
|
+
"@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.4",
|
|
37
37
|
"java-deserialization": "^0.1.0",
|
|
38
38
|
"unzipper": "^0.10.11"
|
|
39
39
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "bd08cf09956d63b517e5d17dd880c1fa22d9de8c"
|
|
49
49
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -3,11 +3,22 @@ import { DroidDifficultyCalculator } from '@rian8337/osu-difficulty-calculator';
|
|
|
3
3
|
import { DroidDifficultyCalculator as DroidDifficultyCalculator$1 } from '@rian8337/osu-rebalance-difficulty-calculator';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Movement
|
|
6
|
+
* Movement types of a cursor in an osu!droid replay.
|
|
7
|
+
*
|
|
8
|
+
* The cursor movement is represented as a player's action on the screen.
|
|
7
9
|
*/
|
|
8
10
|
declare enum movementType {
|
|
11
|
+
/**
|
|
12
|
+
* The player places their finger on the screen.
|
|
13
|
+
*/
|
|
9
14
|
DOWN = 0,
|
|
15
|
+
/**
|
|
16
|
+
* The player drags their finger on the screen.
|
|
17
|
+
*/
|
|
10
18
|
MOVE = 1,
|
|
19
|
+
/**
|
|
20
|
+
* The player releases their finger from the screen.
|
|
21
|
+
*/
|
|
11
22
|
UP = 2
|
|
12
23
|
}
|
|
13
24
|
|
|
@@ -30,6 +41,80 @@ declare class CursorOccurrence {
|
|
|
30
41
|
constructor(time: number, x: number, y: number, id: movementType);
|
|
31
42
|
}
|
|
32
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Represents a group of cursor occurrences representing a cursor instance's
|
|
46
|
+
* movement when a player places their finger on the screen.
|
|
47
|
+
*/
|
|
48
|
+
declare class CursorOccurrenceGroup {
|
|
49
|
+
/**
|
|
50
|
+
* The cursor occurrence of movement type `movementType.DOWN`.
|
|
51
|
+
*/
|
|
52
|
+
get down(): CursorOccurrence;
|
|
53
|
+
/**
|
|
54
|
+
* The cursor occurrence of movement type `movementType.DOWN`.
|
|
55
|
+
*/
|
|
56
|
+
set down(value: CursorOccurrence);
|
|
57
|
+
/**
|
|
58
|
+
* The cursor occurrences of movement type `movementType.MOVE`.
|
|
59
|
+
*/
|
|
60
|
+
get moves(): readonly CursorOccurrence[];
|
|
61
|
+
/**
|
|
62
|
+
* The cursor occurrence of movement type `movementType.UP`.
|
|
63
|
+
*
|
|
64
|
+
* May not exist, such as when the player holds their cursor until the end of a beatmap.
|
|
65
|
+
*/
|
|
66
|
+
get up(): CursorOccurrence | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* The cursor occurrence of movement type `movementType.UP`.
|
|
69
|
+
*
|
|
70
|
+
* May not exist, such as when the player holds their cursor until the end of a beatmap.
|
|
71
|
+
*/
|
|
72
|
+
set up(value: CursorOccurrence | undefined);
|
|
73
|
+
/**
|
|
74
|
+
* The time at which this cursor occurrence group starts.
|
|
75
|
+
*/
|
|
76
|
+
get startTime(): number;
|
|
77
|
+
/**
|
|
78
|
+
* The time at which this cursor occurrence group ends.
|
|
79
|
+
*/
|
|
80
|
+
get endTime(): number;
|
|
81
|
+
/**
|
|
82
|
+
* All cursor occurrences in this group.
|
|
83
|
+
*
|
|
84
|
+
* This iterates all occurrences and as such should be used sparingly or stored locally.
|
|
85
|
+
*/
|
|
86
|
+
get allOccurrences(): CursorOccurrence[];
|
|
87
|
+
/**
|
|
88
|
+
* The cursor occurrence of movement type `movementType.DOWN`.
|
|
89
|
+
*/
|
|
90
|
+
private _down;
|
|
91
|
+
/**
|
|
92
|
+
* The cursor occurrences of movement type `movementType.MOVE`.
|
|
93
|
+
*/
|
|
94
|
+
private _moves;
|
|
95
|
+
/**
|
|
96
|
+
* The cursor occurrence of movement type `movementType.UP`.
|
|
97
|
+
*
|
|
98
|
+
* May not exist, such as when the player holds their cursor until the end of a beatmap.
|
|
99
|
+
*/
|
|
100
|
+
private _up?;
|
|
101
|
+
constructor(down: CursorOccurrence, moves: CursorOccurrence[], up?: CursorOccurrence);
|
|
102
|
+
/**
|
|
103
|
+
* Determines whether this cursor occurrence group is active at the specified time.
|
|
104
|
+
*
|
|
105
|
+
* @param time The time.
|
|
106
|
+
* @returns Whether this cursor occurrence group is active at the specified time.
|
|
107
|
+
*/
|
|
108
|
+
isActiveAt(time: number): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Finds the cursor occurrence that is active at a given time.
|
|
111
|
+
*
|
|
112
|
+
* @param time The time.
|
|
113
|
+
* @returns The cursor occurrence at the given time, `null` if not found.
|
|
114
|
+
*/
|
|
115
|
+
cursorAt(time: number): CursorOccurrence | null;
|
|
116
|
+
}
|
|
117
|
+
|
|
33
118
|
/**
|
|
34
119
|
* Contains information about a cursor instance.
|
|
35
120
|
*/
|
|
@@ -58,15 +143,37 @@ interface CursorInformation {
|
|
|
58
143
|
/**
|
|
59
144
|
* Represents a cursor instance in an osu!droid replay.
|
|
60
145
|
*
|
|
61
|
-
* Stores cursor movement data in the form of `
|
|
146
|
+
* Stores cursor movement data in the form of `CursorOccurrenceGroup`s.
|
|
62
147
|
*
|
|
63
148
|
* This is used when analyzing replays using replay analyzer.
|
|
64
149
|
*/
|
|
65
150
|
declare class CursorData {
|
|
66
151
|
/**
|
|
67
|
-
* The
|
|
152
|
+
* The occurrence groups of this cursor instance.
|
|
68
153
|
*/
|
|
69
|
-
|
|
154
|
+
occurrenceGroups: CursorOccurrenceGroup[];
|
|
155
|
+
/**
|
|
156
|
+
* The time at which the first occurrence of this cursor instance occurs.
|
|
157
|
+
*
|
|
158
|
+
* Will return `null` if there are no occurrences.
|
|
159
|
+
*/
|
|
160
|
+
get earliestOccurrenceTime(): number | null;
|
|
161
|
+
/**
|
|
162
|
+
* The time at which the latest occurrence of this cursor instance occurs.
|
|
163
|
+
*
|
|
164
|
+
* Will return `null` if there are no occurrences.
|
|
165
|
+
*/
|
|
166
|
+
get latestOccurrenceTime(): number | null;
|
|
167
|
+
/**
|
|
168
|
+
* The amount of cursor occurrences of this cursor instance.
|
|
169
|
+
*/
|
|
170
|
+
get totalOccurrences(): number;
|
|
171
|
+
/**
|
|
172
|
+
* All cursor occurrences of this cursor instnace.
|
|
173
|
+
*
|
|
174
|
+
* This iterates all occurrence groups and as such should be used sparingly or stored locally.
|
|
175
|
+
*/
|
|
176
|
+
get allOccurrences(): CursorOccurrence[];
|
|
70
177
|
constructor(values: CursorInformation);
|
|
71
178
|
}
|
|
72
179
|
|
|
@@ -578,9 +685,17 @@ declare class ThreeFingerChecker {
|
|
|
578
685
|
*/
|
|
579
686
|
private readonly breakPointAccurateTimes;
|
|
580
687
|
/**
|
|
581
|
-
* A cursor
|
|
688
|
+
* A cursor occurrence nested array that only contains `movementType.DOWN` movement ID occurrences.
|
|
689
|
+
*
|
|
690
|
+
* Each index represents the cursor index.
|
|
582
691
|
*/
|
|
583
692
|
private readonly downCursorInstances;
|
|
693
|
+
/**
|
|
694
|
+
* All cursor occurrences in the replay.
|
|
695
|
+
*
|
|
696
|
+
* Each index represents the cursor index.
|
|
697
|
+
*/
|
|
698
|
+
private readonly allCursorInstances;
|
|
584
699
|
/**
|
|
585
700
|
* Nerf factors from all sections that were three-fingered.
|
|
586
701
|
*/
|