From fadc0e70e9ea05b044d74f9329e9ddbc44b0d4a0 Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Tue, 23 Nov 2021 09:53:27 +0000 Subject: [PATCH] use chart.lntype to sniff lntype instead of score.lntype --- .../lib/score-import/import-types/ir/beatoraja/converter.ts | 4 +++- .../src/lib/score-import/import-types/ir/beatoraja/parser.ts | 1 + .../src/lib/score-import/import-types/ir/beatoraja/types.ts | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts b/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts index 2c64d72c5..1c9323cf5 100644 --- a/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts +++ b/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts @@ -97,7 +97,9 @@ export const ConverterIRBeatoraja: ConverterFunction { - if (data.lntype !== 0) { + // ALWAYS USE CHART.LNTYPE, NOT DATA.LNTYPE! + // beatoraja has a bug where IRScore LNTypes are always set to 0. + if (context.chart.lntype !== 0) { throw new InvalidScoreFailure("CN or HCN mode is not supported by this IR."); } diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts b/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts index d02677d75..25577416f 100644 --- a/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts +++ b/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts @@ -53,6 +53,7 @@ const PR_BeatorajaChart = { artist: "string", subartist: "string", total: p.isPositive, + lntype: p.isIn(-1, 0, 1, 2), // currently only accepted playtypes. mode: p.isIn("BEAT_7K", "BEAT_14K"), diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/types.ts b/server/src/lib/score-import/import-types/ir/beatoraja/types.ts index 9696272b6..245c9bea6 100644 --- a/server/src/lib/score-import/import-types/ir/beatoraja/types.ts +++ b/server/src/lib/score-import/import-types/ir/beatoraja/types.ts @@ -21,6 +21,7 @@ export interface BeatorajaChart { notes: integer; hasRandom: boolean; hasUndefinedLN: boolean; + lntype: -1 | 0 | 1 | 2; } export interface BeatorajaScore {