279 lines
5.2 KiB
TypeScript
279 lines
5.2 KiB
TypeScript
export as namespace osu;
|
|
|
|
export const VERSION_MAJOR: number;
|
|
export const VERSION_MINOR: number;
|
|
export const VERSION_PATCH: number;
|
|
|
|
export declare class timing {
|
|
constructor(values: {
|
|
time: number,
|
|
ms_per_beat: number
|
|
});
|
|
|
|
time: number;
|
|
ms_per_beat: number;
|
|
change: boolean;
|
|
|
|
toString(): string;
|
|
}
|
|
|
|
export declare enum objtypes {
|
|
circle = 1 << 0,
|
|
slider = 1 << 1,
|
|
spinner = 1 << 3
|
|
}
|
|
|
|
export declare class circle {
|
|
constructor(values: {
|
|
pos: [number, number]
|
|
});
|
|
|
|
pos: [number, number];
|
|
|
|
toString(): string;
|
|
}
|
|
|
|
export declare class slider {
|
|
constructor(values: {
|
|
pos: [number, number],
|
|
distance: number,
|
|
repetitions: number
|
|
});
|
|
|
|
pos: [number, number];
|
|
distance: number;
|
|
repetitions: number;
|
|
|
|
toString(): string;
|
|
}
|
|
|
|
export declare class hitobject {
|
|
constructor(values: {
|
|
time: number,
|
|
type: objtypes,
|
|
data?: circle | slider
|
|
});
|
|
|
|
time: number;
|
|
type: objtypes;
|
|
data?: circle | slider;
|
|
|
|
typestr(): string;
|
|
toString(): string;
|
|
}
|
|
|
|
export declare enum modes {
|
|
std = 0
|
|
}
|
|
|
|
export declare class beatmap {
|
|
constructor();
|
|
|
|
format_version: number;
|
|
mode: modes;
|
|
title: string;
|
|
title_unicode: string;
|
|
artist: string;
|
|
artist_unicode: string;
|
|
creator: string;
|
|
version: string;
|
|
beatmapId?: number;
|
|
beatmapsetId?: number;
|
|
ar?: number;
|
|
cs: number;
|
|
od: number;
|
|
hp: number;
|
|
sv: number;
|
|
tick_rate: number;
|
|
ncircles: number;
|
|
nsliders: number;
|
|
nspinners: number;
|
|
objects: hitobject[];
|
|
timing_points: timing[];
|
|
|
|
reset(): beatmap;
|
|
max_combo(): number;
|
|
toString(): string;
|
|
}
|
|
|
|
export declare class parser {
|
|
constructor();
|
|
|
|
map: beatmap;
|
|
nline: number;
|
|
curline: string;
|
|
lastpos: string;
|
|
section: string;
|
|
|
|
reset(): parser;
|
|
feed_line(line: string): parser;
|
|
feed(str: string): parser;
|
|
toString(): string;
|
|
}
|
|
|
|
export declare enum modbits {
|
|
nomod = 0,
|
|
nf = 1 << 0,
|
|
ez = 1 << 1,
|
|
td = 1 << 2,
|
|
hd = 1 << 3,
|
|
hr = 1 << 4,
|
|
dt = 1 << 6,
|
|
ht = 1 << 8,
|
|
nc = 1 << 9,
|
|
fl = 1 << 10,
|
|
so = 1 << 12,
|
|
speed_changing = dt | ht | nc,
|
|
map_changing = hr | ez | speed_changing
|
|
}
|
|
|
|
export namespace modbits {
|
|
export function from_string(str: string): modbits;
|
|
export function string(mods: modbits): string;
|
|
}
|
|
|
|
export declare class std_beatmap_stats {
|
|
constructor(values: {
|
|
ar?: number,
|
|
od?: number,
|
|
hp?: number,
|
|
cs?: number
|
|
});
|
|
|
|
ar?: number;
|
|
od?: number;
|
|
hp?: number;
|
|
cs?: number;
|
|
speed_mul: number;
|
|
|
|
with_mods(mods: modbits): std_beatmap_stats;
|
|
}
|
|
|
|
export declare class std_diff_hitobject {
|
|
constructor(obj: hitobject);
|
|
|
|
strains: [number, number];
|
|
normpos: [number, number];
|
|
angle: number;
|
|
is_single: boolean;
|
|
delta_time: number;
|
|
d_distance: number;
|
|
|
|
reset(): std_diff_hitobject;
|
|
toString(): string;
|
|
}
|
|
|
|
export declare class std_diff {
|
|
constructor();
|
|
|
|
objects: std_diff_hitobject[];
|
|
map?: beatmap;
|
|
mods: modbits;
|
|
singletap_threshold: number;
|
|
total: number;
|
|
aim: number;
|
|
aim_difficulty: number;
|
|
aim_length_bonus: number;
|
|
speed: number;
|
|
speed_difficulty: number;
|
|
speed_length_bonus: number;
|
|
nsingles: number;
|
|
nsingles_threshold: number;
|
|
|
|
reset(): void;
|
|
calc(params: {
|
|
map?: beatmap,
|
|
mods?: modbits,
|
|
singletap_threshold?: number
|
|
}): std_diff;
|
|
toString(): string;
|
|
}
|
|
|
|
export declare class diff {
|
|
constructor();
|
|
|
|
calculators: std_diff[];
|
|
map?: beatmap;
|
|
|
|
calc(params: {
|
|
map?: beatmap,
|
|
mods?: modbits,
|
|
singletap_threshold?: number
|
|
}): std_diff;
|
|
}
|
|
|
|
export declare class std_accuracy {
|
|
constructor(values: {
|
|
percent?: number,
|
|
nobjects?: number,
|
|
n300?: number,
|
|
n100?: number,
|
|
n50?: number,
|
|
nmiss?: number
|
|
});
|
|
|
|
percent: number;
|
|
nobjects: number;
|
|
n300: number;
|
|
n100: number;
|
|
n50: number;
|
|
nmiss: number;
|
|
|
|
value(nobjects?: number): number;
|
|
toString(): string;
|
|
}
|
|
|
|
export declare class std_ppv2 {
|
|
constructor();
|
|
|
|
aim: number;
|
|
speed: number;
|
|
acc: number;
|
|
computed_accuracy?: std_accuracy;
|
|
total: number;
|
|
|
|
calc(params: {
|
|
map?: beatmap,
|
|
stars?: std_diff,
|
|
acc_percent?: number,
|
|
aim_stars?: number,
|
|
speed_stars?: number,
|
|
max_combo?: number,
|
|
nsliders?: number,
|
|
ncircles?: number,
|
|
nobjects?: number,
|
|
base_ar?: number,
|
|
base_od?: number,
|
|
mode?: modes,
|
|
mods?: modbits,
|
|
combo?: number,
|
|
n300?: number,
|
|
n100?: number,
|
|
n50?: number,
|
|
nmiss?: number,
|
|
score_version?: number
|
|
}): std_ppv2;
|
|
toString(): string;
|
|
}
|
|
|
|
export function ppv2(params: {
|
|
map?: beatmap,
|
|
stars?: std_diff,
|
|
acc_percent?: number,
|
|
aim_stars?: number,
|
|
speed_stars?: number,
|
|
max_combo?: number,
|
|
nsliders?: number,
|
|
ncircles?: number,
|
|
nobjects?: number,
|
|
base_ar?: number,
|
|
base_od?: number,
|
|
mode?: modes,
|
|
mods?: modbits,
|
|
combo?: number,
|
|
n300?: number,
|
|
n100?: number,
|
|
n50?: number,
|
|
nmiss?: number,
|
|
score_version?: number
|
|
}): std_ppv2;
|