* 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'`.
* docs: fix pages that weren't in the navigation bar
* seeds: update DDR parsing scripts to use arguments
* docs: fix minor mistake
* docs: add all supported DDR versions
* docs: add DDR musicdb import guide
* 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
* 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>
* temporary dvctr
* start of work
* fix: timeouts in windows
* fish?
* feat: better, working stuff
* refactor: rename database-seeds to seeds/
* better
* fdsaf
* feat: don't let our container get owned by root
* fix: better user handling
* feat: falling asleep at my desk i yield to you what i have done
* feat: autoadminify
* docs: denote trickshot
* feat: open in browser on launch
* better seeds workings...
* fix: dont kill shell
* docs: mention dev/debs
* fix: whoops
* fix: make seeds load within the century
* feat: rest of the containerisation
* feat: new alias
* style: fix linter errors
* fix: bad call
* fix: better justfile
* Add Unilab seeds (2023-09-05)
* Add mdb to mxb rerunner & fix old scripts
* Add missing comma to make the linter happy
* fix: typo
* i have no reason to believe this code is broken
* feat: get rid of some old crap
---------
Co-authored-by: zkldi <20380519+zkldi@users.noreply.github.com>
* chore,fix: upgrade ongeki seeds
The dataset is up to date up until March 27th, 2024.
A single chart is missing:
https://wikiwiki.jp/gameongeki/怒槌~光吉猛修一部謎~
Added maxPlatScore and inGameID.
Added alt (romaji) song titles.
Removed the wikiwiki scraper because it's no longer relevant.
Restored the score column that relied on maxPlatScore.
Fixed the client crashing when you click Lamps Only in a geki session.
Removed Act 2.
* fix: missing fields in the test chart
* chore: get rid of isUnranked
* fix: clarify the track ID range
* feat: get rid of isHot and isLatest in code
* feat: remove hot/latest from seeds
* feat: migrate away from them too
* fix: 21
* fix: again
* fix: again
* fix: again
* 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>