@rian8337/osu-droid-replay-analyzer 3.0.0-beta.32 → 3.0.0-beta.34
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 +343 -115
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/typings/index.d.ts +168 -9
package/dist/index.js
CHANGED
|
@@ -834,73 +834,69 @@ class ThreeFingerChecker {
|
|
|
834
834
|
* @param cursorIndexes The indexes of the cursor instance that has at least an occurrence in the section.
|
|
835
835
|
*/
|
|
836
836
|
findDragIndex(sectionObjects, sectionReplayObjectData, cursorIndexes) {
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
837
|
+
const isPrecise = this.calculator.mods.some((m) => m instanceof osuBase.ModPrecise);
|
|
838
|
+
const hitWindow50 = this.hitWindow.hitWindowFor50(isPrecise);
|
|
839
|
+
for (let i = 0; i < sectionObjects.length && cursorIndexes.every((v) => v !== -1); ++i) {
|
|
840
|
+
const object = sectionObjects[i];
|
|
841
|
+
const objectData = sectionReplayObjectData[i];
|
|
842
|
+
if (object.object instanceof osuBase.Spinner ||
|
|
843
|
+
objectData.result === exports.HitResult.miss) {
|
|
844
|
+
continue;
|
|
845
845
|
}
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
if (s.result === exports.HitResult.miss) {
|
|
846
|
+
// Exclude sliderbreaks.
|
|
847
|
+
if (object.object instanceof osuBase.Slider &&
|
|
848
|
+
objectData.accuracy === Math.floor(hitWindow50) + 13) {
|
|
850
849
|
continue;
|
|
851
850
|
}
|
|
852
|
-
|
|
851
|
+
const objectPosition = object.object.getStackedPosition(osuBase.Modes.droid);
|
|
852
|
+
const hitTime = object.object.startTime + objectData.accuracy;
|
|
853
|
+
// Observe the cursor position at the object's hit time.
|
|
853
854
|
for (let j = 0; j < cursorIndexes.length; ++j) {
|
|
854
|
-
|
|
855
|
-
// Cursor instances aren't always recorded at all times,
|
|
856
|
-
// therefore the game emulates the movement between
|
|
857
|
-
// movementType.MOVE cursors.
|
|
858
|
-
const hitTime = o.object.startTime + s.accuracy;
|
|
859
|
-
const cursorGroup = c.occurrenceGroups.find((v) => v.isActiveAt(hitTime));
|
|
860
|
-
if (!cursorGroup) {
|
|
855
|
+
if (cursorIndexes[j] === -1) {
|
|
861
856
|
continue;
|
|
862
857
|
}
|
|
863
|
-
const
|
|
864
|
-
const
|
|
865
|
-
|
|
866
|
-
if (hitIndex <= -1) {
|
|
867
|
-
cursorIndexes[j] = -1;
|
|
858
|
+
const cursorData = this.data.cursorMovement[cursorIndexes[j]];
|
|
859
|
+
const cursorGroup = cursorData.occurrenceGroups.find((v) => v.isActiveAt(hitTime));
|
|
860
|
+
if (!cursorGroup) {
|
|
868
861
|
continue;
|
|
869
862
|
}
|
|
870
|
-
const
|
|
871
|
-
let
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
isInObject =
|
|
863
|
+
const cursors = cursorGroup.allOccurrences;
|
|
864
|
+
for (let k = 1; k < cursors.length; ++k) {
|
|
865
|
+
const cursor = cursors[k];
|
|
866
|
+
const prevCursor = cursors[k - 1];
|
|
867
|
+
if (prevCursor.time <
|
|
868
|
+
object.object.startTime - hitWindow50) {
|
|
869
|
+
continue;
|
|
870
|
+
}
|
|
871
|
+
if (prevCursor.time >
|
|
872
|
+
object.object.startTime + hitWindow50) {
|
|
873
|
+
break;
|
|
874
|
+
}
|
|
875
|
+
let isInObject = false;
|
|
876
|
+
switch (cursor.id) {
|
|
877
|
+
case exports.MovementType.up:
|
|
878
|
+
isInObject =
|
|
879
|
+
prevCursor.position.getDistance(objectPosition) <= object.object.getRadius(osuBase.Modes.droid);
|
|
886
880
|
break;
|
|
887
|
-
|
|
881
|
+
case exports.MovementType.move:
|
|
882
|
+
// Interpolate movement.
|
|
883
|
+
for (let mSecPassed = prevCursor.time; !isInObject &&
|
|
884
|
+
mSecPassed <=
|
|
885
|
+
Math.min(cursor.time, object.object.startTime + hitWindow50); ++mSecPassed) {
|
|
886
|
+
const t = (mSecPassed - prevCursor.time) /
|
|
887
|
+
(cursor.time - prevCursor.time);
|
|
888
|
+
const cursorPosition = new osuBase.Vector2(osuBase.Interpolation.lerp(prevCursor.position.x, cursor.position.x, t), osuBase.Interpolation.lerp(prevCursor.position.y, cursor.position.y, t));
|
|
889
|
+
isInObject =
|
|
890
|
+
objectPosition.getDistance(cursorPosition) <= object.object.getRadius(osuBase.Modes.droid);
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
if (!isInObject) {
|
|
894
|
+
cursorIndexes[j] = -1;
|
|
888
895
|
}
|
|
889
|
-
}
|
|
890
|
-
else {
|
|
891
|
-
isInObject =
|
|
892
|
-
o.object
|
|
893
|
-
.getStackedPosition(osuBase.Modes.droid)
|
|
894
|
-
.getDistance(cursorPosition) <=
|
|
895
|
-
o.object.getRadius(osuBase.Modes.droid);
|
|
896
|
-
}
|
|
897
|
-
if (!isInObject) {
|
|
898
|
-
cursorIndexes[j] = -1;
|
|
899
896
|
}
|
|
900
897
|
}
|
|
901
|
-
cursorIndexes = cursorIndexes.filter((v) => v !== -1);
|
|
902
898
|
}
|
|
903
|
-
return cursorIndexes.
|
|
899
|
+
return cursorIndexes.find((v) => v !== -1) ?? -1;
|
|
904
900
|
}
|
|
905
901
|
/**
|
|
906
902
|
* Redivides the beatmap into sections.
|
|
@@ -1000,13 +996,6 @@ class ThreeFingerChecker {
|
|
|
1000
996
|
exports.HitResult.miss
|
|
1001
997
|
? objectData[beatmapSection.lastObjectIndex].accuracy
|
|
1002
998
|
: this.hitWindow.hitWindowFor50(isPrecise));
|
|
1003
|
-
// Filter cursor instances during section.
|
|
1004
|
-
this.downCursorInstances.forEach((c) => {
|
|
1005
|
-
const i = c.findIndex((t) => t.time >= startTime);
|
|
1006
|
-
if (i !== -1) {
|
|
1007
|
-
c = c.slice(i);
|
|
1008
|
-
}
|
|
1009
|
-
});
|
|
1010
999
|
const cursorAmounts = [];
|
|
1011
1000
|
const cursorVectorTimes = [];
|
|
1012
1001
|
for (let i = 0; i < this.downCursorInstances.length; ++i) {
|
|
@@ -1075,7 +1064,8 @@ class ThreeFingerChecker {
|
|
|
1075
1064
|
.slice(2);
|
|
1076
1065
|
// Ignore cursor presses that are only 1 for now since they are very likely to be accidental
|
|
1077
1066
|
if ((threeFingerRatio > this.threeFingerRatioThreshold &&
|
|
1078
|
-
cursorAmounts.filter((v) => v > 1).length >
|
|
1067
|
+
cursorAmounts.filter((v) => v > 1).length >
|
|
1068
|
+
fingerSplitIndex) ||
|
|
1079
1069
|
validPresses.length > 0) {
|
|
1080
1070
|
// Strain factor
|
|
1081
1071
|
const objectCount = beatmapSection.lastObjectIndex -
|
|
@@ -1245,10 +1235,10 @@ class TwoHandChecker {
|
|
|
1245
1235
|
*/
|
|
1246
1236
|
check() {
|
|
1247
1237
|
if (this.data.cursorMovement.filter((v) => v.occurrenceGroups.length > 0).length <= 1) {
|
|
1248
|
-
return { is2Hand: false,
|
|
1238
|
+
return { is2Hand: false, twoHandedNoteCount: 0 };
|
|
1249
1239
|
}
|
|
1250
1240
|
this.indexHitObjects();
|
|
1251
|
-
this.applyPenalty();
|
|
1241
|
+
// this.applyPenalty();
|
|
1252
1242
|
// for (let i = 0; i < this.calculator.objects.length; ++i) {
|
|
1253
1243
|
// const object: PlaceableHitObject =
|
|
1254
1244
|
// this.calculator.objects[i].object;
|
|
@@ -1289,7 +1279,27 @@ class TwoHandChecker {
|
|
|
1289
1279
|
// ),
|
|
1290
1280
|
// this.csvString
|
|
1291
1281
|
// );
|
|
1292
|
-
|
|
1282
|
+
let twoHandedNoteCount = 0;
|
|
1283
|
+
const maxStrain = Math.max(...this.calculator.objects.map((v) => v.aimStrainWithSliders));
|
|
1284
|
+
if (maxStrain) {
|
|
1285
|
+
twoHandedNoteCount = this.indexedHitObjects.reduce((total, object) => {
|
|
1286
|
+
if (!object.is2Handed) {
|
|
1287
|
+
return total;
|
|
1288
|
+
}
|
|
1289
|
+
return (total +
|
|
1290
|
+
1 /
|
|
1291
|
+
(1 +
|
|
1292
|
+
Math.exp(-((object.object.aimStrainWithSliders /
|
|
1293
|
+
maxStrain) *
|
|
1294
|
+
12 -
|
|
1295
|
+
6))));
|
|
1296
|
+
}, 0);
|
|
1297
|
+
}
|
|
1298
|
+
return {
|
|
1299
|
+
is2Hand: twoHandedNoteCount >
|
|
1300
|
+
this.calculator.attributes.aimNoteCount * 0.15,
|
|
1301
|
+
twoHandedNoteCount: twoHandedNoteCount,
|
|
1302
|
+
};
|
|
1293
1303
|
}
|
|
1294
1304
|
/**
|
|
1295
1305
|
* Converts hitobjects into indexed hit objects.
|
|
@@ -1302,6 +1312,7 @@ class TwoHandChecker {
|
|
|
1302
1312
|
indexes.push(indexedHitObject.cursorIndex);
|
|
1303
1313
|
this.indexedHitObjects.push(indexedHitObject);
|
|
1304
1314
|
}
|
|
1315
|
+
// console.log("Aim note count:", this.calculator.attributes.aimNoteCount);
|
|
1305
1316
|
// console.log(
|
|
1306
1317
|
// this.indexedHitObjects.filter((v) => v.cursorIndex !== -1).length +
|
|
1307
1318
|
// 1,
|
|
@@ -1363,9 +1374,9 @@ class TwoHandChecker {
|
|
|
1363
1374
|
return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
|
|
1364
1375
|
}
|
|
1365
1376
|
// We don't care if the aim strain is too low.
|
|
1366
|
-
if (diffObject.aimStrainWithSliders < 200) {
|
|
1367
|
-
|
|
1368
|
-
}
|
|
1377
|
+
// if (diffObject.aimStrainWithSliders < 200) {
|
|
1378
|
+
// return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
|
|
1379
|
+
// }
|
|
1369
1380
|
const prevObject = this.calculator.beatmap.hitObjects.objects[objectIndex - 1];
|
|
1370
1381
|
const prevObjectData = this.data.hitObjectData[objectIndex - 1];
|
|
1371
1382
|
if (prevObject instanceof osuBase.Spinner ||
|
|
@@ -1442,45 +1453,60 @@ class TwoHandChecker {
|
|
|
1442
1453
|
const movementAngle = Math.abs(Math.atan2(det, dot));
|
|
1443
1454
|
finalAngle = Math.min(finalAngle, movementAngle);
|
|
1444
1455
|
}
|
|
1445
|
-
|
|
1446
|
-
if (is2Handed) {
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1456
|
+
const is2Handed = finalAngle >= Math.PI / 6;
|
|
1457
|
+
// if (is2Handed) {
|
|
1458
|
+
// // If angle isn't fulfilled, check for cursor velocity.
|
|
1459
|
+
// let deltaTime: number = Math.max(
|
|
1460
|
+
// object.startTime - prevObject.startTime,
|
|
1461
|
+
// 25
|
|
1462
|
+
// );
|
|
1463
|
+
// if (prevObject instanceof Slider) {
|
|
1464
|
+
// deltaTime = Math.max(deltaTime - prevObject.lazyTravelTime, 25);
|
|
1465
|
+
// }
|
|
1466
|
+
// // "Initial velocity" is the movement velocity from the previous object's end time to the current object's start time.
|
|
1467
|
+
// const initialVelocity: number =
|
|
1468
|
+
// objectStartPosition.getDistance(prevObjectEndPosition) /
|
|
1469
|
+
// deltaTime;
|
|
1470
|
+
// // const finalCursor: CursorOccurrence =
|
|
1471
|
+
// // cursorGroup.moves.at(-1) ?? cursorGroup.down;
|
|
1472
|
+
// const currentCursorGroup: CursorOccurrenceGroup =
|
|
1473
|
+
// this.data.cursorMovement[objectInformation.cursorIndex]
|
|
1474
|
+
// .occurrenceGroups[objectInformation.groupIndex];
|
|
1475
|
+
// // const cursorDistance: number = currentCursorGroup.down.position.getDistance(
|
|
1476
|
+
// // finalCursor.position
|
|
1477
|
+
// // );
|
|
1478
|
+
// const cursorDuration: number = Math.max(
|
|
1479
|
+
// 0,
|
|
1480
|
+
// currentCursorGroup.startTime - cursorGroup.endTime
|
|
1481
|
+
// );
|
|
1482
|
+
// // "Air velocity" is the cursor velocity from the moment the previous cursor release action to the next cursor press action.
|
|
1483
|
+
// // const airVelocity: number = cursorDistance / cursorDuration;
|
|
1484
|
+
// is2Handed =
|
|
1485
|
+
// // airVelocity / initialVelocity < 0.8 &&
|
|
1486
|
+
// cursorDuration / deltaTime > 0.2;
|
|
1487
|
+
// for (
|
|
1488
|
+
// let i = prevObjectInformation.occurrenceIndex + 1;
|
|
1489
|
+
// i < cursors.length && is2Handed;
|
|
1490
|
+
// ++i
|
|
1491
|
+
// ) {
|
|
1492
|
+
// const cursor: CursorOccurrence = cursors[i];
|
|
1493
|
+
// const prevCursor: CursorOccurrence = cursors[i - 1];
|
|
1494
|
+
// if (
|
|
1495
|
+
// cursor.position.equals(prevCursor.position) ||
|
|
1496
|
+
// cursor.time === prevCursor.time
|
|
1497
|
+
// ) {
|
|
1498
|
+
// continue;
|
|
1499
|
+
// }
|
|
1500
|
+
// if (cursor.id === MovementType.up) {
|
|
1501
|
+
// break;
|
|
1502
|
+
// }
|
|
1503
|
+
// // "Cursor velocity" is the velocity from the previous object's cursor release time to the current object's press time.
|
|
1504
|
+
// const cursorVelocity: number =
|
|
1505
|
+
// cursor.position.getDistance(prevCursor.position) /
|
|
1506
|
+
// (cursor.time - prevCursor.time);
|
|
1507
|
+
// is2Handed = cursorVelocity / initialVelocity < 0.8;
|
|
1508
|
+
// }
|
|
1509
|
+
// }
|
|
1484
1510
|
if (!Number.isFinite(finalAngle)) {
|
|
1485
1511
|
return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
|
|
1486
1512
|
}
|
|
@@ -1836,6 +1862,181 @@ class TwoHandChecker {
|
|
|
1836
1862
|
}
|
|
1837
1863
|
}
|
|
1838
1864
|
|
|
1865
|
+
/**
|
|
1866
|
+
* Utility to check whether relevant sliders in a beatmap are cheesed.
|
|
1867
|
+
*/
|
|
1868
|
+
class SliderCheeseChecker {
|
|
1869
|
+
/**
|
|
1870
|
+
* The difficulty calculator that is being analyzed.
|
|
1871
|
+
*/
|
|
1872
|
+
calculator;
|
|
1873
|
+
/**
|
|
1874
|
+
* The data of the replay.
|
|
1875
|
+
*/
|
|
1876
|
+
data;
|
|
1877
|
+
/**
|
|
1878
|
+
* The osu!droid hitwindow of the analyzed beatmap.
|
|
1879
|
+
*/
|
|
1880
|
+
hitWindow;
|
|
1881
|
+
/**
|
|
1882
|
+
* The 50 osu!droid hit window of the analyzed beatmap.
|
|
1883
|
+
*/
|
|
1884
|
+
hitWindow50;
|
|
1885
|
+
/**
|
|
1886
|
+
* The indexes of objects that were cheesed.
|
|
1887
|
+
*/
|
|
1888
|
+
cheesedObjectIndexes = [];
|
|
1889
|
+
/**
|
|
1890
|
+
* @param calculator The difficulty calculator to analyze.
|
|
1891
|
+
* @param data The data of the replay.
|
|
1892
|
+
*/
|
|
1893
|
+
constructor(calculator, data) {
|
|
1894
|
+
this.calculator = calculator;
|
|
1895
|
+
this.data = data;
|
|
1896
|
+
const stats = new osuBase.MapStats({
|
|
1897
|
+
od: this.calculator.beatmap.difficulty.od,
|
|
1898
|
+
mods: this.calculator.mods.filter((m) => m.isApplicableToDroid() &&
|
|
1899
|
+
!osuBase.ModUtil.speedChangingMods.some((v) => v.acronym === m.acronym)),
|
|
1900
|
+
}).calculate();
|
|
1901
|
+
this.hitWindow = new osuBase.DroidHitWindow(stats.od);
|
|
1902
|
+
this.hitWindow50 = this.hitWindow.hitWindowFor50(calculator.mods.some((m) => m instanceof osuBase.ModPrecise));
|
|
1903
|
+
}
|
|
1904
|
+
/**
|
|
1905
|
+
* Checks if relevant sliders in the given beatmap was cheesed.
|
|
1906
|
+
*
|
|
1907
|
+
* Returns a number that can be passed to a `DroidPerformanceCalculator`
|
|
1908
|
+
* to alter the aim performance value.
|
|
1909
|
+
*/
|
|
1910
|
+
check() {
|
|
1911
|
+
if (this.calculator.attributes.sliderCount === 0) {
|
|
1912
|
+
return {
|
|
1913
|
+
aimPenalty: 1,
|
|
1914
|
+
flashlightPenalty: 1,
|
|
1915
|
+
visualPenalty: 1,
|
|
1916
|
+
};
|
|
1917
|
+
}
|
|
1918
|
+
this.checkSliderCheesing();
|
|
1919
|
+
return this.calculateSliderCheesePenalty();
|
|
1920
|
+
}
|
|
1921
|
+
/**
|
|
1922
|
+
* Checks for sliders that were cheesed.
|
|
1923
|
+
*/
|
|
1924
|
+
checkSliderCheesing() {
|
|
1925
|
+
// Current loop indexes are stored for efficiency.
|
|
1926
|
+
const cursorLoopIndexes = osuBase.Utils.initializeArray(10, 0);
|
|
1927
|
+
const acceptableRadius = this.calculator.objects[0].object.getRadius(osuBase.Modes.droid) * 2;
|
|
1928
|
+
for (let i = 0; i < this.calculator.objects.length; ++i) {
|
|
1929
|
+
const diffObject = this.calculator.objects[i];
|
|
1930
|
+
const { object } = diffObject;
|
|
1931
|
+
if (diffObject.travelDistance === 0 ||
|
|
1932
|
+
!(object instanceof osuBase.Slider)) {
|
|
1933
|
+
continue;
|
|
1934
|
+
}
|
|
1935
|
+
const objectStartPosition = object.getStackedPosition(osuBase.Modes.droid);
|
|
1936
|
+
const objectData = this.data.hitObjectData[i];
|
|
1937
|
+
// If a slider break occurs, we disregard the check for that slider.
|
|
1938
|
+
if (objectData.accuracy === Math.floor(this.hitWindow50) + 13) {
|
|
1939
|
+
continue;
|
|
1940
|
+
}
|
|
1941
|
+
let isCheesed = false;
|
|
1942
|
+
for (let j = 0; j < this.data.cursorMovement.length; ++j) {
|
|
1943
|
+
if (isCheesed) {
|
|
1944
|
+
break;
|
|
1945
|
+
}
|
|
1946
|
+
const cursorGroups = this.data.cursorMovement[j].occurrenceGroups;
|
|
1947
|
+
for (let k = cursorLoopIndexes[j]; k < cursorGroups.length; k = ++cursorLoopIndexes[j]) {
|
|
1948
|
+
const group = cursorGroups[k];
|
|
1949
|
+
if (group.startTime < object.startTime - this.hitWindow50) {
|
|
1950
|
+
continue;
|
|
1951
|
+
}
|
|
1952
|
+
if (group.startTime > object.startTime + this.hitWindow50) {
|
|
1953
|
+
break;
|
|
1954
|
+
}
|
|
1955
|
+
if (group.down.position.getDistance(objectStartPosition) >
|
|
1956
|
+
acceptableRadius) {
|
|
1957
|
+
continue;
|
|
1958
|
+
}
|
|
1959
|
+
// Track cursor movement to see if it lands on every tick.
|
|
1960
|
+
let occurrenceLoopIndex = 1;
|
|
1961
|
+
let isSliderFulfilled = true;
|
|
1962
|
+
const { allOccurrences } = group;
|
|
1963
|
+
for (let l = 1; l < object.nestedHitObjects.length; ++l) {
|
|
1964
|
+
if (!isSliderFulfilled) {
|
|
1965
|
+
break;
|
|
1966
|
+
}
|
|
1967
|
+
const tickWasHit = objectData.tickset[l - 1];
|
|
1968
|
+
if (!tickWasHit) {
|
|
1969
|
+
continue;
|
|
1970
|
+
}
|
|
1971
|
+
const nestedObject = object.nestedHitObjects[l];
|
|
1972
|
+
const nestedPosition = nestedObject.getStackedPosition(osuBase.Modes.droid);
|
|
1973
|
+
while (occurrenceLoopIndex < allOccurrences.length &&
|
|
1974
|
+
allOccurrences[occurrenceLoopIndex].time <
|
|
1975
|
+
nestedObject.startTime) {
|
|
1976
|
+
++occurrenceLoopIndex;
|
|
1977
|
+
}
|
|
1978
|
+
if (occurrenceLoopIndex === allOccurrences.length) {
|
|
1979
|
+
continue;
|
|
1980
|
+
}
|
|
1981
|
+
const occurrence = allOccurrences[occurrenceLoopIndex];
|
|
1982
|
+
const prevOccurrence = allOccurrences[occurrenceLoopIndex - 1];
|
|
1983
|
+
switch (occurrence.id) {
|
|
1984
|
+
case exports.MovementType.move: {
|
|
1985
|
+
// Interpolate cursor position during nested object time.
|
|
1986
|
+
const t = (nestedObject.startTime -
|
|
1987
|
+
prevOccurrence.time) /
|
|
1988
|
+
(occurrence.time - prevOccurrence.time);
|
|
1989
|
+
const cursorPosition = new osuBase.Vector2(osuBase.Interpolation.lerp(prevOccurrence.position.x, occurrence.position.x, t), osuBase.Interpolation.lerp(prevOccurrence.position.y, occurrence.position.y, t));
|
|
1990
|
+
const distance = cursorPosition.getDistance(nestedPosition);
|
|
1991
|
+
if (distance > acceptableRadius) {
|
|
1992
|
+
isSliderFulfilled = false;
|
|
1993
|
+
}
|
|
1994
|
+
break;
|
|
1995
|
+
}
|
|
1996
|
+
case exports.MovementType.up:
|
|
1997
|
+
if (prevOccurrence.position.getDistance(nestedPosition) > acceptableRadius) {
|
|
1998
|
+
isSliderFulfilled = false;
|
|
1999
|
+
break;
|
|
2000
|
+
}
|
|
2001
|
+
}
|
|
2002
|
+
}
|
|
2003
|
+
if (!isSliderFulfilled) {
|
|
2004
|
+
isCheesed = true;
|
|
2005
|
+
break;
|
|
2006
|
+
}
|
|
2007
|
+
}
|
|
2008
|
+
}
|
|
2009
|
+
if (isCheesed) {
|
|
2010
|
+
this.cheesedObjectIndexes.push(i);
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
}
|
|
2014
|
+
/**
|
|
2015
|
+
* Calculates the slider cheese penalty.
|
|
2016
|
+
*/
|
|
2017
|
+
calculateSliderCheesePenalty() {
|
|
2018
|
+
let calculator;
|
|
2019
|
+
if (this.calculator instanceof osuDifficultyCalculator.DroidDifficultyCalculator) {
|
|
2020
|
+
calculator = new osuDifficultyCalculator.DroidDifficultyCalculator(this.calculator.beatmap);
|
|
2021
|
+
}
|
|
2022
|
+
else {
|
|
2023
|
+
calculator = new osuRebalanceDifficultyCalculator.DroidDifficultyCalculator(this.calculator.beatmap);
|
|
2024
|
+
}
|
|
2025
|
+
Object.assign(calculator.attributes, this.calculator.attributes);
|
|
2026
|
+
calculator.stats = this.calculator.stats;
|
|
2027
|
+
calculator.generateDifficultyHitObjects();
|
|
2028
|
+
for (const index of this.cheesedObjectIndexes) {
|
|
2029
|
+
calculator.objects[index].travelDistance = 0;
|
|
2030
|
+
}
|
|
2031
|
+
calculator.calculateAll();
|
|
2032
|
+
return {
|
|
2033
|
+
aimPenalty: this.calculator.aim / calculator.aim,
|
|
2034
|
+
flashlightPenalty: this.calculator.flashlight / calculator.flashlight,
|
|
2035
|
+
visualPenalty: this.calculator.visual / calculator.visual,
|
|
2036
|
+
};
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
|
|
1839
2040
|
/**
|
|
1840
2041
|
* A replay analyzer that analyzes a replay from osu!droid.
|
|
1841
2042
|
*
|
|
@@ -1865,7 +2066,7 @@ class ReplayAnalyzer {
|
|
|
1865
2066
|
*/
|
|
1866
2067
|
is2Hand;
|
|
1867
2068
|
/**
|
|
1868
|
-
* The beatmap that is being analyzed. `
|
|
2069
|
+
* The beatmap that is being analyzed. `DroidDifficultyCalculator` or `RebalanceDroidDifficultyCalculator` is required for three finger or two hand analyzing.
|
|
1869
2070
|
*/
|
|
1870
2071
|
beatmap;
|
|
1871
2072
|
/**
|
|
@@ -1880,6 +2081,14 @@ class ReplayAnalyzer {
|
|
|
1880
2081
|
* Penalty value used to penalize dpp for 3 finger abuse.
|
|
1881
2082
|
*/
|
|
1882
2083
|
tapPenalty = 1;
|
|
2084
|
+
/**
|
|
2085
|
+
* Penalty values used to penalize dpp for slider cheesing.
|
|
2086
|
+
*/
|
|
2087
|
+
sliderCheesePenalty = {
|
|
2088
|
+
aimPenalty: 1,
|
|
2089
|
+
flashlightPenalty: 1,
|
|
2090
|
+
visualPenalty: 1,
|
|
2091
|
+
};
|
|
1883
2092
|
/**
|
|
1884
2093
|
* Whether this replay has been checked against 3 finger usage.
|
|
1885
2094
|
*/
|
|
@@ -1889,11 +2098,13 @@ class ReplayAnalyzer {
|
|
|
1889
2098
|
*/
|
|
1890
2099
|
hasBeenCheckedFor2Hand = false;
|
|
1891
2100
|
/**
|
|
1892
|
-
*
|
|
1893
|
-
|
|
1894
|
-
|
|
2101
|
+
* Whether this repla has been checked against slider cheesing.
|
|
2102
|
+
*/
|
|
2103
|
+
hasBeenCheckedForSliderCheesing = false;
|
|
2104
|
+
/**
|
|
2105
|
+
* The amount of two-handed objects.
|
|
1895
2106
|
*/
|
|
1896
|
-
|
|
2107
|
+
twoHandedNoteCount = 0;
|
|
1897
2108
|
// Sizes of primitive data types in Java (in bytes)
|
|
1898
2109
|
BYTE_LENGTH = 1;
|
|
1899
2110
|
SHORT_LENGTH = 2;
|
|
@@ -2339,7 +2550,7 @@ class ReplayAnalyzer {
|
|
|
2339
2550
|
/**
|
|
2340
2551
|
* Checks if a play is using 3 fingers.
|
|
2341
2552
|
*
|
|
2342
|
-
* Requires `analyze()` to be called first and `map` to be defined as `
|
|
2553
|
+
* Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
|
|
2343
2554
|
*/
|
|
2344
2555
|
checkFor3Finger() {
|
|
2345
2556
|
if (!(this.beatmap instanceof osuDifficultyCalculator.DroidDifficultyCalculator ||
|
|
@@ -2356,7 +2567,7 @@ class ReplayAnalyzer {
|
|
|
2356
2567
|
/**
|
|
2357
2568
|
* Checks if a play is using 2 hands.
|
|
2358
2569
|
*
|
|
2359
|
-
* Requires `analyze()` to be called first and `map` to be defined as `
|
|
2570
|
+
* Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
|
|
2360
2571
|
*/
|
|
2361
2572
|
checkFor2Hand() {
|
|
2362
2573
|
if (!(this.beatmap instanceof osuDifficultyCalculator.DroidDifficultyCalculator ||
|
|
@@ -2367,9 +2578,24 @@ class ReplayAnalyzer {
|
|
|
2367
2578
|
const twoHandChecker = new TwoHandChecker(this.beatmap, this.data);
|
|
2368
2579
|
const result = twoHandChecker.check();
|
|
2369
2580
|
this.is2Hand = result.is2Hand;
|
|
2370
|
-
this.
|
|
2581
|
+
this.twoHandedNoteCount = result.twoHandedNoteCount;
|
|
2371
2582
|
this.hasBeenCheckedFor2Hand = true;
|
|
2372
2583
|
}
|
|
2584
|
+
/**
|
|
2585
|
+
* Checks if a play has cheesed sliders.
|
|
2586
|
+
*
|
|
2587
|
+
* Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
|
|
2588
|
+
*/
|
|
2589
|
+
checkForSliderCheesing() {
|
|
2590
|
+
if (!(this.beatmap instanceof osuDifficultyCalculator.DroidDifficultyCalculator ||
|
|
2591
|
+
this.beatmap instanceof osuRebalanceDifficultyCalculator.DroidDifficultyCalculator) ||
|
|
2592
|
+
!this.data) {
|
|
2593
|
+
return;
|
|
2594
|
+
}
|
|
2595
|
+
const sliderCheeseChecker = new SliderCheeseChecker(this.beatmap, this.data);
|
|
2596
|
+
this.sliderCheesePenalty = sliderCheeseChecker.check();
|
|
2597
|
+
this.hasBeenCheckedForSliderCheesing = true;
|
|
2598
|
+
}
|
|
2373
2599
|
}
|
|
2374
2600
|
|
|
2375
2601
|
/**
|
|
@@ -2420,5 +2646,7 @@ exports.CursorOccurrenceGroup = CursorOccurrenceGroup;
|
|
|
2420
2646
|
exports.ReplayAnalyzer = ReplayAnalyzer;
|
|
2421
2647
|
exports.ReplayData = ReplayData;
|
|
2422
2648
|
exports.ReplayObjectData = ReplayObjectData;
|
|
2649
|
+
exports.SliderCheeseChecker = SliderCheeseChecker;
|
|
2423
2650
|
exports.ThreeFingerChecker = ThreeFingerChecker;
|
|
2651
|
+
exports.TwoHandChecker = TwoHandChecker;
|
|
2424
2652
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","DroidHitWindow","ModPrecise","MathUtils","Circle","Spinner","Interpolation","Modes","Slider","Utils","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/analysis/SliderCheeseChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MovementType","Vector2","HitResult","Accuracy","MapStats","ModUtil","DroidHitWindow","ModPrecise","MathUtils","Circle","Spinner","Slider","Modes","Interpolation","Utils","DroidDifficultyCalculator","RebalanceDroidDifficultyCalculator","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight"],"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.34",
|
|
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": "^3.0.0-beta.32",
|
|
35
|
-
"@rian8337/osu-difficulty-calculator": "^3.0.0-beta.
|
|
36
|
-
"@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.
|
|
35
|
+
"@rian8337/osu-difficulty-calculator": "^3.0.0-beta.33",
|
|
36
|
+
"@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.34",
|
|
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": "71205bba844f221ce99fa10190974172a77c70be"
|
|
49
49
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -480,6 +480,66 @@ declare class ReplayData implements ReplayInformation {
|
|
|
480
480
|
constructor(values: ReplayInformation);
|
|
481
481
|
}
|
|
482
482
|
|
|
483
|
+
interface SliderCheeseInformation {
|
|
484
|
+
/**
|
|
485
|
+
* The value used to penalize the aim performance value.
|
|
486
|
+
*/
|
|
487
|
+
aimPenalty: number;
|
|
488
|
+
/**
|
|
489
|
+
* The value used to penalize the flashlight performance value.
|
|
490
|
+
*/
|
|
491
|
+
flashlightPenalty: number;
|
|
492
|
+
/**
|
|
493
|
+
* The value used to penalize the visual performance value.
|
|
494
|
+
*/
|
|
495
|
+
visualPenalty: number;
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Utility to check whether relevant sliders in a beatmap are cheesed.
|
|
499
|
+
*/
|
|
500
|
+
declare class SliderCheeseChecker {
|
|
501
|
+
/**
|
|
502
|
+
* The difficulty calculator that is being analyzed.
|
|
503
|
+
*/
|
|
504
|
+
readonly calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1;
|
|
505
|
+
/**
|
|
506
|
+
* The data of the replay.
|
|
507
|
+
*/
|
|
508
|
+
readonly data: ReplayData;
|
|
509
|
+
/**
|
|
510
|
+
* The osu!droid hitwindow of the analyzed beatmap.
|
|
511
|
+
*/
|
|
512
|
+
private readonly hitWindow;
|
|
513
|
+
/**
|
|
514
|
+
* The 50 osu!droid hit window of the analyzed beatmap.
|
|
515
|
+
*/
|
|
516
|
+
private readonly hitWindow50;
|
|
517
|
+
/**
|
|
518
|
+
* The indexes of objects that were cheesed.
|
|
519
|
+
*/
|
|
520
|
+
private readonly cheesedObjectIndexes;
|
|
521
|
+
/**
|
|
522
|
+
* @param calculator The difficulty calculator to analyze.
|
|
523
|
+
* @param data The data of the replay.
|
|
524
|
+
*/
|
|
525
|
+
constructor(calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1, data: ReplayData);
|
|
526
|
+
/**
|
|
527
|
+
* Checks if relevant sliders in the given beatmap was cheesed.
|
|
528
|
+
*
|
|
529
|
+
* Returns a number that can be passed to a `DroidPerformanceCalculator`
|
|
530
|
+
* to alter the aim performance value.
|
|
531
|
+
*/
|
|
532
|
+
check(): SliderCheeseInformation;
|
|
533
|
+
/**
|
|
534
|
+
* Checks for sliders that were cheesed.
|
|
535
|
+
*/
|
|
536
|
+
private checkSliderCheesing;
|
|
537
|
+
/**
|
|
538
|
+
* Calculates the slider cheese penalty.
|
|
539
|
+
*/
|
|
540
|
+
private calculateSliderCheesePenalty;
|
|
541
|
+
}
|
|
542
|
+
|
|
483
543
|
interface HitErrorInformation {
|
|
484
544
|
negativeAvg: number;
|
|
485
545
|
positiveAvg: number;
|
|
@@ -514,7 +574,7 @@ declare class ReplayAnalyzer {
|
|
|
514
574
|
*/
|
|
515
575
|
is2Hand?: boolean;
|
|
516
576
|
/**
|
|
517
|
-
* The beatmap that is being analyzed. `
|
|
577
|
+
* The beatmap that is being analyzed. `DroidDifficultyCalculator` or `RebalanceDroidDifficultyCalculator` is required for three finger or two hand analyzing.
|
|
518
578
|
*/
|
|
519
579
|
beatmap?: Beatmap | DroidDifficultyCalculator | DroidDifficultyCalculator$1;
|
|
520
580
|
/**
|
|
@@ -529,6 +589,10 @@ declare class ReplayAnalyzer {
|
|
|
529
589
|
* Penalty value used to penalize dpp for 3 finger abuse.
|
|
530
590
|
*/
|
|
531
591
|
tapPenalty: number;
|
|
592
|
+
/**
|
|
593
|
+
* Penalty values used to penalize dpp for slider cheesing.
|
|
594
|
+
*/
|
|
595
|
+
sliderCheesePenalty: SliderCheeseInformation;
|
|
532
596
|
/**
|
|
533
597
|
* Whether this replay has been checked against 3 finger usage.
|
|
534
598
|
*/
|
|
@@ -538,11 +602,13 @@ declare class ReplayAnalyzer {
|
|
|
538
602
|
*/
|
|
539
603
|
hasBeenCheckedFor2Hand: boolean;
|
|
540
604
|
/**
|
|
541
|
-
*
|
|
542
|
-
|
|
543
|
-
|
|
605
|
+
* Whether this repla has been checked against slider cheesing.
|
|
606
|
+
*/
|
|
607
|
+
hasBeenCheckedForSliderCheesing: boolean;
|
|
608
|
+
/**
|
|
609
|
+
* The amount of two-handed objects.
|
|
544
610
|
*/
|
|
545
|
-
|
|
611
|
+
twoHandedNoteCount: number;
|
|
546
612
|
private readonly BYTE_LENGTH;
|
|
547
613
|
private readonly SHORT_LENGTH;
|
|
548
614
|
private readonly INT_LENGTH;
|
|
@@ -556,7 +622,7 @@ declare class ReplayAnalyzer {
|
|
|
556
622
|
/**
|
|
557
623
|
* The beatmap to analyze.
|
|
558
624
|
*
|
|
559
|
-
* `
|
|
625
|
+
* `DroidDifficultyCalculator` or `RebalanceDroidDifficultyCalculator` is required for three finger or two hand analyzing.
|
|
560
626
|
*/
|
|
561
627
|
map?: Beatmap | DroidDifficultyCalculator | DroidDifficultyCalculator$1;
|
|
562
628
|
});
|
|
@@ -591,15 +657,21 @@ declare class ReplayAnalyzer {
|
|
|
591
657
|
/**
|
|
592
658
|
* Checks if a play is using 3 fingers.
|
|
593
659
|
*
|
|
594
|
-
* Requires `analyze()` to be called first and `map` to be defined as `
|
|
660
|
+
* Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
|
|
595
661
|
*/
|
|
596
662
|
checkFor3Finger(): void;
|
|
597
663
|
/**
|
|
598
664
|
* Checks if a play is using 2 hands.
|
|
599
665
|
*
|
|
600
|
-
* Requires `analyze()` to be called first and `map` to be defined as `
|
|
666
|
+
* Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
|
|
601
667
|
*/
|
|
602
668
|
checkFor2Hand(): void;
|
|
669
|
+
/**
|
|
670
|
+
* Checks if a play has cheesed sliders.
|
|
671
|
+
*
|
|
672
|
+
* Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
|
|
673
|
+
*/
|
|
674
|
+
checkForSliderCheesing(): void;
|
|
603
675
|
}
|
|
604
676
|
|
|
605
677
|
/**
|
|
@@ -802,4 +874,91 @@ declare class ThreeFingerChecker {
|
|
|
802
874
|
private calculateFinalPenalty;
|
|
803
875
|
}
|
|
804
876
|
|
|
805
|
-
|
|
877
|
+
/**
|
|
878
|
+
* Information about the result of a check.
|
|
879
|
+
*/
|
|
880
|
+
interface TwoHandInformation {
|
|
881
|
+
/**
|
|
882
|
+
* Whether or not the beatmap is 2-handed.
|
|
883
|
+
*/
|
|
884
|
+
readonly is2Hand: boolean;
|
|
885
|
+
/**
|
|
886
|
+
* The amount of two-handed objects.
|
|
887
|
+
*/
|
|
888
|
+
readonly twoHandedNoteCount: number;
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Utility to check whether or not a beatmap is two-handed.
|
|
892
|
+
*/
|
|
893
|
+
declare class TwoHandChecker {
|
|
894
|
+
/**
|
|
895
|
+
* The difficulty calculator that is being analyzed.
|
|
896
|
+
*/
|
|
897
|
+
readonly calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1;
|
|
898
|
+
/**
|
|
899
|
+
* The data of the replay.
|
|
900
|
+
*/
|
|
901
|
+
readonly data: ReplayData;
|
|
902
|
+
/**
|
|
903
|
+
* The hitobjects of the beatmap that have been assigned with their respective cursor index.
|
|
904
|
+
*/
|
|
905
|
+
private readonly indexedHitObjects;
|
|
906
|
+
/**
|
|
907
|
+
* The osu!droid hitwindow of the analyzed beatmap.
|
|
908
|
+
*/
|
|
909
|
+
private readonly hitWindow;
|
|
910
|
+
/**
|
|
911
|
+
* The 50 osu!droid hit window of the analyzed beatmap.
|
|
912
|
+
*/
|
|
913
|
+
private readonly hitWindow50;
|
|
914
|
+
/**
|
|
915
|
+
* @param calculator The difficulty calculator to analyze.
|
|
916
|
+
* @param data The data of the replay.
|
|
917
|
+
*/
|
|
918
|
+
constructor(calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1, data: ReplayData);
|
|
919
|
+
/**
|
|
920
|
+
* Checks if a beatmap is two-handed.
|
|
921
|
+
*/
|
|
922
|
+
check(): TwoHandInformation;
|
|
923
|
+
/**
|
|
924
|
+
* Converts hitobjects into indexed hit objects.
|
|
925
|
+
*/
|
|
926
|
+
private indexHitObjects;
|
|
927
|
+
/**
|
|
928
|
+
* Gets the cursor index that hits the given object.
|
|
929
|
+
*
|
|
930
|
+
* @param objectIndex The index of the object to check.
|
|
931
|
+
* @returns The cursor index that hits the given object, -1 if the index is not found, the object is a spinner, or the object was missed.
|
|
932
|
+
*/
|
|
933
|
+
private getIndexedHitObject;
|
|
934
|
+
/**
|
|
935
|
+
* Gets the position of the cursor that presses an object.
|
|
936
|
+
*
|
|
937
|
+
* @param objectIndex THe index of the object.
|
|
938
|
+
* @returns The position of the cursor that presses the object.
|
|
939
|
+
*/
|
|
940
|
+
private getCursorPositionForObjectStart;
|
|
941
|
+
/**
|
|
942
|
+
* Gets the position of the cursor that at an object's end position.
|
|
943
|
+
*
|
|
944
|
+
* @param objectIndex THe index of the object.
|
|
945
|
+
* @returns The position of the cursor at the object's end position.
|
|
946
|
+
*/
|
|
947
|
+
private getCursorPositionForObjectEnd;
|
|
948
|
+
/**
|
|
949
|
+
* Checks whether a slider was cheesed.
|
|
950
|
+
*
|
|
951
|
+
* This is done by checking if a cursor follows a slider all the way to its end position.
|
|
952
|
+
*
|
|
953
|
+
* @param indexedHitObject The indexed slider.
|
|
954
|
+
* @param hitData The hit data of the slider.
|
|
955
|
+
* @returns Whether the slider was cheesed.
|
|
956
|
+
*/
|
|
957
|
+
private checkSliderCheesing;
|
|
958
|
+
/**
|
|
959
|
+
* Applies penalty to the original star rating instance.
|
|
960
|
+
*/
|
|
961
|
+
private applyPenalty;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
export { CursorData, CursorInformation, CursorOccurrence, CursorOccurrenceGroup, ExportedReplayJSON, HitErrorInformation, HitResult, MovementType, ReplayAnalyzer, ReplayData, ReplayInformation, ReplayObjectData, SliderCheeseChecker, SliderCheeseInformation, ThreeFingerChecker, ThreeFingerInformation, TwoHandChecker, TwoHandInformation };
|