UNPKG

kshoot-tools

Version:

A collection of tools related to KSH and KSON chart files of K-Shoot Mania

105 lines (78 loc) 2.15 kB
# kshoot-tools This is a collection of tools related to KSH and KSON chart files of K-Shoot Mania. This tool is created with [kshoot.js](https://github.com/123jimin/kshoot.js). ## Features - Chart stat - Chart renderer - Radar renderer - Sync (offset) calculator ## How to use ### Installation Download [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) first, then install `kshoot-tools` by executing the following command in a terminal. ```text npm i -g kshoot-tools ``` ### Basic usage Example 1: ```text kshoot test/chart.ksh ``` ```text 1 chart from "test/" - [Chart "Astar" (MXM 19) from "chart.ksh"] ``` Example 2: ```text kshoot test/chart.ksh --stat ``` ```text 1 chart from "test/" - [Chart "Astar" (MXM 19) from "chart.ksh"] == Stats == [Chart "Astar" (MXM 19) from "chart.ksh"] - Duration: 122.500 s - BPM: 96-448 (median: 192) - notes: 1104 (991 chips + 113 holds) - max density: 64 - lasers: 225 (76 moving lasers + 149 slams) - one hand: 371 - hand trip: 288 - jacks: 21 (BC: 9, ADLR: 12) - sofulan: 1184.0 (8 BPM changes) ``` ### Chart rendering ```text kshoot test/chart.ksh render -m=10 -c=12 -o="." ``` The command above creates `chart.ksh.png`, which looks like this: ![Rendered chart](./example/render.png) ### Sync calculator ```text kshoot test/Astar/inf.ksh sync -v ``` The best offset for the chart will be found based on the music the chart is using. ```text 1 chart from "test/Astar" - [Chart "Astar" (MXM 19) from "inf.ksh"] [Chart "Astar" (MXM 19) from "inf.ksh"]: 100 => 151 (+51 ms) * -885 ms : 9.417 * -730 ms : 6.344 * -574 ms : 18.530 * -418 ms : 11.789 * -262 ms : 30.081 * -260 ms : 30.488 * -105 ms : 19.400 * -27 ms : 6.796 * 51 ms : 41.703 * 207 ms : 16.609 * 363 ms : 25.055 * 365 ms : 24.781 * 520 ms : 9.344 * 676 ms : 15.106 * 832 ms : 5.400 * 989 ms : 8.115 ``` Note that it will not automatically modify the offset of the chart. ## Planned tools - [ ] Converter (KSH <-> KSON) - [ ] Linter - [ ] Curved laser generator