sonolus-next-rush-engine 1.0.13 → 1.0.15
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/extended/convert.js +13 -24
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/extended/convert.js
CHANGED
|
@@ -384,27 +384,6 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
384
384
|
nearlyEqual(getNum(start, 'lane'), getNum(head, 'lane')) &&
|
|
385
385
|
nearlyEqual(getNum(start, 'size'), getNum(head, 'size')));
|
|
386
386
|
}
|
|
387
|
-
function findExistingConnectorSplitNote(beat, lane, size, tsg) {
|
|
388
|
-
const splitTsg = tsg ?? defaultTsg;
|
|
389
|
-
for (const { idx, e } of ext.notes) {
|
|
390
|
-
const note = notesByIndex.get(idx);
|
|
391
|
-
if (!note)
|
|
392
|
-
continue;
|
|
393
|
-
if (getField(e, 'attach') !== undefined)
|
|
394
|
-
continue;
|
|
395
|
-
if (!nearlyEqual(getNum(e, '#BEAT'), beat))
|
|
396
|
-
continue;
|
|
397
|
-
if (!nearlyEqual(getNum(e, 'lane'), lane))
|
|
398
|
-
continue;
|
|
399
|
-
if (!nearlyEqual(getNum(e, 'size'), size))
|
|
400
|
-
continue;
|
|
401
|
-
const noteTsg = getTSG(getField(e, 'timeScaleGroup')) ?? defaultTsg;
|
|
402
|
-
if (noteTsg !== splitTsg)
|
|
403
|
-
continue;
|
|
404
|
-
return note;
|
|
405
|
-
}
|
|
406
|
-
return undefined;
|
|
407
|
-
}
|
|
408
387
|
function createConnectorAnchor(beat, lane, size, tsg, kind) {
|
|
409
388
|
const anchor = new EntityBuilder('AnchorNote');
|
|
410
389
|
anchor.set('#BEAT', beat);
|
|
@@ -466,8 +445,7 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
466
445
|
const easedFrac = applyEase(ease, frac);
|
|
467
446
|
const lane = lerp(headLane, tailLane, easedFrac);
|
|
468
447
|
const size = lerp(headSize, tailSize, easedFrac);
|
|
469
|
-
return (
|
|
470
|
-
createConnectorAnchor(beat, lane, size, tsg, kind));
|
|
448
|
+
return createConnectorAnchor(beat, lane, size, tsg, kind);
|
|
471
449
|
});
|
|
472
450
|
}
|
|
473
451
|
function isReverseHiddenPopConnector(headOriginal, tailOriginal) {
|
|
@@ -504,14 +482,21 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
504
482
|
visit(tailRef);
|
|
505
483
|
return ultimateTailRef;
|
|
506
484
|
}
|
|
485
|
+
function setInferredActiveHead(note, activeHead) {
|
|
486
|
+
if (note === activeHead)
|
|
487
|
+
return;
|
|
488
|
+
if (note.refs.activeHead)
|
|
489
|
+
return;
|
|
490
|
+
note.set('activeHead', activeHead);
|
|
491
|
+
}
|
|
507
492
|
for (const { idx, e } of ext.connectors) {
|
|
508
493
|
const startRef = getField(e, 'start');
|
|
509
494
|
const headRef = getField(e, 'head');
|
|
510
495
|
const tailRef = getField(e, 'tail');
|
|
511
|
-
const rawHead = getNote(headRef);
|
|
512
496
|
const tail = getNote(tailRef);
|
|
513
497
|
const rawHeadOriginal = resolveOriginal(ext, headRef);
|
|
514
498
|
const tailOriginal = resolveOriginal(ext, tailRef);
|
|
499
|
+
const rawHead = getNote(headRef);
|
|
515
500
|
const activeHead = getNote(startRef);
|
|
516
501
|
const usesStartAsHead = shouldUseStartAsHead(startRef, headRef);
|
|
517
502
|
const head = usesStartAsHead ? activeHead : rawHead;
|
|
@@ -579,6 +564,10 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
579
564
|
tail.set('segmentKind', kind);
|
|
580
565
|
tail.set('segmentAlpha', 1);
|
|
581
566
|
activeHead.set('segmentKind', kind);
|
|
567
|
+
for (const segmentNote of segmentNotes) {
|
|
568
|
+
setInferredActiveHead(segmentNote, activeHead);
|
|
569
|
+
}
|
|
570
|
+
setInferredActiveHead(activeTail, activeHead);
|
|
582
571
|
connectorsByIndex.set(idx, connectorLink);
|
|
583
572
|
if (e.name)
|
|
584
573
|
connectorsByName.set(e.name, connectorLink);
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { USC } from './usc/index.js';
|
|
|
7
7
|
export * from './usc/index.js';
|
|
8
8
|
export { type ExtendedEntityData, type ExtendedEntityDataField, extendedToLevelData, mmwsToUSC, susToUSC, ucmmwsToLevelData, uscToLevelData, };
|
|
9
9
|
export declare const convertToLevelData: (input: string | Uint8Array | USC | LevelData, offset?: number) => LevelData;
|
|
10
|
-
export declare const version = "1.0.
|
|
10
|
+
export declare const version = "1.0.15";
|
|
11
11
|
export declare const databaseEngineItem: {
|
|
12
12
|
readonly name: "next-rush";
|
|
13
13
|
readonly version: 13;
|
package/dist/index.js
CHANGED
|
@@ -65,7 +65,7 @@ export const convertToLevelData = (input, offset = 0) => {
|
|
|
65
65
|
}
|
|
66
66
|
return uscToLevelData(usc, offset, true, true);
|
|
67
67
|
};
|
|
68
|
-
export const version = '1.0.
|
|
68
|
+
export const version = '1.0.15';
|
|
69
69
|
export const databaseEngineItem = {
|
|
70
70
|
name: 'next-rush',
|
|
71
71
|
version: 13,
|