sonolus-next-rush-plus-engine 1.8.17 → 1.8.18-beta

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.
@@ -236,7 +236,8 @@ export const extendedToLevelData = (data, offset = 0) => {
236
236
  }
237
237
  for (const { idx, e } of ext.connectors) {
238
238
  const startRef = getField(e, 'start');
239
- const head = getNote(getField(e, 'head'));
239
+ const headRef = getField(e, 'head');
240
+ const head = getNote(headRef);
240
241
  const tail = getNote(getField(e, 'tail'));
241
242
  const segmentHead = getNote(startRef) || head;
242
243
  const endRef = getField(e, 'end');
@@ -263,6 +264,24 @@ export const extendedToLevelData = (data, offset = 0) => {
263
264
  }
264
265
  if (!head || !tail || !segmentHead || !segmentTail)
265
266
  continue;
267
+ const kind = activeConnectorKindMapping[e.archetype];
268
+ const ease = easeTypeMapping[getNum(e, 'ease')] ?? EaseType.LINEAR;
269
+ const headOrig = resolveOriginal(ext, headRef);
270
+ const startOrig = resolveOriginal(ext, startRef);
271
+ const isHeadStart = headOrig?.archetype.includes('StartNote');
272
+ const isStartStart = startOrig?.archetype.includes('StartNote');
273
+ if (isHeadStart && isStartStart && segmentHead !== head) {
274
+ const bridgeConnector = new EntityBuilder('Connector');
275
+ bridgeConnector.set('head', segmentHead);
276
+ bridgeConnector.set('tail', head);
277
+ bridgeConnector.set('segmentHead', segmentHead);
278
+ bridgeConnector.set('segmentTail', segmentTail);
279
+ bridgeConnector.set('activeHead', segmentHead);
280
+ bridgeConnector.set('activeTail', segmentTail);
281
+ segmentHead.set('connectorEase', ease);
282
+ segmentHead.set('segmentKind', kind);
283
+ finalEntities.push(bridgeConnector);
284
+ }
266
285
  const connector = new EntityBuilder('Connector');
267
286
  connector.set('head', head);
268
287
  connector.set('tail', tail);
@@ -270,8 +289,7 @@ export const extendedToLevelData = (data, offset = 0) => {
270
289
  connector.set('segmentTail', segmentTail);
271
290
  connector.set('activeHead', segmentHead);
272
291
  connector.set('activeTail', segmentTail);
273
- head.set('connectorEase', easeTypeMapping[getNum(e, 'ease')] ?? EaseType.LINEAR);
274
- const kind = activeConnectorKindMapping[e.archetype];
292
+ head.set('connectorEase', ease);
275
293
  head.set('segmentKind', kind);
276
294
  tail.set('segmentKind', kind);
277
295
  segmentHead.set('segmentKind', kind);
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.8.17";
10
+ export declare const version = "1.8.18-beta";
11
11
  export declare const databaseEngineItem: {
12
12
  readonly name: "next-rush-plus";
13
13
  readonly version: 13;
package/dist/index.js CHANGED
@@ -70,7 +70,7 @@ export const convertToLevelData = (input, offset = 0) => {
70
70
  }
71
71
  return uscToLevelData(usc, offset, true, true);
72
72
  };
73
- export const version = '1.8.17';
73
+ export const version = '1.8.18-beta';
74
74
  export const databaseEngineItem = {
75
75
  name: 'next-rush-plus',
76
76
  version: 13,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonolus-next-rush-plus-engine",
3
- "version": "1.8.17",
3
+ "version": "1.8.18-beta",
4
4
  "description": "A new Project Sekai inspired engine for Sonolus",
5
5
  "author": "Hyeon2",
6
6
  "repository": {