Files
zkldi_Tachi/server/src/game-implementations/game-implementations.ts
T
nairobiandzkldi 4a80b1f516 feat: Ongeki support (#1013)
* feat: initial ongeki support

* feat: initial ongeki seeds

* chore: link to a basic score exporter

* fix: unhardcode the colSpan of score dropdowns

Fixes ongeki and doesn't break chunithm

* fix: make bellCount optional to match judgements and damage

* docs: add a page for Ongeki

* feat: ongeki seeder

* feat: implement isHot

Also restore Arcaea to test.conf.json5 (it was a mistake)

* fix: add isHot to the seeder

* fix: proper handling of re:masters

Also change non-full-bell from an empty string to "NONE", for clarity

* docs: document the re:master fix

* feat: update rg-stats to 0.5.5

enables ongeki calcs

* chore: lockfile

* fix: get rid of scales as they're unused

* fix: update name->NAME

* minrelevantvalue should be one of the values?

* fix: add property that must be there?

* fix: jesus christ the tests are loud

* better docs on mrv

* fix: remove platdelta, make platscore optional

* fix: grade B tests oh my god

* fix: rating check

* fix: pb merge check

* fix: pb merge check #2

* fix: use nowrap in all lamp cells

* fix: tidy up platcell

* fix: all of these MUST be part of scoreID

* fix: remove unused code

* feat: remove note counts & isHot

* chore: bump rg-stats

---------

Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2024-05-08 18:00:46 +01:00

49 lines
1.9 KiB
TypeScript

import { ARCAEA_IMPL } from "./games/arcaea";
import { BMS_14K_IMPL, BMS_7K_IMPL, PMS_CONTROLLER_IMPL, PMS_KEYBOARD_IMPL } from "./games/bms-pms";
import { CHUNITHM_IMPL } from "./games/chunithm";
import { GITADORA_DORA_IMPL, GITADORA_GITA_IMPL } from "./games/gitadora";
import { IIDX_DP_IMPL, IIDX_SP_IMPL } from "./games/iidx";
import { ITG_STAMINA_IMPL } from "./games/itg";
import { JUBEAT_IMPL } from "./games/jubeat";
import { MAIMAI_IMPL } from "./games/maimai";
import { MAIMAIDX_IMPL } from "./games/maimaidx";
import { MUSECA_IMPL } from "./games/museca";
import { ONGEKI_IMPL } from "./games/ongeki";
import { POPN_9B_IMPL } from "./games/popn";
import { SDVX_IMPL } from "./games/sdvx";
import { USC_CONTROLLER_IMPL, USC_KEYBOARD_IMPL } from "./games/usc";
import { WACCA_IMPL } from "./games/wacca";
import type { GPTImplementations } from "./types";
/**
* Server-Specific implementation details for games. These handle things like validating
* input for chart-specific metrics (i.e EXScore in IIDX is upper-bounded by
* a chart's notecount * 2) and also instructions on how to derive metrics from
* the provided metrics.
*
* Basically, anything that can't be done in the common config, specific to the server.
*/
export const GPT_SERVER_IMPLEMENTATIONS: GPTImplementations = {
"bms:14K": BMS_14K_IMPL,
"bms:7K": BMS_7K_IMPL,
"pms:Controller": PMS_CONTROLLER_IMPL,
"pms:Keyboard": PMS_KEYBOARD_IMPL,
"iidx:SP": IIDX_SP_IMPL,
"iidx:DP": IIDX_DP_IMPL,
"wacca:Single": WACCA_IMPL,
"chunithm:Single": CHUNITHM_IMPL,
"gitadora:Dora": GITADORA_DORA_IMPL,
"gitadora:Gita": GITADORA_GITA_IMPL,
"itg:Stamina": ITG_STAMINA_IMPL,
"jubeat:Single": JUBEAT_IMPL,
"maimai:Single": MAIMAI_IMPL,
"maimaidx:Single": MAIMAIDX_IMPL,
"museca:Single": MUSECA_IMPL,
"popn:9B": POPN_9B_IMPL,
"usc:Controller": USC_CONTROLLER_IMPL,
"usc:Keyboard": USC_KEYBOARD_IMPL,
"sdvx:Single": SDVX_IMPL,
"arcaea:Touch": ARCAEA_IMPL,
"ongeki:Single": ONGEKI_IMPL,
};