* Update songs-ddr.json
Added missing "ddrSongHash" for several WORLD songs
* Difficulty Changes
Changed the difficulty of various charts to reflect their current difficulties as of DDR WORLD
When searching charts that have both a standard and dx version (eg VIIIBit, Oshama), the results generally have a mix of standard and dx, but if でらっくす is in the search field then the standard chart is much harder to find.
* seed: IIDX INFINITAS Song Pack Vol. 28
+ 33 Songs from AC
+ 7 Exclusive INFINITAS songs. (will do it later.)
* forgot Demon March
* + add 7 exclusive INFINITAS songs
- Aerial Skydive - Dirty Androids
- Black Apple - BEMANI Sound Team "HuΣeR"
- insist - Tomoyuki Uchida feat.秋成
- THE ANCIENT KING IS BACK - BEMANI Sound Team "L.E.D.-G"
- Well come to the Mosh Pit - lapix
- 終末を追う者 - S-C-U×PON
- 隅田川夏恋歌 - seiya-murai feat ALT
+ 1 Free song
- Shooting Star - Regloss (from Sparking Shower)
* I messup with case sensitives.
* 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'`.