sonolus-next-rush-plus-engine 1.8.16 → 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.
Binary file
@@ -235,17 +235,8 @@ export const extendedToLevelData = (data, offset = 0) => {
235
235
  return undefined;
236
236
  }
237
237
  for (const { idx, e } of ext.connectors) {
238
- let headRef = getField(e, 'head');
239
238
  const startRef = getField(e, 'start');
240
- const headOrig = resolveOriginal(ext, headRef);
241
- const startOrig = resolveOriginal(ext, startRef);
242
- if (headOrig && startOrig) {
243
- const isHeadStart = headOrig.archetype.includes('StartNote');
244
- const isStartStart = startOrig.archetype.includes('StartNote');
245
- if (isHeadStart && isStartStart && headRef !== startRef) {
246
- headRef = startRef;
247
- }
248
- }
239
+ const headRef = getField(e, 'head');
249
240
  const head = getNote(headRef);
250
241
  const tail = getNote(getField(e, 'tail'));
251
242
  const segmentHead = getNote(startRef) || head;
@@ -273,6 +264,24 @@ export const extendedToLevelData = (data, offset = 0) => {
273
264
  }
274
265
  if (!head || !tail || !segmentHead || !segmentTail)
275
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
+ }
276
285
  const connector = new EntityBuilder('Connector');
277
286
  connector.set('head', head);
278
287
  connector.set('tail', tail);
@@ -280,11 +289,12 @@ export const extendedToLevelData = (data, offset = 0) => {
280
289
  connector.set('segmentTail', segmentTail);
281
290
  connector.set('activeHead', segmentHead);
282
291
  connector.set('activeTail', segmentTail);
283
- head.set('connectorEase', easeTypeMapping[getNum(e, 'ease')] ?? EaseType.LINEAR);
284
- const kind = activeConnectorKindMapping[e.archetype];
292
+ head.set('connectorEase', ease);
285
293
  head.set('segmentKind', kind);
286
294
  tail.set('segmentKind', kind);
287
295
  segmentHead.set('segmentKind', kind);
296
+ segmentHead.set('segmentAlpha', 1);
297
+ segmentTail.set('segmentAlpha', 1);
288
298
  finalEntities.push(connector);
289
299
  connectorsByIndex.set(idx, connector);
290
300
  if (e.name)
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.16";
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.16';
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.16",
3
+ "version": "1.8.18-beta",
4
4
  "description": "A new Project Sekai inspired engine for Sonolus",
5
5
  "author": "Hyeon2",
6
6
  "repository": {