sonolus-d4dj-engine 1.1.2 → 1.1.4

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
Binary file
Binary file
Binary file
@@ -21,6 +21,10 @@ function b34djToLevelData(chart, offset = 0) {
21
21
  exports.b34djToLevelData = b34djToLevelData;
22
22
  ;
23
23
  function d4djToLevelData(chart, offset = 0) {
24
+ let disc = {
25
+ left: chart[1].filter((soflan) => [1, 3].includes(soflan[2])),
26
+ right: chart[1].filter((soflan) => [2, 3].includes(soflan[2]))
27
+ };
24
28
  let data = {
25
29
  bgmOffset: offset,
26
30
  entities: [
@@ -30,7 +34,16 @@ function d4djToLevelData(chart, offset = 0) {
30
34
  },
31
35
  {
32
36
  archetype: "Stage",
33
- data: [],
37
+ data: [
38
+ {
39
+ name: "discTsgL",
40
+ ref: "tsg:3"
41
+ },
42
+ {
43
+ name: "discTsgR",
44
+ ref: "tsg:4"
45
+ }
46
+ ],
34
47
  },
35
48
  {
36
49
  archetype: "#BPM_CHANGE",
@@ -99,6 +112,42 @@ function d4djToLevelData(chart, offset = 0) {
99
112
  ],
100
113
  name: "tsg:2",
101
114
  },
115
+ {
116
+ archetype: "TimeScaleGroup",
117
+ data: [
118
+ {
119
+ name: "first",
120
+ ref: "tsc:3:0",
121
+ },
122
+ {
123
+ name: "length",
124
+ value: disc.left.length + 1,
125
+ },
126
+ {
127
+ name: "next",
128
+ ref: "tsg:4",
129
+ },
130
+ ],
131
+ name: "tsg:3",
132
+ },
133
+ {
134
+ archetype: "TimeScaleGroup",
135
+ data: [
136
+ {
137
+ name: "first",
138
+ ref: "tsc:4:0",
139
+ },
140
+ {
141
+ name: "length",
142
+ value: disc.right.length + 1,
143
+ },
144
+ {
145
+ name: "next",
146
+ value: -1,
147
+ },
148
+ ],
149
+ name: "tsg:4",
150
+ },
102
151
  {
103
152
  archetype: "TimeScaleChange",
104
153
  data: [
@@ -153,6 +202,42 @@ function d4djToLevelData(chart, offset = 0) {
153
202
  ],
154
203
  name: `tsc:2:0`,
155
204
  },
205
+ {
206
+ archetype: "TimeScaleChange",
207
+ data: [
208
+ {
209
+ name: "#BEAT",
210
+ value: 0,
211
+ },
212
+ {
213
+ name: "timeScale",
214
+ value: 1,
215
+ },
216
+ {
217
+ name: "next",
218
+ ref: "tsc:3:1",
219
+ },
220
+ ],
221
+ name: `tsc:3:0`,
222
+ },
223
+ {
224
+ archetype: "TimeScaleChange",
225
+ data: [
226
+ {
227
+ name: "#BEAT",
228
+ value: 0,
229
+ },
230
+ {
231
+ name: "timeScale",
232
+ value: 1,
233
+ },
234
+ {
235
+ name: "next",
236
+ ref: "tsc:4:1",
237
+ },
238
+ ],
239
+ name: `tsc:4:0`,
240
+ },
156
241
  ],
157
242
  };
158
243
  let ts = chart[1].map((arr, i) => ({
@@ -166,10 +251,6 @@ function d4djToLevelData(chart, offset = 0) {
166
251
  name: "timeScale",
167
252
  value: arr[1],
168
253
  },
169
- {
170
- name: "disc",
171
- value: arr[2],
172
- },
173
254
  {
174
255
  name: "next",
175
256
  ref: `tsc:0:${i + 2}`,
@@ -177,6 +258,42 @@ function d4djToLevelData(chart, offset = 0) {
177
258
  ],
178
259
  name: `tsc:0:${i + 1}`,
179
260
  }));
261
+ let discL = disc.left.map((arr, i) => ({
262
+ archetype: "TimeScaleChange",
263
+ data: [
264
+ {
265
+ name: "#BEAT",
266
+ value: arr[0],
267
+ },
268
+ {
269
+ name: "timeScale",
270
+ value: arr[1],
271
+ },
272
+ {
273
+ name: "next",
274
+ ref: `tsc:3:${i + 2}`,
275
+ },
276
+ ],
277
+ name: `tsc:3:${i + 1}`,
278
+ }));
279
+ let discR = disc.right.map((arr, i) => ({
280
+ archetype: "TimeScaleChange",
281
+ data: [
282
+ {
283
+ name: "#BEAT",
284
+ value: arr[0],
285
+ },
286
+ {
287
+ name: "timeScale",
288
+ value: arr[1],
289
+ },
290
+ {
291
+ name: "next",
292
+ ref: `tsc:4:${i + 2}`,
293
+ },
294
+ ],
295
+ name: `tsc:4:${i + 1}`,
296
+ }));
180
297
  let bl = chart[2].map((time) => ({
181
298
  archetype: "BarLine",
182
299
  data: [
@@ -191,7 +308,7 @@ function d4djToLevelData(chart, offset = 0) {
191
308
  ],
192
309
  }));
193
310
  let notes = note(chart);
194
- data.entities.push(...ts, ...notes, ...bl);
311
+ data.entities.push(...ts, ...discL, ...discR, ...notes, ...bl);
195
312
  return data;
196
313
  }
197
314
  exports.d4djToLevelData = d4djToLevelData;
package/dist/index.cjs CHANGED
@@ -19,7 +19,7 @@ var convert_cjs_1 = require("./b34dj/convert.cjs");
19
19
  Object.defineProperty(exports, "b34djToLevelData", { enumerable: true, get: function () { return convert_cjs_1.b34djToLevelData; } });
20
20
  Object.defineProperty(exports, "d4djToLevelData", { enumerable: true, get: function () { return convert_cjs_1.d4djToLevelData; } });
21
21
  __exportStar(require("./b34dj/index.cjs"), exports);
22
- exports.version = '1.1.2';
22
+ exports.version = '1.1.4';
23
23
  exports.databaseEngineItem = {
24
24
  name: 'd4dj',
25
25
  version: 12,
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { b34djToLevelData, d4djToLevelData } from './b34dj/convert.cjs';
2
2
  export * from './b34dj/index.cjs';
3
- export declare const version = "1.1.2";
3
+ export declare const version = "1.1.4";
4
4
  export declare const databaseEngineItem: {
5
5
  readonly name: "d4dj";
6
6
  readonly version: 12;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonolus-d4dj-engine",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "A recreation of D4DJ Groovy Mix engine in Sonolus.",
5
5
  "type": "module",
6
6
  "author": "Gorengan Hunter",
@@ -33,7 +33,7 @@
33
33
  "build": "tsc -p ./lib && sonolus-cli --build ./play && sonolus-cli --build ./watch && sonolus-cli --build ./preview && sonolus-cli --build ./tutorial && node ./lib/build.mjs"
34
34
  },
35
35
  "dependencies": {
36
- "@sonolus/core": "~7.9.1"
36
+ "@sonolus/core": "^7.9.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@eslint/js": "^8.57.0",