@tosuapp/osu-native-napi 1.0.0

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
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ module.exports = require("./dist/Release/osu-native-napi.node");
package/index.mjs ADDED
@@ -0,0 +1,4 @@
1
+ import addon from "./dist/Release/osu-native-napi.node";
2
+
3
+ export default addon;
4
+ export { addon };
@@ -0,0 +1,536 @@
1
+ // ----------------------------------------------------------------------------
2
+ // <auto-generated>
3
+ // This is autogenerated code by CppSharp.
4
+ // Do not edit this file or all your changes will be lost after re-generation.
5
+ // </auto-generated>
6
+ // ----------------------------------------------------------------------------
7
+
8
+ export enum ErrorCode {
9
+ BUFFER_SIZE_QUERY = -1,
10
+ SUCCESS = 0,
11
+ OBJECT_NOT_RESOLVED = 1,
12
+ RULESET_UNAVAILABLE = 2,
13
+ UNEXPECTED_RULESET = 3,
14
+ FAILURE = 127,
15
+ }
16
+
17
+ export class ManagedObjectHandle {
18
+ constructor();
19
+
20
+ constructor(_0: ManagedObjectHandle);
21
+
22
+ id: number;
23
+ }
24
+
25
+ export class NativeBeatmap {
26
+ constructor();
27
+
28
+ constructor(_0: NativeBeatmap);
29
+
30
+ handle: ManagedObjectHandle;
31
+ rulesetId: number;
32
+ beatmapId: number;
33
+ approachRate: number;
34
+ drainRate: number;
35
+ overallDifficulty: number;
36
+ circleSize: number;
37
+ sliderMultiplier: number;
38
+ sliderTickRate: number;
39
+ }
40
+
41
+ export class NativeMod {
42
+ constructor();
43
+
44
+ constructor(_0: NativeMod);
45
+
46
+ handle: ManagedObjectHandle;
47
+ }
48
+
49
+ export class NativeModsCollection {
50
+ constructor();
51
+
52
+ constructor(_0: NativeModsCollection);
53
+
54
+ handle: ManagedObjectHandle;
55
+ }
56
+
57
+ export class NativeRuleset {
58
+ constructor();
59
+
60
+ constructor(_0: NativeRuleset);
61
+
62
+ handle: ManagedObjectHandle;
63
+ rulesetId: number;
64
+ }
65
+
66
+ export class NativeScoreInfo {
67
+ constructor();
68
+
69
+ constructor(_0: NativeScoreInfo);
70
+
71
+ rulesetHandle: ManagedObjectHandle;
72
+ beatmapHandle: ManagedObjectHandle;
73
+ modsHandle: ManagedObjectHandle;
74
+ maxCombo: number;
75
+ accuracy: number;
76
+ countMiss: number;
77
+ countMeh: number;
78
+ countOk: number;
79
+ countGood: number;
80
+ countGreat: number;
81
+ countPerfect: number;
82
+ countSliderTailHit: number;
83
+ countLargeTickMiss: number;
84
+ }
85
+
86
+ export class NativeCatchPerformanceAttributes {
87
+ constructor();
88
+
89
+ constructor(_0: NativeCatchPerformanceAttributes);
90
+
91
+ total: number;
92
+ }
93
+
94
+ export class NativeCatchPerformanceCalculator {
95
+ constructor();
96
+
97
+ constructor(_0: NativeCatchPerformanceCalculator);
98
+
99
+ handle: ManagedObjectHandle;
100
+ }
101
+
102
+ export class NativeManiaPerformanceAttributes {
103
+ constructor();
104
+
105
+ constructor(_0: NativeManiaPerformanceAttributes);
106
+
107
+ total: number;
108
+ difficulty: number;
109
+ }
110
+
111
+ export class NativeManiaPerformanceCalculator {
112
+ constructor();
113
+
114
+ constructor(_0: NativeManiaPerformanceCalculator);
115
+
116
+ handle: ManagedObjectHandle;
117
+ }
118
+
119
+ export class Cabinet__Nullable_double {
120
+ constructor();
121
+
122
+ constructor(_0: Cabinet__Nullable_double);
123
+
124
+ hasValue: boolean;
125
+ value: number;
126
+ }
127
+
128
+ export class NativeOsuPerformanceAttributes {
129
+ constructor();
130
+
131
+ constructor(_0: NativeOsuPerformanceAttributes);
132
+
133
+ total: number;
134
+ aim: number;
135
+ speed: number;
136
+ accuracy: number;
137
+ flashlight: number;
138
+ effectiveMissCount: number;
139
+ speedDeviation: Cabinet__Nullable_double;
140
+ comboBasedEstimatedMissCount: number;
141
+ scoreBasedEstimatedMissCount: Cabinet__Nullable_double;
142
+ aimEstimatedSliderBreaks: number;
143
+ speedEstimatedSliderBreaks: number;
144
+ }
145
+
146
+ export class NativeOsuPerformanceCalculator {
147
+ constructor();
148
+
149
+ constructor(_0: NativeOsuPerformanceCalculator);
150
+
151
+ handle: ManagedObjectHandle;
152
+ }
153
+
154
+ export class NativeTaikoPerformanceAttributes {
155
+ constructor();
156
+
157
+ constructor(_0: NativeTaikoPerformanceAttributes);
158
+
159
+ total: number;
160
+ difficulty: number;
161
+ accuracy: number;
162
+ estimatedUnstableRate: Cabinet__Nullable_double;
163
+ }
164
+
165
+ export class NativeTaikoPerformanceCalculator {
166
+ constructor();
167
+
168
+ constructor(_0: NativeTaikoPerformanceCalculator);
169
+
170
+ handle: ManagedObjectHandle;
171
+ }
172
+
173
+ export class NativeCatchDifficultyAttributes {
174
+ constructor();
175
+
176
+ constructor(_0: NativeCatchDifficultyAttributes);
177
+
178
+ starRating: number;
179
+ maxCombo: number;
180
+ }
181
+
182
+ export class NativeCatchDifficultyCalculator {
183
+ constructor();
184
+
185
+ constructor(_0: NativeCatchDifficultyCalculator);
186
+
187
+ handle: ManagedObjectHandle;
188
+ }
189
+
190
+ export class NativeManiaDifficultyAttributes {
191
+ constructor();
192
+
193
+ constructor(_0: NativeManiaDifficultyAttributes);
194
+
195
+ starRating: number;
196
+ maxCombo: number;
197
+ }
198
+
199
+ export class NativeManiaDifficultyCalculator {
200
+ constructor();
201
+
202
+ constructor(_0: NativeManiaDifficultyCalculator);
203
+
204
+ handle: ManagedObjectHandle;
205
+ }
206
+
207
+ export class NativeOsuDifficultyAttributes {
208
+ constructor();
209
+
210
+ constructor(_0: NativeOsuDifficultyAttributes);
211
+
212
+ starRating: number;
213
+ maxCombo: number;
214
+ aimDifficulty: number;
215
+ aimDifficultSliderCount: number;
216
+ speedDifficulty: number;
217
+ speedNoteCount: number;
218
+ flashlightDifficulty: number;
219
+ sliderFactor: number;
220
+ aimTopWeightedSliderFactor: number;
221
+ speedTopWeightedSliderFactor: number;
222
+ aimDifficultStrainCount: number;
223
+ speedDifficultStrainCount: number;
224
+ nestedScorePerObject: number;
225
+ legacyScoreBaseMultiplier: number;
226
+ maximumLegacyComboScore: number;
227
+ drainRate: number;
228
+ hitCircleCount: number;
229
+ sliderCount: number;
230
+ spinnerCount: number;
231
+ }
232
+
233
+ export class NativeOsuDifficultyCalculator {
234
+ constructor();
235
+
236
+ constructor(_0: NativeOsuDifficultyCalculator);
237
+
238
+ handle: ManagedObjectHandle;
239
+ }
240
+
241
+ export class NativeTaikoDifficultyAttributes {
242
+ constructor();
243
+
244
+ constructor(_0: NativeTaikoDifficultyAttributes);
245
+
246
+ starRating: number;
247
+ maxCombo: number;
248
+ mechanicalDifficulty: number;
249
+ rhythmDifficulty: number;
250
+ readingDifficulty: number;
251
+ colourDifficulty: number;
252
+ staminaDifficulty: number;
253
+ monoStaminaFactor: number;
254
+ consistencyFactor: number;
255
+ staminaTopStrains: number;
256
+ }
257
+
258
+ export class NativeTaikoDifficultyCalculator {
259
+ constructor();
260
+
261
+ constructor(_0: NativeTaikoDifficultyCalculator);
262
+
263
+ handle: ManagedObjectHandle;
264
+ }
265
+
266
+ export class NativeTimedCatchDifficultyAttributes {
267
+ constructor();
268
+
269
+ constructor(_0: NativeTimedCatchDifficultyAttributes);
270
+
271
+ time: number;
272
+ attributes: NativeCatchDifficultyAttributes;
273
+ }
274
+
275
+ export class NativeTimedManiaDifficultyAttributes {
276
+ constructor();
277
+
278
+ constructor(_0: NativeTimedManiaDifficultyAttributes);
279
+
280
+ time: number;
281
+ attributes: NativeManiaDifficultyAttributes;
282
+ }
283
+
284
+ export class NativeTimedOsuDifficultyAttributes {
285
+ constructor();
286
+
287
+ constructor(_0: NativeTimedOsuDifficultyAttributes);
288
+
289
+ time: number;
290
+ attributes: NativeOsuDifficultyAttributes;
291
+ }
292
+
293
+ export class NativeTimedTaikoDifficultyAttributes {
294
+ constructor();
295
+
296
+ constructor(_0: NativeTimedTaikoDifficultyAttributes);
297
+
298
+ time: number;
299
+ attributes: NativeTaikoDifficultyAttributes;
300
+ }
301
+
302
+ export function ErrorHandler_GetLastMessage(): string;
303
+ export function Beatmap_CreateFromFile(
304
+ filePathPtr: null | Buffer | string,
305
+ nativeBeatmapPtr: NativeBeatmap,
306
+ ): ErrorCode;
307
+ export function Beatmap_CreateFromText(
308
+ beatmapTextPtr: null | Buffer | string,
309
+ nativeBeatmapPtr: NativeBeatmap,
310
+ ): ErrorCode;
311
+ export function Beatmap_GetTitle(
312
+ beatmapHandle: ManagedObjectHandle,
313
+ buffer: null | Buffer | string,
314
+ bufferSize: Int32Array,
315
+ ): ErrorCode;
316
+ export function Beatmap_GetArtist(
317
+ beatmapHandle: ManagedObjectHandle,
318
+ buffer: null | Buffer | string,
319
+ bufferSize: Int32Array,
320
+ ): ErrorCode;
321
+ export function Beatmap_GetVersion(
322
+ beatmapHandle: ManagedObjectHandle,
323
+ buffer: null | Buffer | string,
324
+ bufferSize: Int32Array,
325
+ ): ErrorCode;
326
+ export function Beatmap_Destroy(handle: ManagedObjectHandle): ErrorCode;
327
+ export function Mod_Create(
328
+ acronymPtr: null | Buffer | string,
329
+ nativeModPtr: NativeMod,
330
+ ): ErrorCode;
331
+ export function Mod_SetSettingBool(
332
+ modHandle: ManagedObjectHandle,
333
+ keyPtr: null | Buffer | string,
334
+ value: boolean,
335
+ ): ErrorCode;
336
+ export function Mod_SetSettingInteger(
337
+ modHandle: ManagedObjectHandle,
338
+ keyPtr: null | Buffer | string,
339
+ value: number,
340
+ ): ErrorCode;
341
+ export function Mod_SetSettingFloat(
342
+ modHandle: ManagedObjectHandle,
343
+ keyPtr: null | Buffer | string,
344
+ value: number,
345
+ ): ErrorCode;
346
+ export function Mod_Debug(modHandle: ManagedObjectHandle): ErrorCode;
347
+ export function Mod_Destroy(handle: ManagedObjectHandle): ErrorCode;
348
+ export function ModsCollection_Create(
349
+ nativeModsCollectionPtr: NativeModsCollection,
350
+ ): ErrorCode;
351
+ export function ModsCollection_Add(
352
+ modsCollectionHandle: ManagedObjectHandle,
353
+ modHandle: ManagedObjectHandle,
354
+ ): ErrorCode;
355
+ export function ModsCollection_Remove(
356
+ modsCollectionHandle: ManagedObjectHandle,
357
+ modHandle: ManagedObjectHandle,
358
+ ): ErrorCode;
359
+ export function ModsCollection_Debug(
360
+ modsCollectionHandle: ManagedObjectHandle,
361
+ ): ErrorCode;
362
+ export function ModsCollection_Destroy(handle: ManagedObjectHandle): ErrorCode;
363
+ export function Ruleset_CreateFromId(
364
+ rulesetId: number,
365
+ rulesetPtr: NativeRuleset,
366
+ ): ErrorCode;
367
+ export function Ruleset_CreateFromShortName(
368
+ shortName: null | Buffer | string,
369
+ rulesetPtr: NativeRuleset,
370
+ ): ErrorCode;
371
+ export function Ruleset_GetShortName(
372
+ rulesetHandle: ManagedObjectHandle,
373
+ buffer: null | Buffer | string,
374
+ bufferSize: Int32Array,
375
+ ): ErrorCode;
376
+ export function Ruleset_Destroy(handle: ManagedObjectHandle): ErrorCode;
377
+ export function CatchPerformanceCalculator_Create(
378
+ nativeCatchPerformanceCalculatorPtr: NativeCatchPerformanceCalculator,
379
+ ): ErrorCode;
380
+ export function CatchPerformanceCalculator_Calculate(
381
+ calcHandle: ManagedObjectHandle,
382
+ nativeScoreInfo: NativeScoreInfo,
383
+ nativeDifficultyAttributes: NativeCatchDifficultyAttributes,
384
+ nativeAttributesPtr: NativeCatchPerformanceAttributes,
385
+ ): ErrorCode;
386
+ export function CatchPerformanceCalculator_Destroy(
387
+ handle: ManagedObjectHandle,
388
+ ): ErrorCode;
389
+ export function ManiaPerformanceCalculator_Create(
390
+ nativeManiaPerformanceCalculatorPtr: NativeManiaPerformanceCalculator,
391
+ ): ErrorCode;
392
+ export function ManiaPerformanceCalculator_Calculate(
393
+ calcHandle: ManagedObjectHandle,
394
+ nativeScoreInfo: NativeScoreInfo,
395
+ nativeDifficultyAttributes: NativeManiaDifficultyAttributes,
396
+ nativeAttributesPtr: NativeManiaPerformanceAttributes,
397
+ ): ErrorCode;
398
+ export function ManiaPerformanceCalculator_Destroy(
399
+ handle: ManagedObjectHandle,
400
+ ): ErrorCode;
401
+ export function OsuPerformanceCalculator_Create(
402
+ nativeOsuPerformanceCalculatorPtr: NativeOsuPerformanceCalculator,
403
+ ): ErrorCode;
404
+ export function OsuPerformanceCalculator_Calculate(
405
+ calcHandle: ManagedObjectHandle,
406
+ nativeScoreInfo: NativeScoreInfo,
407
+ nativeDifficultyAttributes: NativeOsuDifficultyAttributes,
408
+ nativeAttributesPtr: NativeOsuPerformanceAttributes,
409
+ ): ErrorCode;
410
+ export function OsuPerformanceCalculator_Destroy(
411
+ handle: ManagedObjectHandle,
412
+ ): ErrorCode;
413
+ export function TaikoPerformanceCalculator_Create(
414
+ nativeTaikoPerformanceCalculatorPtr: NativeTaikoPerformanceCalculator,
415
+ ): ErrorCode;
416
+ export function TaikoPerformanceCalculator_Calculate(
417
+ calcHandle: ManagedObjectHandle,
418
+ nativeScoreInfo: NativeScoreInfo,
419
+ nativeDifficultyAttributes: NativeTaikoDifficultyAttributes,
420
+ nativeAttributesPtr: NativeTaikoPerformanceAttributes,
421
+ ): ErrorCode;
422
+ export function TaikoPerformanceCalculator_Destroy(
423
+ handle: ManagedObjectHandle,
424
+ ): ErrorCode;
425
+ export function CatchDifficultyCalculator_Create(
426
+ rulesetHandle: ManagedObjectHandle,
427
+ beatmapHandle: ManagedObjectHandle,
428
+ nativeCatchDifficultyCalculatorPtr: NativeCatchDifficultyCalculator,
429
+ ): ErrorCode;
430
+ export function CatchDifficultyCalculator_Calculate(
431
+ calcHandle: ManagedObjectHandle,
432
+ nativeAttributesPtr: NativeCatchDifficultyAttributes,
433
+ ): ErrorCode;
434
+ export function CatchDifficultyCalculator_CalculateMods(
435
+ calcHandle: ManagedObjectHandle,
436
+ modsHandle: ManagedObjectHandle,
437
+ nativeAttributesPtr: NativeCatchDifficultyAttributes,
438
+ ): ErrorCode;
439
+ export function CatchDifficultyCalculator_CalculateTimed(
440
+ calcHandle: ManagedObjectHandle,
441
+ nativeTimedAttributesBuffer: null | NativeTimedCatchDifficultyAttributes[],
442
+ bufferSize: Int32Array,
443
+ ): ErrorCode;
444
+ export function CatchDifficultyCalculator_CalculateModsTimed(
445
+ calcHandle: ManagedObjectHandle,
446
+ modsHandle: ManagedObjectHandle,
447
+ nativeTimedAttributesBuffer: null | NativeTimedCatchDifficultyAttributes[],
448
+ bufferSize: Int32Array,
449
+ ): ErrorCode;
450
+ export function CatchDifficultyCalculator_Destroy(
451
+ handle: ManagedObjectHandle,
452
+ ): ErrorCode;
453
+ export function ManiaDifficultyCalculator_Create(
454
+ rulesetHandle: ManagedObjectHandle,
455
+ beatmapHandle: ManagedObjectHandle,
456
+ nativeManiaDifficultyCalculatorPtr: NativeManiaDifficultyCalculator,
457
+ ): ErrorCode;
458
+ export function ManiaDifficultyCalculator_Calculate(
459
+ calcHandle: ManagedObjectHandle,
460
+ nativeAttributesPtr: NativeManiaDifficultyAttributes,
461
+ ): ErrorCode;
462
+ export function ManiaDifficultyCalculator_CalculateMods(
463
+ calcHandle: ManagedObjectHandle,
464
+ modsHandle: ManagedObjectHandle,
465
+ nativeAttributesPtr: NativeManiaDifficultyAttributes,
466
+ ): ErrorCode;
467
+ export function ManiaDifficultyCalculator_CalculateTimed(
468
+ calcHandle: ManagedObjectHandle,
469
+ nativeTimedAttributesBuffer: null | NativeTimedManiaDifficultyAttributes[],
470
+ bufferSize: Int32Array,
471
+ ): ErrorCode;
472
+ export function ManiaDifficultyCalculator_CalculateModsTimed(
473
+ calcHandle: ManagedObjectHandle,
474
+ modsHandle: ManagedObjectHandle,
475
+ nativeTimedAttributesBuffer: null | NativeTimedManiaDifficultyAttributes[],
476
+ bufferSize: Int32Array,
477
+ ): ErrorCode;
478
+ export function ManiaDifficultyCalculator_Destroy(
479
+ handle: ManagedObjectHandle,
480
+ ): ErrorCode;
481
+ export function OsuDifficultyCalculator_Create(
482
+ rulesetHandle: ManagedObjectHandle,
483
+ beatmapHandle: ManagedObjectHandle,
484
+ nativeOsuDifficultyCalculatorPtr: NativeOsuDifficultyCalculator,
485
+ ): ErrorCode;
486
+ export function OsuDifficultyCalculator_Calculate(
487
+ calcHandle: ManagedObjectHandle,
488
+ nativeAttributesPtr: NativeOsuDifficultyAttributes,
489
+ ): ErrorCode;
490
+ export function OsuDifficultyCalculator_CalculateMods(
491
+ calcHandle: ManagedObjectHandle,
492
+ modsHandle: ManagedObjectHandle,
493
+ nativeAttributesPtr: NativeOsuDifficultyAttributes,
494
+ ): ErrorCode;
495
+ export function OsuDifficultyCalculator_CalculateTimed(
496
+ calcHandle: ManagedObjectHandle,
497
+ nativeTimedAttributesBuffer: null | NativeTimedOsuDifficultyAttributes[],
498
+ bufferSize: Int32Array,
499
+ ): ErrorCode;
500
+ export function OsuDifficultyCalculator_CalculateModsTimed(
501
+ calcHandle: ManagedObjectHandle,
502
+ modsHandle: ManagedObjectHandle,
503
+ nativeTimedAttributesBuffer: null | NativeTimedOsuDifficultyAttributes[],
504
+ bufferSize: Int32Array,
505
+ ): ErrorCode;
506
+ export function OsuDifficultyCalculator_Destroy(
507
+ handle: ManagedObjectHandle,
508
+ ): ErrorCode;
509
+ export function TaikoDifficultyCalculator_Create(
510
+ rulesetHandle: ManagedObjectHandle,
511
+ beatmapHandle: ManagedObjectHandle,
512
+ nativeTaikoDifficultyCalculatorPtr: NativeTaikoDifficultyCalculator,
513
+ ): ErrorCode;
514
+ export function TaikoDifficultyCalculator_Calculate(
515
+ calcHandle: ManagedObjectHandle,
516
+ nativeAttributesPtr: NativeTaikoDifficultyAttributes,
517
+ ): ErrorCode;
518
+ export function TaikoDifficultyCalculator_CalculateMods(
519
+ calcHandle: ManagedObjectHandle,
520
+ modsHandle: ManagedObjectHandle,
521
+ nativeAttributesPtr: NativeTaikoDifficultyAttributes,
522
+ ): ErrorCode;
523
+ export function TaikoDifficultyCalculator_CalculateTimed(
524
+ calcHandle: ManagedObjectHandle,
525
+ nativeTimedAttributesBuffer: null | NativeTimedTaikoDifficultyAttributes[],
526
+ bufferSize: Int32Array,
527
+ ): ErrorCode;
528
+ export function TaikoDifficultyCalculator_CalculateModsTimed(
529
+ calcHandle: ManagedObjectHandle,
530
+ modsHandle: ManagedObjectHandle,
531
+ nativeTimedAttributesBuffer: null | NativeTimedTaikoDifficultyAttributes[],
532
+ bufferSize: Int32Array,
533
+ ): ErrorCode;
534
+ export function TaikoDifficultyCalculator_Destroy(
535
+ handle: ManagedObjectHandle,
536
+ ): ErrorCode;
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@tosuapp/osu-native-napi",
3
+ "version": "1.0.0",
4
+ "author": "Cherry",
5
+ "main": "index.js",
6
+ "types": "osu-native.d.ts",
7
+ "license": "GPL-3.0",
8
+ "os": [
9
+ "win32"
10
+ ],
11
+ "cpu": [
12
+ "x64"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "types": "./osu-native.d.ts",
17
+ "require": "./index.js",
18
+ "import": "./index.mjs"
19
+ }
20
+ },
21
+ "files": [
22
+ "index.js",
23
+ "index.mjs",
24
+ "osu-native.d.ts",
25
+ "dist/Release/*.node",
26
+ "dist/Release/*.dll"
27
+ ],
28
+ "scripts": {
29
+ "build": "cmake -B build && cmake --build build --config Release",
30
+ "prepack": "npm run build"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^20.11.1",
34
+ "typescript": "^5.9.3"
35
+ }
36
+ }