sonolus-deemo-engine 1.0.0 → 1.0.2

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/README.md CHANGED
@@ -47,15 +47,15 @@ Engine Thumbnail.
47
47
  - `engineThumbnail.buffer`: buffer of file.
48
48
  - `engineThumbnail.hash`: hash of file.
49
49
 
50
- ### `chartToDC(chart)`
50
+ ### `dsToDC(ds)`
51
51
 
52
- Converts Deemo source chart to DC (Deemo Chart).
52
+ Converts DS (Deemo Source) to DC (Deemo Chart).
53
53
 
54
- - `chart`: Deemo source chart.
54
+ - `ds`: Deemo Source.
55
55
 
56
56
  ### `dcToLevelData(dc, offset?)`
57
57
 
58
58
  Converts DC (Deemo Chart) to Level Data.
59
59
 
60
- - `dc`: Deemo chart.
60
+ - `dc`: Deemo Chart.
61
61
  - `offset`: offset (default: `0`).
@@ -1,20 +1,20 @@
1
- export type DC = ChartObject[];
2
- export type ChartObject = BPMObject | TapNote | SlideNote;
3
- type ObjectBase = {
1
+ export type DC = DCObject[];
2
+ export type DCObject = DCBpmChangeObject | DCTapNote | DCSlideNote;
3
+ type BaseDCObject = {
4
4
  beat: number;
5
5
  };
6
- export type BPMObject = ObjectBase & {
6
+ export type DCBpmChangeObject = BaseDCObject & {
7
7
  type: 'bpm';
8
8
  bpm: number;
9
9
  };
10
- type NoteBase = ObjectBase & {
10
+ type BaseDCNote = BaseDCObject & {
11
11
  lane: number;
12
12
  size: number;
13
13
  };
14
- export type TapNote = NoteBase & {
14
+ export type DCTapNote = BaseDCNote & {
15
15
  type: 'tap';
16
16
  };
17
- export type SlideNote = NoteBase & {
17
+ export type DCSlideNote = BaseDCNote & {
18
18
  type: 'slide';
19
19
  };
20
20
  export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.chartToDC = void 0;
4
- const chartToDC = (chart) => {
3
+ exports.dsToDC = void 0;
4
+ const dsToDC = (ds) => {
5
5
  const dc = [
6
6
  {
7
7
  type: 'bpm',
@@ -9,17 +9,17 @@ const chartToDC = (chart) => {
9
9
  bpm: 60,
10
10
  },
11
11
  ];
12
- const slideIds = chart.links.flatMap((link) => link.notes.map((note) => note.$ref));
13
- for (const note of chart.notes) {
12
+ const slideIds = ds.links.flatMap((link) => link.notes.map((note) => note.$ref));
13
+ for (const note of ds.notes) {
14
14
  if (note.pos > 2)
15
15
  continue;
16
16
  dc.push({
17
17
  type: slideIds.includes(note.$id) ? 'slide' : 'tap',
18
- beat: note.time,
18
+ beat: note._time,
19
19
  lane: note.pos * 4,
20
20
  size: note.size * 2,
21
21
  });
22
22
  }
23
23
  return dc;
24
24
  };
25
- exports.chartToDC = chartToDC;
25
+ exports.dsToDC = dsToDC;
@@ -0,0 +1,3 @@
1
+ import { DC } from '../dc/index.cjs';
2
+ import { DS } from './index.cjs';
3
+ export declare const dsToDC: (ds: DS) => DC;
@@ -0,0 +1,15 @@
1
+ export type DS = {
2
+ notes: DSNote[];
3
+ links: DSLink[];
4
+ };
5
+ export type DSNote = {
6
+ $id: string;
7
+ pos: number;
8
+ size: number;
9
+ _time: number;
10
+ };
11
+ export type DSLink = {
12
+ notes: {
13
+ $ref: string;
14
+ }[];
15
+ };
package/dist/index.cjs CHANGED
@@ -1,12 +1,28 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.engineThumbnail = exports.engineData = exports.engineConfiguration = exports.engineInfo = exports.version = exports.dcToLevelData = exports.chartToDC = void 0;
17
+ exports.engineThumbnail = exports.engineData = exports.engineConfiguration = exports.engineInfo = exports.version = exports.dsToDC = exports.dcToLevelData = void 0;
4
18
  const Resource_cjs_1 = require("./Resource.cjs");
5
- var convert_cjs_1 = require("./chart/convert.cjs");
6
- Object.defineProperty(exports, "chartToDC", { enumerable: true, get: function () { return convert_cjs_1.chartToDC; } });
7
- var convert_cjs_2 = require("./dc/convert.cjs");
8
- Object.defineProperty(exports, "dcToLevelData", { enumerable: true, get: function () { return convert_cjs_2.dcToLevelData; } });
9
- exports.version = '1.0.0';
19
+ var convert_cjs_1 = require("./dc/convert.cjs");
20
+ Object.defineProperty(exports, "dcToLevelData", { enumerable: true, get: function () { return convert_cjs_1.dcToLevelData; } });
21
+ __exportStar(require("./dc/index.cjs"), exports);
22
+ var convert_cjs_2 = require("./ds/convert.cjs");
23
+ Object.defineProperty(exports, "dsToDC", { enumerable: true, get: function () { return convert_cjs_2.dsToDC; } });
24
+ __exportStar(require("./ds/index.cjs"), exports);
25
+ exports.version = '1.0.2';
10
26
  exports.engineInfo = {
11
27
  name: 'deemo',
12
28
  version: 8,
package/dist/index.d.cts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { Resource } from './Resource.cjs';
2
- export { chartToDC } from './chart/convert.cjs';
3
2
  export { dcToLevelData } from './dc/convert.cjs';
4
- export declare const version = "1.0.0";
3
+ export * from './dc/index.cjs';
4
+ export { dsToDC } from './ds/convert.cjs';
5
+ export * from './ds/index.cjs';
6
+ export declare const version = "1.0.2";
5
7
  export declare const engineInfo: {
6
8
  readonly name: "deemo";
7
9
  readonly version: 8;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonolus-deemo-engine",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "A recreation of Deemo engine in Sonolus",
5
5
  "author": "NonSpicyBurrito",
6
6
  "repository": "github:NonSpicyBurrito/sonolus-deemo-engine",
@@ -1,3 +0,0 @@
1
- import { DC } from '../dc/index.cjs';
2
- import { Chart } from './index.cjs';
3
- export declare const chartToDC: (chart: Chart) => DC;
@@ -1,15 +0,0 @@
1
- export type Chart = {
2
- notes: Note[];
3
- links: Link[];
4
- };
5
- export type Note = {
6
- $id: string;
7
- pos: number;
8
- size: number;
9
- time: number;
10
- };
11
- export type Link = {
12
- notes: {
13
- $ref: string;
14
- }[];
15
- };
File without changes