@rian8337/osu-droid-replay-analyzer 3.0.0-beta.30 → 3.0.0-beta.32

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 CHANGED
@@ -130,6 +130,12 @@ class CursorOccurrenceGroup {
130
130
  get endTime() {
131
131
  return this._up?.time ?? this._moves.at(-1)?.time ?? this._down.time;
132
132
  }
133
+ /**
134
+ * The duration this cursor occurrence group is active for.
135
+ */
136
+ get duration() {
137
+ return this.endTime - this.startTime;
138
+ }
133
139
  /**
134
140
  * All cursor occurrences in this group.
135
141
  *
@@ -1130,6 +1136,20 @@ class IndexedHitObject {
1130
1136
  * the hitobject or it did not meet the criteria for detection.
1131
1137
  */
1132
1138
  cursorIndex;
1139
+ /**
1140
+ * The group index of the cursor within the cursor index that hits the hitobject.
1141
+ *
1142
+ * If -1, the detection was unable to find any cursor that attempted to hit
1143
+ * the hitobject or it did not meet the criteria for detection.
1144
+ */
1145
+ groupIndex;
1146
+ /**
1147
+ * The occurrence index within the group of the cursor within the cursor index that hits the hitobject.
1148
+ *
1149
+ * If -1, the detection was unable to find any cursor that attempted to hit
1150
+ * the hitobject or it did not meet the criteria for detection.
1151
+ */
1152
+ occurrenceIndex;
1133
1153
  /**
1134
1154
  * The angle of the movement of the cursor towards the next hitobject.
1135
1155
  */
@@ -1143,23 +1163,34 @@ class IndexedHitObject {
1143
1163
  */
1144
1164
  object;
1145
1165
  /**
1146
- * Whether the hitobject was most likely two-handed.
1166
+ * The position of the cursor at the end of this hitobject.
1167
+ *
1168
+ * Will be altered during detection.
1147
1169
  */
1148
- get is2Handed() {
1149
- return this.angle !== null && this.angle >= Math.PI / 6;
1150
- }
1170
+ endCursorPosition;
1171
+ /**
1172
+ * Whether the hitobject is likely two-handed.
1173
+ */
1174
+ is2Handed;
1151
1175
  /**
1152
1176
  * @param object The underlying difficulty hitobject.
1153
1177
  * @param cursorIndex The cursor index that moves towards the hitobject.
1178
+ * @param groupIndex The group index of the cursor within the cursor index that hits the hitobject.
1179
+ * @param occurrenceIndex The occurrence index within the group of the cursor within the cursor index that hits the hitobject.
1154
1180
  * @param angle The angle of the movement of the cursor that moves towards the hitobject.
1155
1181
  */
1156
- constructor(object, cursorIndex, angle) {
1182
+ constructor(object, cursorIndex, groupIndex, occurrenceIndex, angle, is2Handed) {
1157
1183
  this.object = object;
1158
1184
  this.cursorIndex = cursorIndex;
1185
+ this.groupIndex = groupIndex;
1186
+ this.occurrenceIndex = occurrenceIndex;
1159
1187
  this.angle = angle;
1188
+ this.is2Handed = is2Handed;
1189
+ this.endCursorPosition = this.object.object.getStackedEndPosition(osuBase.Modes.droid);
1160
1190
  }
1161
1191
  }
1162
1192
 
1193
+ // import { writeFileSync } from "fs";
1163
1194
  /**
1164
1195
  * Utility to check whether or not a beatmap is two-handed.
1165
1196
  */
@@ -1184,6 +1215,7 @@ class TwoHandChecker {
1184
1215
  * The 50 osu!droid hit window of the analyzed beatmap.
1185
1216
  */
1186
1217
  hitWindow50;
1218
+ // private csvString: string;
1187
1219
  /**
1188
1220
  * @param calculator The difficulty calculator to analyze.
1189
1221
  * @param data The data of the replay.
@@ -1198,6 +1230,15 @@ class TwoHandChecker {
1198
1230
  }).calculate();
1199
1231
  this.hitWindow = new osuBase.DroidHitWindow(stats.od);
1200
1232
  this.hitWindow50 = this.hitWindow.hitWindowFor50(calculator.mods.some((m) => m instanceof osuBase.ModPrecise));
1233
+ // this.csvString = `Mods,${
1234
+ // data.convertedMods.reduce((a, m) => a + m.acronym, "") || "NM"
1235
+ // }\nCombo,${data.maxCombo}\nAccuracy,"${(
1236
+ // data.accuracy.value() * 100
1237
+ // ).toFixed(2)}% [${data.accuracy.n300}/${data.accuracy.n100}/${
1238
+ // data.accuracy.n50
1239
+ // }/${
1240
+ // data.accuracy.nmiss
1241
+ // }]"\n\nIndex,Type,StartTime,EndTime,DeltaTime,CursorIndex,GroupIndex,CursorDuration\n`;
1201
1242
  }
1202
1243
  /**
1203
1244
  * Checks if a beatmap is two-handed.
@@ -1208,6 +1249,46 @@ class TwoHandChecker {
1208
1249
  }
1209
1250
  this.indexHitObjects();
1210
1251
  this.applyPenalty();
1252
+ // for (let i = 0; i < this.calculator.objects.length; ++i) {
1253
+ // const object: PlaceableHitObject =
1254
+ // this.calculator.objects[i].object;
1255
+ // if (object instanceof Spinner) {
1256
+ // continue;
1257
+ // }
1258
+ // let deltaTime: number = 0;
1259
+ // if (i > 0) {
1260
+ // const prevObject: PlaceableHitObject =
1261
+ // this.calculator.objects[i - 1].object;
1262
+ // deltaTime = Math.max(
1263
+ // object.startTime - prevObject.startTime,
1264
+ // 25
1265
+ // );
1266
+ // if (prevObject instanceof Slider) {
1267
+ // deltaTime = Math.max(
1268
+ // deltaTime - prevObject.lazyTravelTime,
1269
+ // 25
1270
+ // );
1271
+ // }
1272
+ // }
1273
+ // const objectInfo = this.getCursorPositionForObjectStart(i);
1274
+ // this.csvString += `${i},${object.typeStr()},${object.startTime},${
1275
+ // object instanceof Slider
1276
+ // ? object.startTime + object.lazyTravelTime
1277
+ // : object.endTime
1278
+ // },${deltaTime},${objectInfo.cursorIndex},${objectInfo.groupIndex},${
1279
+ // this.data.cursorMovement[objectInfo.cursorIndex]
1280
+ // ?.occurrenceGroups[objectInfo.groupIndex]?.duration ??
1281
+ // Number.POSITIVE_INFINITY
1282
+ // }\n`;
1283
+ // }
1284
+ // writeFileSync(
1285
+ // join(
1286
+ // process.cwd(),
1287
+ // "files",
1288
+ // `${this.data.playerName} - ${this.calculator.beatmap.metadata.fullTitle}.csv`
1289
+ // ),
1290
+ // this.csvString
1291
+ // );
1211
1292
  return { is2Hand: false, cursorIndexes: [] };
1212
1293
  }
1213
1294
  /**
@@ -1221,33 +1302,52 @@ class TwoHandChecker {
1221
1302
  indexes.push(indexedHitObject.cursorIndex);
1222
1303
  this.indexedHitObjects.push(indexedHitObject);
1223
1304
  }
1224
- console.log(this.indexedHitObjects.filter((v) => v.cursorIndex !== -1).length +
1225
- 1, "indexes found,", this.indexedHitObjects.filter((v) => v.cursorIndex === -1).length -
1226
- 1, "not found,", this.indexedHitObjects.filter((v) => v.is2Handed).length, "2 handed,", this.indexedHitObjects.filter((v) => !v.is2Handed).length, "not 2 handed");
1227
- for (let i = 0; i < this.data.cursorMovement.length; ++i) {
1228
- console.log("Index", i, "count:", this.indexedHitObjects.filter((v) => v.cursorIndex === i).length);
1229
- }
1305
+ // console.log(
1306
+ // this.indexedHitObjects.filter((v) => v.cursorIndex !== -1).length +
1307
+ // 1,
1308
+ // "indexes found,",
1309
+ // this.indexedHitObjects.filter((v) => v.cursorIndex === -1).length -
1310
+ // 1,
1311
+ // "not found,",
1312
+ // this.indexedHitObjects.filter((v) => v.is2Handed).length,
1313
+ // "2 handed,",
1314
+ // this.indexedHitObjects.filter((v) => !v.is2Handed).length,
1315
+ // "not 2 handed"
1316
+ // );
1317
+ // for (let i = 0; i < this.data.cursorMovement.length; ++i) {
1318
+ // console.log(
1319
+ // "Index",
1320
+ // i,
1321
+ // "count:",
1322
+ // this.indexedHitObjects.filter((v) => v.cursorIndex === i).length
1323
+ // );
1324
+ // }
1230
1325
  // TODO: solve -1 cursor indexes
1231
- console.table(this.indexedHitObjects
1232
- .filter((v) =>
1233
- // v.cursorIndex === -1 &&
1234
- // v.object.aimStrainWithSliders > 200 &&
1235
- v.object.deltaTime > 75 &&
1236
- v.is2Handed)
1237
- .map((v) => {
1238
- return {
1239
- startTime: v.object.object.startTime,
1240
- type: v.object.object.typeStr(),
1241
- strain: v.object.aimStrainWithSliders,
1242
- hitAngle: v.angle !== null
1243
- ? osuBase.MathUtils.radiansToDegrees(v.angle)
1244
- : null,
1245
- objectAngle: v.object.angle !== null
1246
- ? osuBase.MathUtils.radiansToDegrees(v.object.angle)
1247
- : null,
1248
- cursorIndex: v.cursorIndex,
1249
- };
1250
- }));
1326
+ // console.table(
1327
+ // this.indexedHitObjects
1328
+ // .filter(
1329
+ // (v) =>
1330
+ // // v.cursorIndex === -1 &&
1331
+ // // v.object.aimStrainWithSliders > 200 &&
1332
+ // v.object.deltaTime > 75 && v.is2Handed
1333
+ // )
1334
+ // .map((v) => {
1335
+ // return {
1336
+ // startTime: v.object.object.startTime,
1337
+ // type: v.object.object.typeStr(),
1338
+ // strain: v.object.aimStrainWithSliders,
1339
+ // hitAngle:
1340
+ // v.angle !== null
1341
+ // ? MathUtils.radiansToDegrees(v.angle)
1342
+ // : null,
1343
+ // objectAngle:
1344
+ // v.object.angle !== null
1345
+ // ? MathUtils.radiansToDegrees(v.object.angle)
1346
+ // : null,
1347
+ // cursorIndex: v.cursorIndex,
1348
+ // };
1349
+ // })
1350
+ // );
1251
1351
  }
1252
1352
  /**
1253
1353
  * Gets the cursor index that hits the given object.
@@ -1260,17 +1360,17 @@ class TwoHandChecker {
1260
1360
  const { object } = diffObject;
1261
1361
  // We don't care about the first object and spinners.
1262
1362
  if (objectIndex === 0 || object instanceof osuBase.Spinner) {
1263
- return new IndexedHitObject(diffObject, -1, null);
1363
+ return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1264
1364
  }
1265
1365
  // We don't care if the aim strain is too low.
1266
1366
  if (diffObject.aimStrainWithSliders < 200) {
1267
- return new IndexedHitObject(diffObject, -1, null);
1367
+ return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1268
1368
  }
1269
1369
  const prevObject = this.calculator.beatmap.hitObjects.objects[objectIndex - 1];
1270
1370
  const prevObjectData = this.data.hitObjectData[objectIndex - 1];
1271
1371
  if (prevObject instanceof osuBase.Spinner ||
1272
1372
  prevObjectData.result === exports.HitResult.miss) {
1273
- return new IndexedHitObject(diffObject, -1, null);
1373
+ return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1274
1374
  }
1275
1375
  const objectStartPosition = object.getStackedPosition(osuBase.Modes.droid);
1276
1376
  let prevObjectEndPosition = prevObject.getStackedEndPosition(osuBase.Modes.droid);
@@ -1289,9 +1389,10 @@ class TwoHandChecker {
1289
1389
  const prevToCurrentMovement = object
1290
1390
  .getStackedPosition(osuBase.Modes.droid)
1291
1391
  .subtract(prevObjectEndPosition);
1392
+ const radius = object.getRadius(osuBase.Modes.droid);
1292
1393
  // Don't consider objects that are too close to each other.
1293
- if (prevToCurrentMovement.length <= object.getRadius(osuBase.Modes.droid)) {
1294
- return new IndexedHitObject(diffObject, -1, null);
1394
+ if (prevToCurrentMovement.length <= radius) {
1395
+ return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1295
1396
  }
1296
1397
  // The case for a one-handed object is that there will be a slight movement in the cursor towards
1297
1398
  // the next object in fast patterns. We should not be worried about slow patterns as they will only
@@ -1302,10 +1403,21 @@ class TwoHandChecker {
1302
1403
  // 2. The cursor position that presses the current object
1303
1404
  // and then get the movement vector between both positions, then see if the cursor movement after the previous object
1304
1405
  // was pressed produces an angle that is acute enough with respect to the aforementioned movement vector.
1406
+ // If the angle isn't fulfilled, check for the "initial velocity", which is the movement velocity from the
1407
+ // previous object's end time to the current object's start time and the "air velocity", which is the
1408
+ // velocity from the previous object's cursor release time to the next object's cursor press time. If the velocity
1409
+ // during the held tap is significantly less than the estimated velocity, it's considered two hand.
1305
1410
  const objectInformation = this.getCursorPositionForObjectStart(objectIndex);
1306
1411
  const prevObjectInformation = this.getCursorPositionForObjectEnd(objectIndex - 1);
1412
+ this.indexedHitObjects[objectIndex - 1].endCursorPosition =
1413
+ prevObjectInformation.position;
1307
1414
  if (prevObjectInformation.position.x === Number.POSITIVE_INFINITY) {
1308
- return new IndexedHitObject(diffObject, -1, null);
1415
+ return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1416
+ }
1417
+ if (prevObjectInformation.cursorIndex ===
1418
+ objectInformation.cursorIndex &&
1419
+ prevObjectInformation.groupIndex === objectInformation.groupIndex) {
1420
+ return new IndexedHitObject(diffObject, objectInformation.cursorIndex, objectInformation.groupIndex, prevObjectInformation.occurrenceIndex, 0, false);
1309
1421
  }
1310
1422
  const cursorData = this.data.cursorMovement[prevObjectInformation.cursorIndex];
1311
1423
  // There can be multiple angles to which the cursor moves towards the next object.
@@ -1314,7 +1426,7 @@ class TwoHandChecker {
1314
1426
  const cursorGroup = cursorData.occurrenceGroups[prevObjectInformation.groupIndex];
1315
1427
  const cursors = cursorGroup.allOccurrences;
1316
1428
  const prevToCurrentCursorMovement = objectInformation.position.subtract(prevObjectInformation.position);
1317
- for (let i = prevObjectInformation.cursorGroupIndex + 1; i < cursors.length; ++i) {
1429
+ for (let i = prevObjectInformation.occurrenceIndex + 1; i < cursors.length; ++i) {
1318
1430
  const cursor = cursors[i];
1319
1431
  const prevCursor = cursors[i - 1];
1320
1432
  if (cursor.position.equals(prevCursor.position)) {
@@ -1330,167 +1442,49 @@ class TwoHandChecker {
1330
1442
  const movementAngle = Math.abs(Math.atan2(det, dot));
1331
1443
  finalAngle = Math.min(finalAngle, movementAngle);
1332
1444
  }
1333
- return new IndexedHitObject(diffObject, Number.isFinite(finalAngle)
1334
- ? prevObjectInformation.cursorIndex
1335
- : -1, Number.isFinite(finalAngle) ? finalAngle : null);
1336
- // let checkingTime: number = prevObject.endTime;
1337
- // if (prevObject instanceof Circle) {
1338
- // checkingTime += prevObjectData.accuracy;
1339
- // } else if (prevDiffObject.travelDistance === 0) {
1340
- // // If the slider doesn't have any travel distance, use the start time as the checking point.
1341
- // checkingTime = prevObject.startTime;
1342
- // if (prevObjectData.accuracy !== Math.floor(this.hitWindow50) + 13) {
1343
- // checkingTime += prevObjectData.accuracy;
1344
- // }
1345
- // }
1346
- // let cursorTimeLimit: number = object.startTime;
1347
- // if (object instanceof Circle) {
1348
- // cursorTimeLimit += objectData.accuracy;
1349
- // } else if (object instanceof Slider) {
1350
- // if (objectData.accuracy !== Math.floor(this.hitWindow50) + 13) {
1351
- // cursorTimeLimit += objectData.accuracy;
1352
- // } else {
1353
- // cursorTimeLimit += this.hitWindow50;
1354
- // }
1355
- // }
1356
- // let hitWindow: number = this.hitWindow50;
1357
- // const isPrecise: boolean = this.data.convertedMods.some(
1358
- // (m) => m instanceof ModPrecise
1359
- // );
1360
- // // For sliders, set the hit window to as lenient as possible.
1361
- // if (object instanceof Circle) {
1362
- // switch (objectData.result) {
1363
- // case HitResult.great:
1364
- // hitWindow = this.hitWindow.hitWindowFor300(isPrecise);
1365
- // break;
1366
- // case HitResult.good:
1367
- // hitWindow = this.hitWindow.hitWindowFor100(isPrecise);
1368
- // break;
1369
- // }
1370
- // }
1371
- // // There can be multiple angles to which every cursor moves towards the next object.
1372
- // // For this, we take the smallest angle from a cursor.
1373
- // const finalAngles: number[] = Utils.initializeArray(
1374
- // this.data.cursorMovement.length,
1375
- // Number.POSITIVE_INFINITY
1376
- // );
1377
- // for (
1378
- // let i = prevObjectInformation.cursorIndex;
1379
- // i < this.data.cursorMovement.length;
1380
- // ++i
1381
- // ) {
1382
- // }
1383
- // for (const cursor of this.data.cursorMovement) {
1384
- // // TODO: use same method for getCursorPositionForObject
1385
- // const cursorGroup: CursorOccurrenceGroup | undefined =
1386
- // cursor.occurrenceGroups.find((v) => v.isActiveAt(checkingTime));
1387
- // if (!cursorGroup) {
1388
- // continue;
1389
- // }
1390
- // const cursors: CursorOccurrence[] = cursorGroup.allOccurrences;
1391
- // // This is the best approximation we can come up with, which is the cursor position
1392
- // // at the previous object's end time.
1393
- // let cursorIndex: number = cursors.findIndex(
1394
- // (v) => v.time >= checkingTime
1395
- // );
1396
- // const endTimeCursor: CursorOccurrence = cursors[cursorIndex];
1397
- // if (endTimeCursor.id === MovementType.up) {
1398
- // continue;
1399
- // }
1400
- // let actualEndCursorPosition: Vector2 = endTimeCursor.position;
1401
- // if (endTimeCursor.id === MovementType.move) {
1402
- // // Interpolate end cursor up to the point of checking time.
1403
- // const prevCursor: CursorOccurrence = cursors[cursorIndex - 1];
1404
- // const t: number =
1405
- // (checkingTime - prevCursor.time) /
1406
- // (endTimeCursor.time - prevCursor.time);
1407
- // actualEndCursorPosition = new Vector2(
1408
- // Interpolation.lerp(
1409
- // prevCursor.position.x,
1410
- // endTimeCursor.position.x,
1411
- // t
1412
- // ),
1413
- // Interpolation.lerp(
1414
- // prevCursor.position.y,
1415
- // endTimeCursor.position.y,
1416
- // t
1417
- // )
1418
- // );
1419
- // }
1420
- // // There can be multiple angles to which the cursor moves towards the next object.
1421
- // // For this, we take the smallest angle.
1422
- // let finalAngle: number = Number.POSITIVE_INFINITY;
1423
- // // Start the loop at index + 1 so that the loop considers the next cursor as opposed to
1424
- // // the assigned cursor above. Don't do it if the next cursor is an up occurrence, though.
1425
- // if (
1426
- // cursorIndex === 0 ||
1427
- // (cursorIndex < cursors.length - 2 &&
1428
- // !cursors[cursorIndex + 1].position.equals(
1429
- // endTimeCursor.position
1430
- // ))
1431
- // ) {
1432
- // ++cursorIndex;
1433
- // }
1434
- // const endCursorToCurrentMovement: Vector2 =
1435
- // objectStartPosition.subtract(actualEndCursorPosition);
1436
- // for (; cursorIndex < cursors.length; ++cursorIndex) {
1437
- // const cursor: CursorOccurrence = cursors[cursorIndex];
1438
- // const prevCursor: CursorOccurrence = cursors[cursorIndex - 1];
1439
- // if (
1440
- // cursor.id === MovementType.up ||
1441
- // prevCursor.time >= cursorTimeLimit
1442
- // ) {
1443
- // break;
1444
- // }
1445
- // // Only consider occurrences that actually move from one place to another.
1446
- // if (cursor.position.equals(prevCursor.position)) {
1447
- // continue;
1448
- // }
1449
- // const distance: number = cursor.position.getDistance(
1450
- // actualEndCursorPosition
1451
- // );
1452
- // if (distance > 1.5 * object.getRadius(Modes.droid)) {
1453
- // continue;
1454
- // }
1455
- // const currentMovement: Vector2 = cursor.position.subtract(
1456
- // prevCursor.position
1457
- // );
1458
- // const dot: number = currentMovement.dot(
1459
- // endCursorToCurrentMovement
1460
- // );
1461
- // const det: number =
1462
- // currentMovement.x * endCursorToCurrentMovement.y -
1463
- // currentMovement.y * endCursorToCurrentMovement.x;
1464
- // const movementAngle: number = Math.abs(Math.atan2(det, dot));
1465
- // finalAngle = Math.min(finalAngle, movementAngle);
1466
- // }
1467
- // if (
1468
- // finalAngle === Number.POSITIVE_INFINITY &&
1469
- // (finalAngles.length === 0 ||
1470
- // finalAngles.every((v) => v === Number.POSITIVE_INFINITY))
1471
- // ) {
1472
- // // Special case where drag occurrences are in the same spot as the press.
1473
- // const { down, moves } = cursorGroup;
1474
- // if (
1475
- // // Don't consider this if the press occurrence does not hit the object.
1476
- // down.position.getDistance(prevObjectEndPosition) <=
1477
- // object.getRadius(Modes.droid) &&
1478
- // moves.every((v) => v.position.equals(down.position))
1479
- // ) {
1480
- // finalAngle = 0;
1481
- // }
1482
- // }
1483
- // finalAngles.push(finalAngle);
1484
- // }
1485
- // const smallestAngle: number = Math.min(...finalAngles);
1486
- // const finalIndex: number = finalAngles.findIndex(
1487
- // (v) => v === smallestAngle
1488
- // );
1489
- // return new IndexedHitObject(
1490
- // diffObject,
1491
- // Number.isFinite(smallestAngle) ? finalIndex : -1,
1492
- // Number.isFinite(smallestAngle) ? smallestAngle : null
1493
- // );
1445
+ let is2Handed = finalAngle >= Math.PI / 6;
1446
+ if (is2Handed) {
1447
+ // If angle isn't fulfilled, check for cursor velocity.
1448
+ let deltaTime = Math.max(object.startTime - prevObject.startTime, 25);
1449
+ if (prevObject instanceof osuBase.Slider) {
1450
+ deltaTime = Math.max(deltaTime - prevObject.lazyTravelTime, 25);
1451
+ }
1452
+ // "Initial velocity" is the movement velocity from the previous object's end time to the current object's start time.
1453
+ const initialVelocity = objectStartPosition.getDistance(prevObjectEndPosition) /
1454
+ deltaTime;
1455
+ // const finalCursor: CursorOccurrence =
1456
+ // cursorGroup.moves.at(-1) ?? cursorGroup.down;
1457
+ const currentCursorGroup = this.data.cursorMovement[objectInformation.cursorIndex]
1458
+ .occurrenceGroups[objectInformation.groupIndex];
1459
+ // const cursorDistance: number = currentCursorGroup.down.position.getDistance(
1460
+ // finalCursor.position
1461
+ // );
1462
+ const cursorDuration = Math.max(0, currentCursorGroup.startTime - cursorGroup.endTime);
1463
+ // "Air velocity" is the cursor velocity from the moment the previous cursor release action to the next cursor press action.
1464
+ // const airVelocity: number = cursorDistance / cursorDuration;
1465
+ is2Handed =
1466
+ // airVelocity / initialVelocity < 0.8 &&
1467
+ cursorDuration / deltaTime > 0.2;
1468
+ for (let i = prevObjectInformation.occurrenceIndex + 1; i < cursors.length && is2Handed; ++i) {
1469
+ const cursor = cursors[i];
1470
+ const prevCursor = cursors[i - 1];
1471
+ if (cursor.position.equals(prevCursor.position) ||
1472
+ cursor.time === prevCursor.time) {
1473
+ continue;
1474
+ }
1475
+ if (cursor.id === exports.MovementType.up) {
1476
+ break;
1477
+ }
1478
+ // "Cursor velocity" is the velocity from the previous object's cursor release time to the current object's press time.
1479
+ const cursorVelocity = cursor.position.getDistance(prevCursor.position) /
1480
+ (cursor.time - prevCursor.time);
1481
+ is2Handed = cursorVelocity / initialVelocity < 0.8;
1482
+ }
1483
+ }
1484
+ if (!Number.isFinite(finalAngle)) {
1485
+ return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1486
+ }
1487
+ return new IndexedHitObject(diffObject, prevObjectInformation.cursorIndex, prevObjectInformation.groupIndex, prevObjectInformation.occurrenceIndex, finalAngle, is2Handed);
1494
1488
  }
1495
1489
  /**
1496
1490
  * Gets the position of the cursor that presses an object.
@@ -1507,7 +1501,7 @@ class TwoHandChecker {
1507
1501
  position: objectPosition,
1508
1502
  cursorIndex: 0,
1509
1503
  groupIndex: Number.POSITIVE_INFINITY,
1510
- cursorGroupIndex: Number.POSITIVE_INFINITY,
1504
+ occurrenceIndex: Number.POSITIVE_INFINITY,
1511
1505
  cursorTime: object.startTime,
1512
1506
  };
1513
1507
  }
@@ -1560,7 +1554,7 @@ class TwoHandChecker {
1560
1554
  position: down.position,
1561
1555
  cursorIndex: i,
1562
1556
  groupIndex: j,
1563
- cursorGroupIndex: 0,
1557
+ occurrenceIndex: 0,
1564
1558
  cursorTime: down.time,
1565
1559
  };
1566
1560
  }
@@ -1570,7 +1564,7 @@ class TwoHandChecker {
1570
1564
  position: down.position,
1571
1565
  cursorIndex: i,
1572
1566
  groupIndex: j,
1573
- cursorGroupIndex: 0,
1567
+ occurrenceIndex: 0,
1574
1568
  cursorTime: down.time,
1575
1569
  };
1576
1570
  }
@@ -1639,7 +1633,7 @@ class TwoHandChecker {
1639
1633
  position: nearestPosition,
1640
1634
  cursorIndex: Number.POSITIVE_INFINITY,
1641
1635
  groupIndex: Number.POSITIVE_INFINITY,
1642
- cursorGroupIndex: Number.POSITIVE_INFINITY,
1636
+ occurrenceIndex: Number.POSITIVE_INFINITY,
1643
1637
  cursorTime: object.startTime,
1644
1638
  };
1645
1639
  }
@@ -1647,7 +1641,7 @@ class TwoHandChecker {
1647
1641
  position: nearestPosition,
1648
1642
  cursorIndex: nearestCursorIndex,
1649
1643
  groupIndex: nearestGroupIndex,
1650
- cursorGroupIndex: nearestCursorGroupIndex,
1644
+ occurrenceIndex: nearestCursorGroupIndex,
1651
1645
  cursorTime: nearestCursorTime,
1652
1646
  };
1653
1647
  }
@@ -1740,7 +1734,7 @@ class TwoHandChecker {
1740
1734
  position: nearestPosition,
1741
1735
  cursorIndex: Number.POSITIVE_INFINITY,
1742
1736
  groupIndex: Number.POSITIVE_INFINITY,
1743
- cursorGroupIndex: Number.POSITIVE_INFINITY,
1737
+ occurrenceIndex: Number.POSITIVE_INFINITY,
1744
1738
  cursorTime: object.endTime,
1745
1739
  };
1746
1740
  }
@@ -1748,7 +1742,7 @@ class TwoHandChecker {
1748
1742
  position: nearestPosition,
1749
1743
  cursorIndex: nearestCursorIndex,
1750
1744
  groupIndex: nearestGroupIndex,
1751
- cursorGroupIndex: nearestCursorGroupIndex,
1745
+ occurrenceIndex: nearestCursorGroupIndex,
1752
1746
  cursorTime: nearestCursorTime,
1753
1747
  };
1754
1748
  }
@@ -1784,6 +1778,7 @@ class TwoHandChecker {
1784
1778
  this.indexedHitObjects.forEach((o) => {
1785
1779
  if (!o.is2Handed) {
1786
1780
  beatmaps[0].hitObjects.add(o.object.object);
1781
+ addToSecondBeatmap = true;
1787
1782
  return;
1788
1783
  }
1789
1784
  const beatmap = addToSecondBeatmap
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/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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rian8337/osu-droid-replay-analyzer",
3
- "version": "3.0.0-beta.30",
3
+ "version": "3.0.0-beta.32",
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.30",
35
- "@rian8337/osu-difficulty-calculator": "^3.0.0-beta.30",
36
- "@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.30",
34
+ "@rian8337/osu-base": "^3.0.0-beta.32",
35
+ "@rian8337/osu-difficulty-calculator": "^3.0.0-beta.32",
36
+ "@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.32",
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": "99f3ec53746a3e3ae02d9461aadc78259be075d1"
48
+ "gitHead": "8910459d602c1c9c3a7ae54c057dbb15778caa78"
49
49
  }
@@ -78,6 +78,10 @@ declare class CursorOccurrenceGroup {
78
78
  * The time at which this cursor occurrence group ends.
79
79
  */
80
80
  get endTime(): number;
81
+ /**
82
+ * The duration this cursor occurrence group is active for.
83
+ */
84
+ get duration(): number;
81
85
  /**
82
86
  * All cursor occurrences in this group.
83
87
  *