sonolus-next-rush-engine 1.1.1 → 1.1.3
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/EnginePlayData +0 -0
- package/dist/EngineWatchData +0 -0
- package/dist/extended/convert.js +17 -12
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/EnginePlayData
CHANGED
|
Binary file
|
package/dist/EngineWatchData
CHANGED
|
Binary file
|
package/dist/extended/convert.js
CHANGED
|
@@ -530,7 +530,6 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
530
530
|
if (!isSlideTickRef(headRef))
|
|
531
531
|
return startRef;
|
|
532
532
|
let ultimateStartRef = startRef;
|
|
533
|
-
let ultimateStartBeat = getNum(resolveOriginal(ext, startRef) ?? { archetype: '', data: [] }, '#BEAT');
|
|
534
533
|
const visited = new Set();
|
|
535
534
|
function visit(currentHeadRef) {
|
|
536
535
|
const key = `${archetype}|${String(currentHeadRef)}`;
|
|
@@ -539,14 +538,14 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
539
538
|
visited.add(key);
|
|
540
539
|
if (!isSlideTickRef(currentHeadRef))
|
|
541
540
|
return;
|
|
542
|
-
|
|
541
|
+
let previousConnectors = ext.connectors.filter((c) => c.e.archetype === archetype && getField(c.e, 'tail') === currentHeadRef);
|
|
542
|
+
if (previousConnectors.length === 0) {
|
|
543
|
+
previousConnectors = ext.connectors.filter((c) => c.e.archetype in activeConnectorKindMapping &&
|
|
544
|
+
getField(c.e, 'tail') === currentHeadRef);
|
|
545
|
+
}
|
|
543
546
|
for (const previousConnector of previousConnectors) {
|
|
544
547
|
const previousStartRef = getField(previousConnector.e, 'start');
|
|
545
|
-
|
|
546
|
-
if (previousStartBeat <= ultimateStartBeat) {
|
|
547
|
-
ultimateStartBeat = previousStartBeat;
|
|
548
|
-
ultimateStartRef = previousStartRef;
|
|
549
|
-
}
|
|
548
|
+
ultimateStartRef = previousStartRef;
|
|
550
549
|
visit(getField(previousConnector.e, 'head'));
|
|
551
550
|
}
|
|
552
551
|
}
|
|
@@ -596,6 +595,11 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
596
595
|
function getRefBeat(ref) {
|
|
597
596
|
return getNum(resolveOriginal(ext, ref) ?? { archetype: '', data: [] }, '#BEAT');
|
|
598
597
|
}
|
|
598
|
+
function getConnectorActiveStartRef(archetype, startRef, headRef, endRef) {
|
|
599
|
+
if (endRef !== undefined)
|
|
600
|
+
return startRef;
|
|
601
|
+
return getUltimateStartRef(archetype, startRef, headRef);
|
|
602
|
+
}
|
|
599
603
|
const activeTailRefsByStart = new Map();
|
|
600
604
|
function getActiveTailRef(activeStartRef) {
|
|
601
605
|
const key = refKey(activeStartRef);
|
|
@@ -608,10 +612,10 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
608
612
|
const headRef = getField(e, 'head');
|
|
609
613
|
if (isIgnoredSlideTickRef(headRef))
|
|
610
614
|
continue;
|
|
611
|
-
const
|
|
615
|
+
const endRef = getField(e, 'end');
|
|
616
|
+
const connectorActiveStartRef = getConnectorActiveStartRef(e.archetype, startRef, headRef, endRef);
|
|
612
617
|
if (refKey(connectorActiveStartRef) !== key)
|
|
613
618
|
continue;
|
|
614
|
-
const endRef = getField(e, 'end');
|
|
615
619
|
const { tailRef } = resolveConnectorTailRef(e.archetype, startRef, getField(e, 'tail'));
|
|
616
620
|
const candidateTailRef = endRef ?? getUltimateTailRef(e.archetype, activeStartRef, tailRef);
|
|
617
621
|
const candidateTailBeat = getRefBeat(candidateTailRef);
|
|
@@ -635,14 +639,15 @@ export const extendedToLevelData = (data, offset = 0) => {
|
|
|
635
639
|
const rawHeadOriginal = resolveOriginal(ext, headRef);
|
|
636
640
|
const tailOriginal = resolveOriginal(ext, tailRef);
|
|
637
641
|
const rawHead = getNote(headRef);
|
|
638
|
-
const
|
|
642
|
+
const endRef = getField(e, 'end');
|
|
643
|
+
const activeStartRef = getConnectorActiveStartRef(e.archetype, startRef, headRef, endRef);
|
|
639
644
|
const activeHead = getNote(activeStartRef);
|
|
640
645
|
const usesStartAsHead = shouldUseStartAsHead(startRef, headRef);
|
|
641
646
|
const head = usesStartAsHead ? activeHead : rawHead;
|
|
642
647
|
const headOriginal = resolveOriginal(ext, usesStartAsHead ? startRef : headRef);
|
|
643
|
-
let activeTail = getNote(getActiveTailRef(activeStartRef));
|
|
648
|
+
let activeTail = getNote(endRef ?? getActiveTailRef(activeStartRef));
|
|
644
649
|
if (!activeTail) {
|
|
645
|
-
activeTail = getNote(
|
|
650
|
+
activeTail = getNote(getActiveTailRef(activeStartRef));
|
|
646
651
|
}
|
|
647
652
|
if (!activeTail) {
|
|
648
653
|
activeTail = tail;
|
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.1.
|
|
10
|
+
export declare const version = "1.1.3";
|
|
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.1.
|
|
68
|
+
export const version = '1.1.3';
|
|
69
69
|
export const databaseEngineItem = {
|
|
70
70
|
name: 'next-rush',
|
|
71
71
|
version: 13,
|