Commit Graph
838 Commits
Author SHA1 Message Date
zk 8f4955812d feat: support changing your own names (#1383) 2025-11-02 18:06:43 +00:00
Aaron e6fd4c21ed feat: add sdvx PUC tierlists (#1375)
* add sdvx PUC tierlists

* address review comments
2025-10-22 21:58:49 +01:00
beerpsi f6878b84e7 [chunithm] make RAINBOW the minimum relevant color class (#1373) 2025-10-15 17:01:23 +01:00
John Pork 5df0f43400 lr2hook: add fast-slow support (#1367)
* build(client): add 'lintfix' target matching the server

* docs(lr2hook): suggest lr2_chainload instead of BokutachiLauncher.exe

BokutachiLauncher.exe is no longer a part of BokutachiHook.

* refactor(server/lr2hook): G-ATTACK, P-ATTACK and HAZARD are not HARD

* feat(server/lr2hook): parse extendedJudgements

* feat(server/lr2hook): use fast-slow and early/late judgements

* test(server/lr2hook): make clear that in this test notesPlayed != notesTotal

* feat(server/lr2hook): calculate BP by hand when exiting chart early

* feat(server/lr2hook): parse rseed

* feat(server/lr2hook): parse extendedHpGraphs

* feat(server/lr2hook): parse unixTimestamp

* feat(server/lr2hook): use unixTimestamp as score play time

Especially useful as BokutachiHook now retries sending scores after some
time on connections errors.

* feat(common/bms+server/lr2hook+docs): add gaugeHistory{Easy,Groove,Hard}

Could also save graphs for unimplemented gauges, not done here as I
don't know if they are ever going to be implemented while they take some
decent space.

* feat(client/bms): support several gauges

Ugly IIFE inside IIFE is work-around for eslint bug `Expected a 'break'
statement before 'case'`.
2025-10-06 21:52:28 +01:00
GRIM657 d001655785 feat: support iidx 32-omni (#1366)
* feat: iidx 32-omni seeds

* feat: iidx 32-omni support

* feat: iidx 32-omni folders
2025-10-02 16:46:46 +01:00
GRIM657 2d86b7c16b feat: iidx 33 eamuse CSV support (#1362)
* fix: iidx-mdb-parse ParseIIDXData: check for moreData before using continue;

* feat: initial iidx 33 support

* feat: iidx 33 eamuse csv support

* feat: iidx 33 tables and folders

* fix: some charts missing from iidx 33
2025-09-23 22:08:20 +01:00
Tung Vu 7629c5ab8c seeds: update sdvx to 20250624 + add ult difficulty (#1361)
* feat: add ult difficulty

* feat: update sdvx seeds 20250624
2025-09-19 12:08:46 +01:00
nairobi 9aa4527668 feat: add minimumRelevantValue and minimumScores to classes (#1348)
* fix(bot): don't spam ongeki classes

* feat(bot): fix discord spam for good

* fix: missed a few values

* fix: update wacca

* fix: update ddr

* fix: remove bms, pms, iidx

* fix: add maimaidx
2025-08-22 12:55:56 +01:00
beerpsi 61e4485caf [maimaidx] use 4dp for percent formatter (#1338)
* [maimaidx] use 4dp for percent formatter

* also fix server side formatters

* this one too

* update functions in common
2025-08-01 20:17:01 +01:00
beerpsi 3be1bb78b2 [maimaidx] Update to PRiSM PLUS (#1336)
* [maimaidx] Update to PRiSM PLUS

* make PRiSM+ the default table
2025-07-29 11:18:18 +01:00
nairobi 76d02e8fb4 feat: always show score alg desc under profile alg desc (#1319)
* feat: always display score alg description

* fix: typo
2025-07-11 13:50:36 +01:00
nairobiandzk 0a0fc57134 feat: O.N.G.E.K.I. Re:Fresh rating algorithm (#1263)
* feat: Re:Fresh support, rebased for the 6th time

* fix: migration

* fix: seeds

* fix: add tests and make them work

* fix: misc corrections

* rebased

* chore: bump rg-stats

* maybe a better migration

* attempt manual lint

* fix: star formatters

* fix: re-add name overrides

* rename them again, more consistently

* revert rbreak

* finish renaming

* i may be stupid

* refresh insights

* insight fixes

* fix: re-add platinum graphs

* delete score._id

* fix: server test

* fix: tiebreaks

* fix: what

* fix: don't kill p-score if migration is reapplied

I wonder why this could be needed

* fix: maybe notify about any errors

* docs: redefine starRating

* docs: typo

* fix(client): shrink graphs when necessary

* fix(client): use compact starfield in the insight

* feat(client): separate column for hits

* fix(client): add vertical-align

* fix: validate p-score properly

* fix: recolor AB+ to blue, actually

* fix(client): insight readability improvements

* feat(client): nicer insight lamps

* feat(client): OngekiScoreRatingCell

* fix(client): use OngekiScoreRatingCell in insight

---------

Co-authored-by: zk <ktchidev@gmail.com>
2025-07-06 19:24:30 +01:00
zkldi 05b8620c29 Reapply "SDVX: add MAXXIVE CLEAR lamp (#1288)
This reverts commit 2005c42481.
2025-07-06 11:26:38 +01:00
zkldi 2005c42481 Revert "SDVX: add MAXXIVE CLEAR lamp (#1288)
migration fucked

This reverts commit b3485ee2c7.
2025-06-28 20:16:27 +01:00
b3485ee2c7 SDVX: add MAXXIVE CLEAR lamp (#1288)
* sdvx: add ac MAXXIVE CLEAR lamp

* seperate USC lamps from SDVX for tests

* Add maxxive in converter for api-cg/sdvx

* feat: add migration

* fix: pre-empt service support

* lint(fix)

* fix: my typescript tooling stopped working

* fix: test

---------

Co-authored-by: blobdash <fruityenloops@gmail.com>
Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2025-06-28 20:12:51 +01:00
beerpsi 60285648aa feat(maimaidx): graphs and song durations (#1306)
* feat(maimaidx): graphs

* fix: use 4dp for percent graph

* fix: use simple boolean check for duration

song duration is either a number or not defined, based on the schema.
we also don't really want to make a graph if the song has 0 duration, that's nonsensical

* add durations for omnimix songs
2025-06-18 20:16:30 +01:00
beerpsi 300a1e7e6e [chunithm] split lamp into combo lamp and clear lamp (#1269)
* [chunithm] split lamp into combo lamp and clear lamp

* ignore nonsense lint

* fix myt converter tests

* fix chunitachi batch manual

* mfw edited wrong file

* fix(migration): only migrate lamp-related showcases

* remove chart lamp showcases

* remove unused imports

* fix: limit re-pb to chunithm scores, migrate chart lamp showcases to comboLamp

* fix migration of comboLamp progress

* fix: updateMany with multi: true

* fix: when updating references, ensure only known IDs are in

* fix(client): make red stand out more

* fix(client): lamp sorting

* feat(server): validate clear and combo lamps based on judgements

* fix(server): validate combo lamps based on score boundary

* fix: reword validation errors to stay consistent

* fix: correct explanation

* fix: how was I this stupid?

* fix: update blacklisted scores too

* fix: bulk write all the updates

* fix: bulkWrite harder

* fix: i probably need sleep

* all of game-settings to bulkWrite

* fix folder lamp goal nonsense

* maybe fix colors

* fix: name PB merges

* chore: properly test PB merge

* mfw reversed

* fix(SessionRaiseBreakdown): lamp name

* rename to noteLamp

* why is eslint even complaining here?

* rename the enums

* fix tests

* tweak colors of lamps
2025-05-04 19:49:22 +01:00
nairobi 1148a5fdff feat(client): chunithm graphs, song durations (#1284)
* feat: chunithm score graph

* feat: add life

* feat: add song duration data for all songs

* fix: make chunithm graphs non-nullable

* fix: test data

* fix: potrząsanie kanalizacją

* fix: misleading old function name

* fix: make duration optional for chunithm

* fix: add the missing duration
2025-04-29 20:33:49 +01:00
zkldi 1d55337d80 feat: stella 12 2025-04-17 09:54:43 +01:00
beerpsi 4c49bffcc4 [maimai DX] Update to PRiSM Final (#1270)
* [maimai DX] PRiSM final

* add Supersonic Generation

This is a PRiSM PLUS song in Japanese region, but a PRiSM song in International.
As a way to compromise, the display version is PRiSM PLUS, but it also shows up in
the PRiSM folder. This should be removed when PRiSM PLUS hits Tachi for real.

* add PRiSM Omnimix

* disable BUDDiES PLUS tables

* add PRiSM Omnimix to versions in config

* pick correct default table

* fix test data

* fix mock db
2025-04-08 09:28:11 +01:00
Daniel THIRION c254b69d40 feat: cg import for jubeat (#1261)
* feat(score-import): Initial support for jubeat imports from CG

* feat(client): enable jubeat imports from cg through dashboard

* feat(api-cg/jb): further implementation of jubeat import from cg

* feat(api-cg/jb): create test

* fix(api-cg/jb): test on testingdb only has one chart

* refactor(api-cg/jb): cleanup converter

* fix(api-cg/jb): fix test mkOutput usage

* fix(api-cg/jb): validation of the int to enum conversion from cg

* feat(client): frontent jubeat import routes for cg

* feat(bot): add jubeat cg import command
2025-04-03 16:24:15 +01:00
nairobi 35517a9b2a feat(client): add name overrides for rating algorithms (#1264)
* feat(client): rating alg name override

* Added a nameOverride field to RatingAlgorithmConfig
* Added FormatGPTXRatingName
* Renamed maiDX `Rate` to `Rating`
* Renamed Ongeki `Rating` to `Classic Rating`

* fix: there's more

* fix: this doesn't need to be in common

* chore: revert this

* docs: document the new rating description
2025-04-03 16:22:44 +01:00
nairobi 197210150f feat(seeds): ongeki refresh (#1266) 2025-04-03 16:21:59 +01:00
nairobi 12b0a34f53 seeds: Ongeki Act.3 final (#1260)
* seeds: ongeki bright memory act.3 final

* seeds: add remas flags

* seeds: add search terms

* seeds: add most chart views

* seeds: add remaining chart views

* seeds: prepend 'ongeki' to display versions

* fix(ongeki): enumize genres and versions

* fix: test data
2025-03-28 13:03:04 +00:00
beerpsi 0e19ce8923 [chunithm] Fix NaiveRating description (#1255) 2025-03-18 17:50:27 +00:00
beerpsi 32c5be30bf [chunithm] Update to CHUNITHM VERSE (#1252)
* [chunithm] Update to CHUNITHM VERSE

* fix: change naiveRating to 50 songs

* fix: unfuck duplicate charts caused by later options modifying earlier options

* feat: new rating classes for verse

* fix(bot): chunithm min scores is 50

* add charts to VERSE Omnimix

* add search aliases for new songs

* disable verse intl for now
2025-03-17 18:29:49 +00:00
zkldi f96697b9d5 feat: enable inGameID for wacca 2025-03-01 16:35:11 +00:00
j1nxie 995fa904c9 seeds: toggle CHUNITHM folders for mythos + maimai DX PRiSM (#1237)
* feat(make-table-inactive): toggle table instead of just marking as inactive

* fix: enable sun plus folders for myt + mark sun as inactive

* feat(maimaidx): add PRiSM support
2025-02-05 09:20:54 +00:00
nairobi 890ac00330 fix: floating-point profile rating calculation (#1227)
* fix: floating-point profile rating calculation

* fix: add chunithm and make the test clearer

* fix: add rating formatters

The implicit formatter is FloorToNDP(). Ugh.
2025-02-05 09:15:06 +00:00
GRIM657 de3fcd05e0 feat: support iidx 31-2dxtra (#1233)
* fix: missing inGameIDs on omnimix songs WaterCube and concon

* fix: add-2dxtra: make sure only old 2dxtra charts get deprimaried

* feat: support iidx 31-2dxtra

* fix: add some missing altTitles for iidx32 eamuse CSVs

* fix: deprimary 30-2dxtra songs whose current inGameID has changed

* feat: add recently released iidx32 charts
2025-01-17 23:29:16 +00:00
zkldi fe3fb784a3 Revert "feat: change sieglinde visual representation"
This reverts commit 2de235b7ec.
2025-01-16 20:25:35 +00:00
zkldi 2de235b7ec feat: change sieglinde visual representation
it should not look like walkure. Now in the form sgl13.x
2025-01-15 12:46:11 +00:00
blobdash 85c341272e [wacca] WACCA PLUS seeds (#1229)
* Add WACCA PLUS seeds & script

* Fix Seisyun Complex (incorrect entry)
2025-01-13 21:14:21 +00:00
GRIM657 c6ee2010fa feat: IIDX 32 support (#1230)
* fix: iidx-mdb-parse: search terms were discarded for new songs

* feat: initial iidx32 support through 20241210

* fix: forgot folders/tables for iidx32
2025-01-08 01:27:20 +00:00
Victor Yuandzk 2111782bf0 New match type: ddrSongHash (#1213)
* New match type: `ddrSongHash`

* style: sort `MatchTypesWithDifficulty`

* make `ddrSongHash` a song property instead of a chart property

* docs: add descriptions for match type `ddrSongHash`

* add `ddrSongHash` field to all applicable songs

* fix: enforce ddrSongHash is only used on DDR

---------

Co-authored-by: zk <zkldi.dev@gmail.com>
2024-12-18 12:54:20 +00:00
nairobi b521195a0a seeds(ongeki): update search terms and add act.2 omnimix (#1223)
* seeds: better search terms

* seeds: fix solo vers

* seeds: fix evil exclamation

* seeds: add act.2 omnimix
2024-12-17 15:33:38 +00:00
nairobi 4dc26a45fd feat(ongeki): graphs (#1214)
* feat: implement graphs

* fix: remove a dbg field

* fix: implicit anys

I don't know why it doesn't complain about other files.
I don't know why the server check failed. Works on my machine.
2024-12-10 10:54:02 +00:00
Aaron 469de781e5 feat: Add S tierlists for sdvx (#1216) 2024-12-10 10:52:00 +00:00
GRIM657 3c8b5387fb feat: Epolis Omnimix support (#1201) 2024-10-30 11:17:11 +00:00
Gyoo 04d566b460 feat: world support for ddr (#1199)
* feat: world support for ddr

* chore: lint fix
2024-10-28 22:38:36 +00:00
beerpsi cfa3f94eb5 [chunithm] Support LUMINOUS PLUS + revive SUN Omnimix table for MYT (#1197)
* [chunithm] Support LUMINOUS PLUS + revive SUN Omnimix table for MYT

* fix tests

* correct alias
2024-10-20 14:54:25 +01:00
beerpsi 613aca0090 fix(client): use the rating formatter specified in tachi-common for history graphs (#1189)
* fix(client): use the rating formatter specified in tachi-common for history graph

* adjust margins so the rating numbers fit

* museca: drop decimal places from profile rating

* adjust margins again to accommodate for wacca/jubeat/gitadora

* chore: lint
2024-10-04 00:35:49 +01:00
beerpsi 7d28542239 [maimaidx] Update to BUDDiES PLUS final (#1187)
* [maimaidx] Update to BUDDiES PLUS final

* fix: oops forgot to push new version in config
2024-10-01 12:22:49 +01:00
Gyooandzkldi ba4d924a2f feat: support exScore, fast, slow, maxCombo as optional metrics for DDR (#1163)
* feat: support exScore, fast, slow, maxCombo as optional metrics for DDR

* chore: lint-fix in common

* fix: remove exScore from calculated metrics for DDR

* fix: use clearer logic for number|null

---------

Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
2024-09-23 14:24:35 +01:00
Gyoo 5fefa61c40 fix: DDR score validation with judgements using step counts (#1164)
* fix: DDR score validation with judgements using step counts for accurate computation

* feat: parse step counts from SSQ files

* chore: lint fix
2024-09-23 14:22:20 +01:00
Noah 35b94ef6e4 Add Gitadora seeds back to Matixx (#1158)
* Add Gitadora seeds back to Matixx

* Update labels to align with game branding

* Find and Replace all instances of "nexage" with "nextage"
2024-08-27 09:25:44 +01:00
nairobi b4e863c015 feat: songTitle+artist match (#1154)
* feat: optional artist match

* fix: validation

* fix: also add ongeki to the example conf

* style: lint
2024-08-23 11:39:56 +01:00
Gyoo de29177583 feat: Update seeds from A, A20 and A20+ (#1155) 2024-08-23 11:14:01 +01:00
Noah 0db3310f9f Added Gitadora mdb parser and updated seeds (#1148)
* Add gitadora mdb parser and update seeds

# Conflicts:
#	seeds/scripts/rerunners/gitadora/parse-mdb.ts

* Bail early if missing critical data & handle no ascii title

* Correctly handle case where a song has no credited artist

* Correctly handle case where a song has no credited artist

* Add blank strings for songs that have no credited artist

* Improve documentation

* Correctly parse the score byte array for drum/bass difficulties

* Align comment styles
2024-08-18 22:27:31 +01:00
Gyoo 4254e29917 DDR Implementation (#1132)
* feat: DDR Implementation

* style: lint fixes

* chore: update rg-stats

* feat: ddr konaste songs and charts update
2024-08-09 19:08:49 +01:00