@rian8337/osu-droid-replay-analyzer 1.4.12-alpha.6 → 1.4.12
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/ReplayAnalyzer.js +1 -0
- package/dist/ReplayAnalyzer.js.map +1 -0
- package/dist/analysis/BeatmapSectionGenerator.js +1 -0
- package/dist/analysis/BeatmapSectionGenerator.js.map +1 -0
- package/dist/analysis/ThreeFingerChecker.js +181 -136
- package/dist/analysis/ThreeFingerChecker.js.map +1 -0
- package/dist/analysis/TwoHandChecker.js +1 -1
- package/dist/analysis/TwoHandChecker.js.map +1 -0
- package/dist/analysis/data/BeatmapSection.js +1 -0
- package/dist/analysis/data/BeatmapSection.js.map +1 -0
- package/dist/analysis/data/ThreeFingerBeatmapSection.js +3 -1
- package/dist/analysis/data/ThreeFingerBeatmapSection.js.map +1 -0
- package/dist/analysis/objects/IndexedHitObject.js +1 -0
- package/dist/analysis/objects/IndexedHitObject.js.map +1 -0
- package/dist/constants/hitResult.js +1 -0
- package/dist/constants/hitResult.js.map +1 -0
- package/dist/constants/movementType.js +1 -0
- package/dist/constants/movementType.js.map +1 -0
- package/dist/data/CursorData.js +1 -0
- package/dist/data/CursorData.js.map +1 -0
- package/dist/data/ReplayData.js +1 -0
- package/dist/data/ReplayData.js.map +1 -0
- package/dist/data/ReplayObjectData.js +1 -0
- package/dist/data/ReplayObjectData.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/package.json +4 -4
package/dist/ReplayAnalyzer.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayAnalyzer.js","sourceRoot":"","sources":["../src/ReplayAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BeatmapSectionGenerator.js","sourceRoot":"","sources":["../../src/analysis/BeatmapSectionGenerator.ts"],"names":[],"mappings":";;;AAUA;;GAEG;AACH,MAAsB,uBAAuB;IACzC;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CACnB,GAAqC,EACrC,qBAA6B,EAC7B,mBAA2B;QAE3B,MAAM,eAAe,GAAqB,EAAE,CAAC;QAC7C,IAAI,gBAAgB,GAAW,CAAC,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7C,MAAM,OAAO,GACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GACN,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEvB,MAAM,aAAa,GACf,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAEnD,IAAI,aAAa,IAAI,mBAAmB,EAAE;gBACtC,4DAA4D;gBAC5D,IAAI,CAAC,GAAG,gBAAgB,GAAG,qBAAqB,EAAE;oBAC9C,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,SAAS;iBACZ;gBAED,eAAe,CAAC,IAAI,CAAC;oBACjB,gBAAgB;oBAChB,eAAe,EAAE,CAAC;iBACrB,CAAC,CAAC;gBAEH,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;aAC5B;SACJ;QAED,2FAA2F;QAC3F,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB,GAAG,qBAAqB,EAAE;YAC/D,eAAe,CAAC,IAAI,CAAC;gBACjB,gBAAgB;gBAChB,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;aAC1C,CAAC,CAAC;SACN;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AArDD,0DAqDC"}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ThreeFingerChecker = void 0;
|
|
4
4
|
const osu_base_1 = require("@rian8337/osu-base");
|
|
5
|
-
const
|
|
6
|
-
const movementType_1 = require("../constants/movementType");
|
|
5
|
+
const __1 = require("..");
|
|
7
6
|
const CursorData_1 = require("../data/CursorData");
|
|
8
7
|
const BeatmapSectionGenerator_1 = require("./BeatmapSectionGenerator");
|
|
9
8
|
const ThreeFingerBeatmapSection_1 = require("./data/ThreeFingerBeatmapSection");
|
|
@@ -50,7 +49,7 @@ class ThreeFingerChecker {
|
|
|
50
49
|
* Note that this value does not account for the speed multiplier of
|
|
51
50
|
* the play, similar to the way replay object data is stored.
|
|
52
51
|
*/
|
|
53
|
-
this.maxSectionDeltaTime =
|
|
52
|
+
this.maxSectionDeltaTime = 2000;
|
|
54
53
|
/**
|
|
55
54
|
* The minimum object count required to make a beatmap section.
|
|
56
55
|
*
|
|
@@ -122,7 +121,7 @@ class ThreeFingerChecker {
|
|
|
122
121
|
return { is3Finger: false, penalty: 1 };
|
|
123
122
|
}
|
|
124
123
|
this.getBeatmapSections();
|
|
125
|
-
this.
|
|
124
|
+
this.detectDragPlay();
|
|
126
125
|
this.getDetailedBeatmapSections();
|
|
127
126
|
this.preventAccidentalTaps();
|
|
128
127
|
if (this.downCursorInstances.filter((v) => v.size > 0).length <= 3) {
|
|
@@ -148,11 +147,11 @@ class ThreeFingerChecker {
|
|
|
148
147
|
// For sliders and spinners, automatically set hit window length to be as lenient as possible.
|
|
149
148
|
let beforeIndexHitWindowLength = this.hitWindow.hitWindowFor50(isPrecise);
|
|
150
149
|
switch (objectData[beforeIndex].result) {
|
|
151
|
-
case
|
|
150
|
+
case __1.hitResult.RESULT_300:
|
|
152
151
|
beforeIndexHitWindowLength =
|
|
153
152
|
this.hitWindow.hitWindowFor300(isPrecise);
|
|
154
153
|
break;
|
|
155
|
-
case
|
|
154
|
+
case __1.hitResult.RESULT_100:
|
|
156
155
|
beforeIndexHitWindowLength =
|
|
157
156
|
this.hitWindow.hitWindowFor100(isPrecise);
|
|
158
157
|
break;
|
|
@@ -166,11 +165,11 @@ class ThreeFingerChecker {
|
|
|
166
165
|
// For sliders and spinners, automatically set hit window length to be as lenient as possible.
|
|
167
166
|
let afterIndexHitWindowLength = this.hitWindow.hitWindowFor50(isPrecise);
|
|
168
167
|
switch (objectData[afterIndex].result) {
|
|
169
|
-
case
|
|
168
|
+
case __1.hitResult.RESULT_300:
|
|
170
169
|
afterIndexHitWindowLength =
|
|
171
170
|
this.hitWindow.hitWindowFor300(isPrecise);
|
|
172
171
|
break;
|
|
173
|
-
case
|
|
172
|
+
case __1.hitResult.RESULT_100:
|
|
174
173
|
afterIndexHitWindowLength =
|
|
175
174
|
this.hitWindow.hitWindowFor100(isPrecise);
|
|
176
175
|
break;
|
|
@@ -200,11 +199,11 @@ class ThreeFingerChecker {
|
|
|
200
199
|
let firstObjectHitWindow = this.hitWindow.hitWindowFor50(isPrecise);
|
|
201
200
|
if (objects[0].object instanceof osu_base_1.Circle) {
|
|
202
201
|
switch (firstObjectResult) {
|
|
203
|
-
case
|
|
202
|
+
case __1.hitResult.RESULT_300:
|
|
204
203
|
firstObjectHitWindow =
|
|
205
204
|
this.hitWindow.hitWindowFor300(isPrecise);
|
|
206
205
|
break;
|
|
207
|
-
case
|
|
206
|
+
case __1.hitResult.RESULT_100:
|
|
208
207
|
firstObjectHitWindow =
|
|
209
208
|
this.hitWindow.hitWindowFor100(isPrecise);
|
|
210
209
|
break;
|
|
@@ -217,11 +216,11 @@ class ThreeFingerChecker {
|
|
|
217
216
|
let lastObjectHitWindow = this.hitWindow.hitWindowFor50(isPrecise);
|
|
218
217
|
if (objects.at(-1).object instanceof osu_base_1.Circle) {
|
|
219
218
|
switch (lastObjectResult) {
|
|
220
|
-
case
|
|
219
|
+
case __1.hitResult.RESULT_300:
|
|
221
220
|
lastObjectHitWindow =
|
|
222
221
|
this.hitWindow.hitWindowFor300(isPrecise);
|
|
223
222
|
break;
|
|
224
|
-
case
|
|
223
|
+
case __1.hitResult.RESULT_100:
|
|
225
224
|
lastObjectHitWindow =
|
|
226
225
|
this.hitWindow.hitWindowFor100(isPrecise);
|
|
227
226
|
break;
|
|
@@ -245,7 +244,7 @@ class ThreeFingerChecker {
|
|
|
245
244
|
id: [],
|
|
246
245
|
});
|
|
247
246
|
for (let j = 0; j < cursorInstance.size; ++j) {
|
|
248
|
-
if (cursorInstance.id[j] !==
|
|
247
|
+
if (cursorInstance.id[j] !== __1.movementType.DOWN) {
|
|
249
248
|
continue;
|
|
250
249
|
}
|
|
251
250
|
const time = cursorInstance.time[j];
|
|
@@ -274,113 +273,162 @@ class ThreeFingerChecker {
|
|
|
274
273
|
this.beatmapSections.push(new ThreeFingerBeatmapSection_1.ThreeFingerBeatmapSection({
|
|
275
274
|
firstObjectIndex: beatmapSection.firstObjectIndex,
|
|
276
275
|
lastObjectIndex: beatmapSection.lastObjectIndex,
|
|
277
|
-
|
|
276
|
+
isDragged: false,
|
|
277
|
+
dragFingerIndex: -1,
|
|
278
278
|
}));
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
/**
|
|
282
|
-
*
|
|
282
|
+
* Checks whether or not each beatmap sections is dragged.
|
|
283
283
|
*/
|
|
284
|
-
|
|
285
|
-
for (
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
const firstObjectData = this.data.hitObjectData[section.firstObjectIndex];
|
|
290
|
-
const lastObject = this.map.objects[section.lastObjectIndex];
|
|
291
|
-
const lastObjectData = this.data.hitObjectData[section.lastObjectIndex];
|
|
292
|
-
const startTime = firstObject.object.startTime + firstObjectData.accuracy;
|
|
293
|
-
const endTime = lastObject.object.endTime + lastObjectData.accuracy;
|
|
294
|
-
// Get the cursor instance index in the section that has the most movementType.MOVE instance.
|
|
295
|
-
const moveInstanceAmounts = [];
|
|
296
|
-
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
297
|
-
let amount = 0;
|
|
298
|
-
const c = this.data.cursorMovement[i];
|
|
299
|
-
for (let j = 0; j < c.size; ++j) {
|
|
300
|
-
if (c.time[j] < startTime) {
|
|
301
|
-
continue;
|
|
302
|
-
}
|
|
303
|
-
if (c.time[j] > endTime) {
|
|
304
|
-
break;
|
|
305
|
-
}
|
|
306
|
-
if (c.id[j] === movementType_1.movementType.MOVE) {
|
|
307
|
-
++amount;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
moveInstanceAmounts.push(amount);
|
|
311
|
-
}
|
|
312
|
-
currentIndex = moveInstanceAmounts.indexOf(Math.max(...moveInstanceAmounts));
|
|
313
|
-
}
|
|
314
|
-
section.mainFingerIndex = currentIndex;
|
|
284
|
+
detectDragPlay() {
|
|
285
|
+
for (let i = 0; i < this.beatmapSections.length; ++i) {
|
|
286
|
+
const dragIndex = this.checkDrag(this.beatmapSections[i]);
|
|
287
|
+
this.beatmapSections[i].dragFingerIndex = dragIndex;
|
|
288
|
+
this.beatmapSections[i].isDragged = dragIndex !== -1;
|
|
315
289
|
}
|
|
316
290
|
}
|
|
317
291
|
/**
|
|
318
|
-
*
|
|
292
|
+
* Checks if a section is dragged and returns the index of the drag finger.
|
|
293
|
+
*
|
|
294
|
+
* If the section is not dragged, -1 will be returned.
|
|
319
295
|
*
|
|
320
|
-
* @param section The
|
|
296
|
+
* @param section The section to check.
|
|
321
297
|
*/
|
|
322
|
-
|
|
323
|
-
const
|
|
324
|
-
const
|
|
298
|
+
checkDrag(section) {
|
|
299
|
+
const objects = this.map.objects;
|
|
300
|
+
const objectData = this.data.hitObjectData;
|
|
301
|
+
const isPrecise = this.map.mods.some((m) => m instanceof osu_base_1.ModPrecise);
|
|
302
|
+
const firstObject = objects[section.firstObjectIndex];
|
|
303
|
+
const lastObject = objects[section.lastObjectIndex];
|
|
304
|
+
let firstObjectMinHitTime = firstObject.object.startTime;
|
|
305
|
+
if (firstObject.object instanceof osu_base_1.Circle) {
|
|
306
|
+
switch (objectData[section.firstObjectIndex].result) {
|
|
307
|
+
case __1.hitResult.RESULT_300:
|
|
308
|
+
firstObjectMinHitTime -=
|
|
309
|
+
this.hitWindow.hitWindowFor300(isPrecise);
|
|
310
|
+
break;
|
|
311
|
+
case __1.hitResult.RESULT_100:
|
|
312
|
+
firstObjectMinHitTime -=
|
|
313
|
+
this.hitWindow.hitWindowFor100(isPrecise);
|
|
314
|
+
break;
|
|
315
|
+
default:
|
|
316
|
+
firstObjectMinHitTime -=
|
|
317
|
+
this.hitWindow.hitWindowFor50(isPrecise);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
firstObjectMinHitTime -= this.hitWindow.hitWindowFor50(isPrecise);
|
|
322
|
+
}
|
|
323
|
+
let lastObjectMaxHitTime = lastObject.object.startTime;
|
|
324
|
+
if (lastObject.object instanceof osu_base_1.Circle) {
|
|
325
|
+
switch (objectData[section.lastObjectIndex].result) {
|
|
326
|
+
case __1.hitResult.RESULT_300:
|
|
327
|
+
lastObjectMaxHitTime +=
|
|
328
|
+
this.hitWindow.hitWindowFor300(isPrecise);
|
|
329
|
+
break;
|
|
330
|
+
case __1.hitResult.RESULT_100:
|
|
331
|
+
lastObjectMaxHitTime +=
|
|
332
|
+
this.hitWindow.hitWindowFor100(isPrecise);
|
|
333
|
+
break;
|
|
334
|
+
default:
|
|
335
|
+
lastObjectMaxHitTime +=
|
|
336
|
+
this.hitWindow.hitWindowFor50(isPrecise);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
lastObjectMaxHitTime += this.hitWindow.hitWindowFor50(isPrecise);
|
|
341
|
+
}
|
|
342
|
+
// Since there may be more than 1 cursor instance index,
|
|
343
|
+
// we check which cursor instance follows hitobjects all over.
|
|
344
|
+
const cursorIndexes = [];
|
|
325
345
|
for (let i = 0; i < this.data.cursorMovement.length; ++i) {
|
|
326
|
-
|
|
327
|
-
|
|
346
|
+
const c = this.data.cursorMovement[i];
|
|
347
|
+
if (c.size === 0) {
|
|
348
|
+
continue;
|
|
349
|
+
}
|
|
350
|
+
// Do not include cursors that don't have an occurence in this section
|
|
351
|
+
// this speeds up checking process.
|
|
352
|
+
if (c.time.filter((v) => v >= firstObjectMinHitTime && v <= lastObjectMaxHitTime).length === 0) {
|
|
353
|
+
continue;
|
|
328
354
|
}
|
|
355
|
+
// If this cursor instance doesn't move, it's not the cursor instance we want.
|
|
356
|
+
if (c.id.filter((v) => v === __1.movementType.MOVE).length === 0) {
|
|
357
|
+
continue;
|
|
358
|
+
}
|
|
359
|
+
cursorIndexes.push(i);
|
|
360
|
+
}
|
|
361
|
+
return this.findDragIndex(objects.slice(section.firstObjectIndex, section.lastObjectIndex + 1), objectData.slice(section.firstObjectIndex, section.lastObjectIndex + 1), cursorIndexes);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Finds the drag index of the section.
|
|
365
|
+
*
|
|
366
|
+
* @param sectionObjects The objects in the section.
|
|
367
|
+
* @param sectionReplayObjectData The hitobject data of all objects in the section.
|
|
368
|
+
* @param cursorIndexes The indexes of the cursor instance that has at least an occurrence in the section.
|
|
369
|
+
*/
|
|
370
|
+
findDragIndex(sectionObjects, sectionReplayObjectData, cursorIndexes) {
|
|
371
|
+
let objectIndex = sectionObjects.findIndex((v, i) => !(v.object instanceof osu_base_1.Spinner) &&
|
|
372
|
+
sectionReplayObjectData[i].result !== __1.hitResult.RESULT_0);
|
|
373
|
+
if (objectIndex === -1) {
|
|
374
|
+
return -1;
|
|
329
375
|
}
|
|
330
|
-
|
|
331
|
-
if (
|
|
376
|
+
while (cursorIndexes.length > 0) {
|
|
377
|
+
if (objectIndex === sectionObjects.length) {
|
|
332
378
|
break;
|
|
333
379
|
}
|
|
334
|
-
const
|
|
335
|
-
|
|
380
|
+
const o = sectionObjects[objectIndex];
|
|
381
|
+
const s = sectionReplayObjectData[objectIndex];
|
|
382
|
+
++objectIndex;
|
|
383
|
+
if (s.result === __1.hitResult.RESULT_0) {
|
|
336
384
|
continue;
|
|
337
385
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
386
|
+
// Get the cursor instance that is closest to the object's hit time.
|
|
387
|
+
for (let j = 0; j < cursorIndexes.length; ++j) {
|
|
388
|
+
const c = this.data.cursorMovement[cursorIndexes[j]];
|
|
389
|
+
// Cursor instances aren't always recorded at all times,
|
|
390
|
+
// therefore the game emulates the movement between
|
|
391
|
+
// movementType.MOVE cursors.
|
|
392
|
+
const hitTime = o.object.startTime + s.accuracy;
|
|
393
|
+
const nextHitIndex = c.time.findIndex((v) => v >= hitTime);
|
|
394
|
+
const hitIndex = nextHitIndex - 1;
|
|
395
|
+
if (hitIndex <= -1) {
|
|
396
|
+
cursorIndexes[j] = -1;
|
|
342
397
|
continue;
|
|
343
398
|
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
//
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
(c.time[k] - c.time[k + 1]);
|
|
363
|
-
cursorPosition.x = osu_base_1.Interpolation.lerp(c.x[k], c.x[k + 1], t);
|
|
364
|
-
cursorPosition.y = osu_base_1.Interpolation.lerp(c.y[k], c.y[k + 1], t);
|
|
365
|
-
if (object.object.stackedPosition.getDistance(cursorPosition) <= object.object.radius) {
|
|
366
|
-
isInObject = true;
|
|
367
|
-
break;
|
|
368
|
-
}
|
|
399
|
+
if (c.id[hitIndex] === __1.movementType.UP) {
|
|
400
|
+
cursorIndexes[j] = -1;
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
const cursorPosition = new osu_base_1.Vector2(c.x[hitIndex], c.y[hitIndex]);
|
|
404
|
+
let isInObject = false;
|
|
405
|
+
if (c.id[nextHitIndex] === __1.movementType.MOVE ||
|
|
406
|
+
c.id[hitIndex] === __1.movementType.MOVE) {
|
|
407
|
+
// Try to interpolate movement between two movementType.MOVE cursor every 1ms.
|
|
408
|
+
// This minimizes rounding error.
|
|
409
|
+
for (let mSecPassed = c.time[hitIndex]; mSecPassed <= c.time[nextHitIndex]; ++mSecPassed) {
|
|
410
|
+
const t = (mSecPassed - c.time[nextHitIndex]) /
|
|
411
|
+
(c.time[hitIndex] - c.time[nextHitIndex]);
|
|
412
|
+
cursorPosition.x = osu_base_1.Interpolation.lerp(c.x[hitIndex], c.x[nextHitIndex], t);
|
|
413
|
+
cursorPosition.y = osu_base_1.Interpolation.lerp(c.y[hitIndex], c.y[nextHitIndex], t);
|
|
414
|
+
if (o.object.stackedPosition.getDistance(cursorPosition) <= o.object.radius) {
|
|
415
|
+
isInObject = true;
|
|
416
|
+
break;
|
|
369
417
|
}
|
|
370
418
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
isInObject =
|
|
422
|
+
o.object.stackedPosition.getDistance(cursorPosition) <=
|
|
423
|
+
o.object.radius;
|
|
424
|
+
}
|
|
425
|
+
if (!isInObject) {
|
|
426
|
+
cursorIndexes[j] = -1;
|
|
379
427
|
}
|
|
380
428
|
}
|
|
429
|
+
cursorIndexes = cursorIndexes.filter((v) => v !== -1);
|
|
381
430
|
}
|
|
382
|
-
|
|
383
|
-
return first ?? null;
|
|
431
|
+
return cursorIndexes.shift() ?? -1;
|
|
384
432
|
}
|
|
385
433
|
/**
|
|
386
434
|
* Redivides the beatmap into sections.
|
|
@@ -409,15 +457,18 @@ class ThreeFingerChecker {
|
|
|
409
457
|
newBeatmapSections.push({
|
|
410
458
|
firstObjectIndex: newFirstObjectIndex,
|
|
411
459
|
lastObjectIndex: i,
|
|
412
|
-
|
|
460
|
+
isDragged: beatmapSection.isDragged,
|
|
461
|
+
dragFingerIndex: beatmapSection.dragFingerIndex,
|
|
413
462
|
});
|
|
414
463
|
}
|
|
415
464
|
}
|
|
416
465
|
// Don't forget to manually add the last beatmap section, which would otherwise be ignored.
|
|
417
466
|
if (inSpeedSection) {
|
|
418
467
|
newBeatmapSections.push({
|
|
419
|
-
...beatmapSection,
|
|
420
468
|
firstObjectIndex: newFirstObjectIndex,
|
|
469
|
+
lastObjectIndex: beatmapSection.lastObjectIndex,
|
|
470
|
+
isDragged: beatmapSection.isDragged,
|
|
471
|
+
dragFingerIndex: beatmapSection.dragFingerIndex,
|
|
421
472
|
});
|
|
422
473
|
}
|
|
423
474
|
}
|
|
@@ -474,15 +525,15 @@ class ThreeFingerChecker {
|
|
|
474
525
|
// We only filter cursor instances that are above the strain threshold.
|
|
475
526
|
// This minimalizes the amount of cursor instances to analyze.
|
|
476
527
|
for (const beatmapSection of this.beatmapSections) {
|
|
477
|
-
const
|
|
528
|
+
const dragIndex = beatmapSection.dragFingerIndex;
|
|
478
529
|
const startTime = objects[beatmapSection.firstObjectIndex].object.startTime +
|
|
479
530
|
(objectData[beatmapSection.firstObjectIndex].result !==
|
|
480
|
-
|
|
531
|
+
__1.hitResult.RESULT_0
|
|
481
532
|
? objectData[beatmapSection.firstObjectIndex].accuracy
|
|
482
533
|
: -this.hitWindow.hitWindowFor50(isPrecise));
|
|
483
534
|
const endTime = objects[beatmapSection.lastObjectIndex].object.endTime +
|
|
484
535
|
(objectData[beatmapSection.lastObjectIndex].result !==
|
|
485
|
-
|
|
536
|
+
__1.hitResult.RESULT_0
|
|
486
537
|
? objectData[beatmapSection.lastObjectIndex].accuracy
|
|
487
538
|
: this.hitWindow.hitWindowFor50(isPrecise));
|
|
488
539
|
// Filter cursor instances during section.
|
|
@@ -499,6 +550,10 @@ class ThreeFingerChecker {
|
|
|
499
550
|
const cursorAmounts = [];
|
|
500
551
|
const cursorVectorTimes = [];
|
|
501
552
|
for (let i = 0; i < this.downCursorInstances.length; ++i) {
|
|
553
|
+
// Do not include drag cursor instance.
|
|
554
|
+
if (i === dragIndex) {
|
|
555
|
+
continue;
|
|
556
|
+
}
|
|
502
557
|
const cursorData = this.downCursorInstances[i];
|
|
503
558
|
let amount = 0;
|
|
504
559
|
for (let j = 0; j < cursorData.size; ++j) {
|
|
@@ -513,25 +568,18 @@ class ThreeFingerChecker {
|
|
|
513
568
|
}
|
|
514
569
|
cursorAmounts.push(amount);
|
|
515
570
|
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
else {
|
|
529
|
-
invalidCursorPressCount += cursorAmounts[i];
|
|
530
|
-
}
|
|
531
|
-
validIndexes.push(i);
|
|
532
|
-
}
|
|
533
|
-
validIndexes.push(mainIndex);
|
|
534
|
-
const threeFingerRatio = invalidCursorPressCount / validCursorPressCount;
|
|
571
|
+
// This index will be used to detect if a section is 3-fingered.
|
|
572
|
+
// If the section is dragged, the dragged instance will be ignored,
|
|
573
|
+
// hence why the index is 1 less than nondragged section.
|
|
574
|
+
const fingerSplitIndex = dragIndex !== -1 ? 2 : 3;
|
|
575
|
+
// Divide >=4th (3rd for drag) cursor instances with 1st + 2nd (+ 3rd for nondrag)
|
|
576
|
+
// to check if the section is 3-fingered.
|
|
577
|
+
const threeFingerRatio = cursorAmounts
|
|
578
|
+
.slice(fingerSplitIndex)
|
|
579
|
+
.reduce((acc, value) => acc + value, 0) /
|
|
580
|
+
cursorAmounts
|
|
581
|
+
.slice(0, fingerSplitIndex)
|
|
582
|
+
.reduce((acc, value) => acc + value, 0);
|
|
535
583
|
const similarPresses = [];
|
|
536
584
|
for (const cursorVectorTime of cursorVectorTimes) {
|
|
537
585
|
const pressIndex = similarPresses.findIndex((v) => v.vector.getDistance(cursorVectorTime.vector) <=
|
|
@@ -579,29 +627,25 @@ class ThreeFingerChecker {
|
|
|
579
627
|
.slice(beatmapSection.firstObjectIndex, beatmapSection.lastObjectIndex)
|
|
580
628
|
.reduce((acc, value) => acc +
|
|
581
629
|
value.originalTapStrain /
|
|
582
|
-
ThreeFingerChecker.strainThreshold, 0), 0.
|
|
630
|
+
ThreeFingerChecker.strainThreshold, 0), 0.85);
|
|
631
|
+
// We can ignore the first 3 (2 for drag) filled cursor instances
|
|
632
|
+
// since they are guaranteed not 3 finger.
|
|
633
|
+
const threeFingerCursorAmounts = cursorAmounts
|
|
634
|
+
.slice(fingerSplitIndex)
|
|
635
|
+
.filter((amount) => amount > 0);
|
|
583
636
|
// Finger factor applies more penalty if more fingers were used.
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
}
|
|
590
|
-
fingerFactor += Math.pow((penaltyIndex * cursorAmounts[i] * objectCount) /
|
|
591
|
-
this.strainNoteCount, 0.8);
|
|
592
|
-
++penaltyIndex;
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
else {
|
|
596
|
-
fingerFactor = Math.pow(validPresses.reduce((acc, value, index) => acc +
|
|
637
|
+
const fingerFactor = threeFingerRatio > this.threeFingerRatioThreshold
|
|
638
|
+
? threeFingerCursorAmounts.reduce((acc, value, index) => acc +
|
|
639
|
+
Math.pow(((index + 1) * value * objectCount) /
|
|
640
|
+
this.strainNoteCount, 0.8), 1)
|
|
641
|
+
: Math.pow(validPresses.reduce((acc, value, index) => acc +
|
|
597
642
|
Math.pow(((index + 1) *
|
|
598
643
|
(value.count /
|
|
599
644
|
(this
|
|
600
645
|
.cursorDistancingCountThreshold *
|
|
601
646
|
2)) *
|
|
602
647
|
objectCount) /
|
|
603
|
-
this.strainNoteCount, 0.2), 1), 0.
|
|
604
|
-
}
|
|
648
|
+
this.strainNoteCount, 0.2), 1), 0.2);
|
|
605
649
|
// Length factor applies more penalty if there are more 3-fingered object.
|
|
606
650
|
const lengthFactor = 1 + Math.pow(objectCount / this.strainNoteCount, 1.2);
|
|
607
651
|
this.nerfFactors.push({
|
|
@@ -629,3 +673,4 @@ exports.ThreeFingerChecker = ThreeFingerChecker;
|
|
|
629
673
|
* Increasing this number will result in less sections being flagged.
|
|
630
674
|
*/
|
|
631
675
|
ThreeFingerChecker.strainThreshold = 175;
|
|
676
|
+
//# sourceMappingURL=ThreeFingerChecker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreeFingerChecker.js","sourceRoot":"","sources":["../../src/analysis/ThreeFingerChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -226,7 +226,6 @@ class TwoHandChecker {
|
|
|
226
226
|
starRating.objects[0].object.startTime -
|
|
227
227
|
this.indexedHitObjects[0].object.object.startTime;
|
|
228
228
|
starRating.objects[0].strainTime = Math.max(50, starRating.objects[0].deltaTime);
|
|
229
|
-
//@ts-expect-error: Collision with rebalance star rating, but this works fine.
|
|
230
229
|
this.map.objects.push(...starRating.objects);
|
|
231
230
|
});
|
|
232
231
|
this.map.objects.sort((a, b) => {
|
|
@@ -236,3 +235,4 @@ class TwoHandChecker {
|
|
|
236
235
|
}
|
|
237
236
|
}
|
|
238
237
|
exports.TwoHandChecker = TwoHandChecker;
|
|
238
|
+
//# sourceMappingURL=TwoHandChecker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TwoHandChecker.js","sourceRoot":"","sources":["../../src/analysis/TwoHandChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BeatmapSection.js","sourceRoot":"","sources":["../../../src/analysis/data/BeatmapSection.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,cAAc;IAWvB;;;OAGG;IACH,YAAY,gBAAwB,EAAE,eAAuB;QACzD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;CACJ;AAnBD,wCAmBC"}
|
|
@@ -8,7 +8,9 @@ const BeatmapSection_1 = require("./BeatmapSection");
|
|
|
8
8
|
class ThreeFingerBeatmapSection extends BeatmapSection_1.BeatmapSection {
|
|
9
9
|
constructor(values) {
|
|
10
10
|
super(values.firstObjectIndex, values.lastObjectIndex);
|
|
11
|
-
this.
|
|
11
|
+
this.isDragged = values.isDragged;
|
|
12
|
+
this.dragFingerIndex = values.dragFingerIndex;
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
exports.ThreeFingerBeatmapSection = ThreeFingerBeatmapSection;
|
|
16
|
+
//# sourceMappingURL=ThreeFingerBeatmapSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreeFingerBeatmapSection.js","sourceRoot":"","sources":["../../../src/analysis/data/ThreeFingerBeatmapSection.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,+BAAc;IAWzD,YAAY,MAKX;QACG,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAClD,CAAC;CACJ;AArBD,8DAqBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedHitObject.js","sourceRoot":"","sources":["../../../src/analysis/objects/IndexedHitObject.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,gBAAgB;IAWzB;;;OAGG;IACH,YACI,MAA0D,EAC1D,WAAmB;QAEnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ;AAtBD,4CAsBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitResult.js","sourceRoot":"","sources":["../../src/constants/hitResult.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,SAoBX;AApBD,WAAY,SAAS;IACjB;;OAEG;IACH,iDAAY,CAAA;IAEZ;;OAEG;IACH,mDAAa,CAAA;IAEb;;OAEG;IACH,qDAAc,CAAA;IAEd;;OAEG;IACH,qDAAc,CAAA;AAClB,CAAC,EApBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAoBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"movementType.js","sourceRoot":"","sources":["../../src/constants/movementType.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,+CAAI,CAAA;IACJ,+CAAI,CAAA;IACJ,2CAAE,CAAA;AACN,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB"}
|
package/dist/data/CursorData.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorData.js","sourceRoot":"","sources":["../../src/data/CursorData.ts"],"names":[],"mappings":";;;AAgCA;;;;;;GAMG;AACH,MAAa,UAAU;IAOnB,YAAY,MAAyB;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,CAAC;CACJ;AAdD,gCAcC"}
|
package/dist/data/ReplayData.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayData.js","sourceRoot":"","sources":["../../src/data/ReplayData.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AA0InD;;;;;;GAMG;AACH,MAAa,UAAU;IAqBnB,YAAY,MAAyB;QACjC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,CAAC;CACJ;AA1CD,gCA0CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayObjectData.js","sourceRoot":"","sources":["../../src/data/ReplayObjectData.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,MAAa,gBAAgB;IAkBzB,YAAY,MAiBX;QACG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;CACJ;AAxCD,4CAwCC"}
|
package/dist/index.js
CHANGED
|
@@ -17,3 +17,4 @@ __exportStar(require("./ReplayAnalyzer"), exports);
|
|
|
17
17
|
__exportStar(require("./data/ReplayData"), exports);
|
|
18
18
|
__exportStar(require("./data/ReplayObjectData"), exports);
|
|
19
19
|
__exportStar(require("./analysis/ThreeFingerChecker"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC;AACtC,2DAAyC;AACzC,mDAAiC;AACjC,oDAAkC;AAClC,0DAAwC;AACxC,gEAA8C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rian8337/osu-droid-replay-analyzer",
|
|
3
|
-
"version": "1.4.12
|
|
3
|
+
"version": "1.4.12",
|
|
4
4
|
"description": "A replay analyzer for analyzing osu!droid replay files.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"osu",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@rian8337/osu-base": "^1.4.8",
|
|
35
|
-
"@rian8337/osu-difficulty-calculator": "^1.4.
|
|
36
|
-
"@rian8337/osu-rebalance-difficulty-calculator": "^1.4.12
|
|
35
|
+
"@rian8337/osu-difficulty-calculator": "^1.4.12",
|
|
36
|
+
"@rian8337/osu-rebalance-difficulty-calculator": "^1.4.12",
|
|
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": "bccb494a9760b2b4a75d4b7c47647a5105630704"
|
|
49
49
|
}
|