chore: upload project
This commit is contained in:
commit
44f853c9f2
|
|
@ -0,0 +1,4 @@
|
|||
# Scrubbed by Glitch 2023-01-24T15:04:26+0000
|
||||
# Scrubbed by Glitch 2023-01-24T15:31:11+0000
|
||||
# Scrubbed by Glitch 2023-01-24T15:37:36+0000
|
||||
# Scrubbed by Glitch 2024-03-18T14:27:22+0000
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[user]
|
||||
email = you@example.com
|
||||
name = Your Name
|
||||
|
|
@ -0,0 +1,690 @@
|
|||
{"name":"drag-in-files.svg","date":"2016-10-22T16:17:49.954Z","url":"https://cdn.hyperdev.com/drag-in-files.svg","type":"image/svg","size":7646,"imageWidth":276,"imageHeight":276,"thumbnail":"https://cdn.hyperdev.com/drag-in-files.svg","thumbnailWidth":276,"thumbnailHeight":276,"dominantColor":"rgb(102, 153, 205)","uuid":"adSBq97hhhpFNUna"}
|
||||
{"name":"click-me.svg","date":"2016-10-23T16:17:49.954Z","url":"https://cdn.hyperdev.com/click-me.svg","type":"image/svg","size":7116,"imageWidth":276,"imageHeight":276,"thumbnail":"https://cdn.hyperdev.com/click-me.svg","thumbnailWidth":276,"thumbnailHeight":276,"dominantColor":"rgb(243, 185, 186)","uuid":"adSBq97hhhpFNUnb"}
|
||||
{"name":"paste-me.svg","date":"2016-10-24T16:17:49.954Z","url":"https://cdn.hyperdev.com/paste-me.svg","type":"image/svg","size":7242,"imageWidth":276,"imageHeight":276,"thumbnail":"https://cdn.hyperdev.com/paste-me.svg","thumbnailWidth":276,"thumbnailHeight":276,"dominantColor":"rgb(42, 179, 185)","uuid":"adSBq97hhhpFNUnc"}
|
||||
{"uuid":"adSBq97hhhpFNUna","deleted":true}
|
||||
{"uuid":"adSBq97hhhpFNUnb","deleted":true}
|
||||
{"uuid":"adSBq97hhhpFNUnc","deleted":true}
|
||||
{"name":"Logo_Color.svg","date":"2020-10-15T17:02:08.576Z","url":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2FLogo_Color.svg","type":"image/svg+xml","size":25537,"imageWidth":19,"imageHeight":14,"thumbnail":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2FLogo_Color.svg","thumbnailWidth":19,"thumbnailHeight":14,"uuid":"XPQ2UUJettC9yQ6L"}
|
||||
{"name":"HKGrotesk-Medium.otf","date":"2020-10-15T17:19:39.944Z","url":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2FHKGrotesk-Medium.otf","type":"","size":69888,"thumbnail":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2Fthumbnails%2FHKGrotesk-Medium.otf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mSnvx5eJut7fimxB"}
|
||||
{"name":"HKGrotesk-Regular.otf","date":"2020-10-15T17:19:40.076Z","url":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2FHKGrotesk-Regular.otf","type":"","size":67768,"thumbnail":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2Fthumbnails%2FHKGrotesk-Regular.otf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"VY2dLeOvcf8ffuEw"}
|
||||
{"name":"HKGrotesk-SemiBold.otf","date":"2020-10-15T17:20:42.442Z","url":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2FHKGrotesk-SemiBold.otf","type":"","size":69948,"thumbnail":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2Fthumbnails%2FHKGrotesk-SemiBold.otf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"yEDZsSX7I7P2NlF1"}
|
||||
{"name":"HKGrotesk-Bold.otf","date":"2020-10-15T17:21:24.249Z","url":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2FHKGrotesk-Bold.otf","type":"","size":68144,"thumbnail":"https://cdn.glitch.com/a9975ea6-8949-4bab-addb-8a95021dc2da%2Fthumbnails%2FHKGrotesk-Bold.otf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"aHiG7zYivg7tnSDH"}
|
||||
{"uuid":"mSnvx5eJut7fimxB","deleted":true}
|
||||
{"uuid":"VY2dLeOvcf8ffuEw","deleted":true}
|
||||
{"uuid":"yEDZsSX7I7P2NlF1","deleted":true}
|
||||
{"uuid":"aHiG7zYivg7tnSDH","deleted":true}
|
||||
{"name":"a9975ea6-8949-4bab-addb-8a95021dc2da.png","date":"2021-04-19T19:40:16.078Z","url":"https://cdn.glitch.com/98edd890-17a0-4104-8780-fd24dfedd4c0%2Fa9975ea6-8949-4bab-addb-8a95021dc2da.png","type":"image/png","size":22750,"imageWidth":300,"imageHeight":300,"thumbnail":"https://cdn.glitch.com/98edd890-17a0-4104-8780-fd24dfedd4c0%2Fa9975ea6-8949-4bab-addb-8a95021dc2da.png","thumbnailWidth":300,"thumbnailHeight":300,"uuid":"sTUPbGmYilBYJY7C"}
|
||||
{"uuid":"sTUPbGmYilBYJY7C","deleted":true}
|
||||
{"uuid":"XPQ2UUJettC9yQ6L","deleted":true}
|
||||
{"name":"neiro_1_don.ogg","date":"2023-01-10T23:04:57.735Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/neiro_1_don.ogg","type":"audio/ogg","size":5092,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fneiro_1_don.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"V0EQb0Noo432uRRp"}
|
||||
{"name":"neiro_1_ka.ogg","date":"2023-01-10T23:05:40.380Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/neiro_1_ka.ogg","type":"audio/ogg","size":4696,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fneiro_1_ka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Sj5qXZ5XBhKIA44M"}
|
||||
{"uuid":"V0EQb0Noo432uRRp","deleted":true}
|
||||
{"name":"neiro_1_don.ogg","date":"2023-01-10T23:28:07.700Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/neiro_1_don.ogg","type":"audio/ogg","size":5092,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fneiro_1_don.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"gfsQRDHA6Su0iAod"}
|
||||
{"uuid":"Sj5qXZ5XBhKIA44M","deleted":true}
|
||||
{"uuid":"gfsQRDHA6Su0iAod","deleted":true}
|
||||
{"name":"badge_auto.png","date":"2023-01-24T14:04:22.829Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/badge_auto.png","type":"image/png","size":248,"imageWidth":34,"imageHeight":34,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/badge_auto.png","thumbnailWidth":34,"thumbnailHeight":34,"uuid":"KwTIOpKfssqNM2ax"}
|
||||
{"uuid":"KwTIOpKfssqNM2ax","deleted":true}
|
||||
{"name":"TnT.ttf","date":"2023-01-24T14:10:05.086Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/TnT.ttf","type":"font/ttf","size":4718572,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2FTnT.ttf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"IPQVZ9sbvSOEbq43"}
|
||||
{"name":"Kozuka.otf","date":"2023-01-24T14:18:32.566Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/Kozuka.otf","type":"application/vnd.oasis.opendocument.formula-template","size":20528,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2FKozuka.otf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ypgvmCwIObatEq5A"}
|
||||
{"name":"bgm_result.mp3","date":"2023-01-24T14:18:44.600Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bgm_result.mp3","type":"audio/mpeg","size":120017,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbgm_result.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"kTHWsvxBUppYG8U0"}
|
||||
{"name":"bgm_setsume.mp3","date":"2023-01-24T14:18:45.227Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bgm_setsume.mp3","type":"audio/mpeg","size":120017,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbgm_setsume.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"xGXxwWXFrAKZFqyq"}
|
||||
{"name":"bgm_settings.mp3","date":"2023-01-24T14:18:45.927Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bgm_settings.mp3","type":"audio/mpeg","size":120017,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbgm_settings.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ccpVDsFteWjRmAWq"}
|
||||
{"name":"bgm_songsel.mp3","date":"2023-01-24T14:18:46.966Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bgm_songsel.mp3","type":"audio/mpeg","size":120017,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbgm_songsel.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"t3VHpj2YQPY9TBjX"}
|
||||
{"name":"neiro_1_don.ogg","date":"2023-01-24T14:18:47.560Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/neiro_1_don.ogg","type":"audio/ogg","size":5890,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fneiro_1_don.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"FBywz26QlZ1BSVuP"}
|
||||
{"name":"neiro_1_ka.ogg","date":"2023-01-24T14:18:48.017Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/neiro_1_ka.ogg","type":"audio/ogg","size":4865,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fneiro_1_ka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ygUZ5UDTzj50wdOR"}
|
||||
{"name":"se_balloon.ogg","date":"2023-01-24T14:18:48.523Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_balloon.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_balloon.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"epDwyQzFLMzbGXCC"}
|
||||
{"name":"se_calibration.ogg","date":"2023-01-24T14:18:48.996Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_calibration.ogg","type":"audio/ogg","size":4679,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_calibration.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"gk4QNjG0iVKcOCI5"}
|
||||
{"name":"se_cancel.ogg","date":"2023-01-24T14:18:49.466Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_cancel.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_cancel.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"AspO13ChrDA9xd2d"}
|
||||
{"name":"se_don.ogg","date":"2023-01-24T14:18:49.911Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_don.ogg","type":"audio/ogg","size":5890,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_don.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"WxQKMIXI8CIUdQ7u"}
|
||||
{"name":"se_gameclear.ogg","date":"2023-01-24T14:18:50.332Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_gameclear.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_gameclear.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"B4yoRHOyCWbPfLXg"}
|
||||
{"name":"se_gamefail.ogg","date":"2023-01-24T14:18:51.048Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_gamefail.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_gamefail.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Y8cpTDIFJdXq0deH"}
|
||||
{"name":"se_gamefullcombo.ogg","date":"2023-01-24T14:18:51.557Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_gamefullcombo.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_gamefullcombo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"SOT65cPidkXXLJpF"}
|
||||
{"name":"se_jump.ogg","date":"2023-01-24T14:18:51.989Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_jump.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_jump.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"QlQbfKXCz3DmA29J"}
|
||||
{"name":"se_ka.ogg","date":"2023-01-24T14:18:52.456Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_ka.ogg","type":"audio/ogg","size":4865,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_ka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"qknOv4EDbX169L7D"}
|
||||
{"name":"se_pause.ogg","date":"2023-01-24T14:18:52.969Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_pause.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_pause.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"BiJhm6rI0NDdt5UV"}
|
||||
{"name":"se_results_countup.ogg","date":"2023-01-24T14:18:53.478Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_results_countup.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_results_countup.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"BDxNVcfR2rntHgWy"}
|
||||
{"name":"se_results_crown.ogg","date":"2023-01-24T14:18:53.976Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/se_results_crown.ogg","type":"audio/ogg","size":4064,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fse_results_crown.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"twQaYkuVgMW8HPPz"}
|
||||
{"name":"v_combo_50.ogg","date":"2023-01-24T14:18:54.483Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_50.ogg","type":"audio/ogg","size":8702,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_50.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ylDHwXThWfFCl7W2"}
|
||||
{"name":"v_combo_100.ogg","date":"2023-01-24T14:18:54.964Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_100.ogg","type":"audio/ogg","size":8534,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"5VDfPFk8WJs5lQHS"}
|
||||
{"name":"v_combo_200.ogg","date":"2023-01-24T14:18:55.462Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_200.ogg","type":"audio/ogg","size":8972,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ZjxIEfBdb7l02jIM"}
|
||||
{"name":"v_combo_300.ogg","date":"2023-01-24T14:18:55.989Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_300.ogg","type":"audio/ogg","size":10055,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"zc8adLJKFufv8LEp"}
|
||||
{"name":"v_combo_400.ogg","date":"2023-01-24T14:18:56.495Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_400.ogg","type":"audio/ogg","size":9290,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ehVh7Vc4NRCuhuAF"}
|
||||
{"name":"v_combo_500.ogg","date":"2023-01-24T14:18:56.952Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_500.ogg","type":"audio/ogg","size":8946,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"qNgGVFpKkC4MwWk2"}
|
||||
{"name":"v_combo_600.ogg","date":"2023-01-24T14:18:57.443Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_600.ogg","type":"audio/ogg","size":9219,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"L4ScpHnPgf4uorVz"}
|
||||
{"name":"v_combo_700.ogg","date":"2023-01-24T14:18:57.953Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_700.ogg","type":"audio/ogg","size":9483,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0JmG3DnDZvvogIJS"}
|
||||
{"name":"v_combo_800.ogg","date":"2023-01-24T14:18:58.457Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_800.ogg","type":"audio/ogg","size":9524,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"AEirfTuyTx1enOG6"}
|
||||
{"name":"v_combo_900.ogg","date":"2023-01-24T14:18:58.942Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_900.ogg","type":"audio/ogg","size":9615,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"KYEaFEf5d3glVIGd"}
|
||||
{"name":"v_combo_1000.ogg","date":"2023-01-24T14:18:59.408Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1000.ogg","type":"audio/ogg","size":8269,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"HD3DUYic2diIgA3q"}
|
||||
{"name":"v_combo_1100.ogg","date":"2023-01-24T14:18:59.903Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1100.ogg","type":"audio/ogg","size":9994,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"3tYji151bagcwcn3"}
|
||||
{"name":"v_combo_1200.ogg","date":"2023-01-24T14:19:00.384Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1200.ogg","type":"audio/ogg","size":10596,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"IdCA8Birt9ZgFWZr"}
|
||||
{"name":"v_combo_1300.ogg","date":"2023-01-24T14:19:00.942Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1300.ogg","type":"audio/ogg","size":11544,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"dL4Ff4DN38MnWlQo"}
|
||||
{"name":"v_combo_1400.ogg","date":"2023-01-24T14:19:01.439Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1400.ogg","type":"audio/ogg","size":10987,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ppGArRBUiz8Aoxb0"}
|
||||
{"name":"v_combo_1500.ogg","date":"2023-01-24T14:19:02.058Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1500.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"3pOHZhWdCXqnMnp7"}
|
||||
{"name":"v_combo_1600.ogg","date":"2023-01-24T14:19:02.533Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1600.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"OMj3qnXFZlYhKulu"}
|
||||
{"name":"v_combo_1700.ogg","date":"2023-01-24T14:19:02.976Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1700.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"rC5X5TuakvgJMMK5"}
|
||||
{"name":"v_combo_1800.ogg","date":"2023-01-24T14:19:03.674Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1800.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"tTrYpPZOHfnmvGez"}
|
||||
{"name":"v_combo_1900.ogg","date":"2023-01-24T14:19:04.183Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_1900.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_1900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"XKeOzNQ7Yiz6hr4i"}
|
||||
{"name":"v_combo_2000.ogg","date":"2023-01-24T14:19:04.640Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2000.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"xnhCvhRD1p9Zo8RV"}
|
||||
{"name":"v_combo_2100.ogg","date":"2023-01-24T14:19:05.143Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2100.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"MYAeWxJ9YVCWmqvI"}
|
||||
{"name":"v_combo_2200.ogg","date":"2023-01-24T14:19:05.612Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2200.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"AE3E7CaLxWgz5AGe"}
|
||||
{"name":"v_combo_2300.ogg","date":"2023-01-24T14:19:06.051Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2300.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"wv8tZCmmZv2GoRQU"}
|
||||
{"name":"v_combo_2400.ogg","date":"2023-01-24T14:19:06.497Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2400.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"W15s4Gr8PJaiS6f0"}
|
||||
{"name":"v_combo_2500.ogg","date":"2023-01-24T14:19:06.985Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2500.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"UKuYMskhbiK9NUTd"}
|
||||
{"name":"v_combo_2600.ogg","date":"2023-01-24T14:19:07.430Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2600.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"19N7KLv3LdWZsBt7"}
|
||||
{"name":"v_combo_2700.ogg","date":"2023-01-24T14:19:07.862Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2700.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"5TBSBb0nKdKYRxPJ"}
|
||||
{"name":"v_combo_2800.ogg","date":"2023-01-24T14:19:08.326Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2800.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"3FOIl24YsRyWd8eg"}
|
||||
{"name":"v_combo_2900.ogg","date":"2023-01-24T14:19:08.915Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_2900.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_2900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"D4ROmVcilFKM7r8J"}
|
||||
{"name":"v_combo_3000.ogg","date":"2023-01-24T14:19:09.379Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3000.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"04IByfAWHJ8uqnSg"}
|
||||
{"name":"v_combo_3100.ogg","date":"2023-01-24T14:19:09.805Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3100.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"DNuGZ2ZQ7oFUae0Z"}
|
||||
{"name":"v_combo_3200.ogg","date":"2023-01-24T14:19:10.415Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3200.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mEeiPq2LzEoGubDK"}
|
||||
{"name":"v_combo_3300.ogg","date":"2023-01-24T14:19:10.880Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3300.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"gidugFIszw62B3C7"}
|
||||
{"name":"v_combo_3400.ogg","date":"2023-01-24T14:19:11.337Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3400.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"BvSfIhmv2fB3afQG"}
|
||||
{"name":"v_combo_3500.ogg","date":"2023-01-24T14:19:11.804Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3500.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"vh2yNkuXM8oi2ubw"}
|
||||
{"name":"v_combo_3600.ogg","date":"2023-01-24T14:19:12.281Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3600.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"UObwyTQ5Vl6nTkUh"}
|
||||
{"name":"v_combo_3700.ogg","date":"2023-01-24T14:19:12.847Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3700.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"PT3dANaqTegxVNu2"}
|
||||
{"name":"v_combo_3800.ogg","date":"2023-01-24T14:19:13.413Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3800.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Y0E9MA4ksrOiGmjz"}
|
||||
{"name":"v_combo_3900.ogg","date":"2023-01-24T14:19:13.881Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_3900.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_3900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ExVCRDL5ijRDDn6d"}
|
||||
{"name":"v_combo_4000.ogg","date":"2023-01-24T14:19:14.361Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4000.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"hXHXBoyuOd0lCETz"}
|
||||
{"name":"v_combo_4100.ogg","date":"2023-01-24T14:19:14.828Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4100.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"47TanIo6liofoVjy"}
|
||||
{"name":"v_combo_4200.ogg","date":"2023-01-24T14:19:15.288Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4200.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"YpZdJwzRfPWeUnRm"}
|
||||
{"name":"v_combo_4300.ogg","date":"2023-01-24T14:19:15.810Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4300.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"x4sWa38MqrmsmK5g"}
|
||||
{"name":"v_combo_4400.ogg","date":"2023-01-24T14:19:16.295Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4400.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"lj3ngJgj016qPeCF"}
|
||||
{"name":"v_combo_4500.ogg","date":"2023-01-24T14:19:16.790Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4500.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"jPG8N2bPQcTeLjuC"}
|
||||
{"name":"v_combo_4600.ogg","date":"2023-01-24T14:19:17.226Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4600.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"07RavjcUghvtdJqo"}
|
||||
{"name":"v_combo_4700.ogg","date":"2023-01-24T14:19:17.678Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4700.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"PYxBGB4tkwsKzQ8k"}
|
||||
{"name":"v_combo_4800.ogg","date":"2023-01-24T14:19:18.158Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4800.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"BYw9dFDuVYqtbW7l"}
|
||||
{"name":"v_combo_4900.ogg","date":"2023-01-24T14:19:18.599Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_4900.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_4900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"F4KQW3VX5jx1NwqA"}
|
||||
{"name":"v_combo_5000.ogg","date":"2023-01-24T14:19:19.106Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_combo_5000.ogg","type":"audio/ogg","size":7848,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_combo_5000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"VSQNphlEtW5gb1bJ"}
|
||||
{"name":"v_diffsel.ogg","date":"2023-01-24T14:19:19.720Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_diffsel.ogg","type":"audio/ogg","size":12007,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_diffsel.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"HsgcNylQrInnxFZo"}
|
||||
{"name":"v_fullcombo.ogg","date":"2023-01-24T14:19:20.235Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_fullcombo.ogg","type":"audio/ogg","size":7952,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_fullcombo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"fgtWpO0uZX6R7MTW"}
|
||||
{"name":"v_renda.ogg","date":"2023-01-24T14:19:20.667Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_renda.ogg","type":"audio/ogg","size":7784,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_renda.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Rbp39SqR2ufseQBz"}
|
||||
{"name":"v_results_fullcombo.ogg","date":"2023-01-24T14:19:21.159Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_results_fullcombo.ogg","type":"audio/ogg","size":10394,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_results_fullcombo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"P99Ex29I4lW8tAVX"}
|
||||
{"name":"v_results_fullcombo2.ogg","date":"2023-01-24T14:19:21.655Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_results_fullcombo2.ogg","type":"audio/ogg","size":10394,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_results_fullcombo2.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"2sjTviVLzjCU1k8B"}
|
||||
{"name":"v_results.ogg","date":"2023-01-24T14:19:22.155Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_results.ogg","type":"audio/ogg","size":10132,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_results.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"O86CrqZl5fJ9ih4S"}
|
||||
{"name":"v_sanka.ogg","date":"2023-01-24T14:19:22.613Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_sanka.ogg","type":"audio/ogg","size":9181,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_sanka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"MHF0ftNFjqm2vjrj"}
|
||||
{"name":"v_songsel.ogg","date":"2023-01-24T14:19:23.077Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_songsel.ogg","type":"audio/ogg","size":9868,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_songsel.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"iUGvHitFpx2zt5xE"}
|
||||
{"name":"v_start.ogg","date":"2023-01-24T14:19:23.522Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_start.ogg","type":"audio/ogg","size":10334,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_start.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"zGpUIEV0EqL1vhIN"}
|
||||
{"name":"v_title.ogg","date":"2023-01-24T14:19:23.970Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/v_title.ogg","type":"audio/ogg","size":9695,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fv_title.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"QgvL348vX9j4SGzp"}
|
||||
{"name":"dancing-don.gif","date":"2023-01-24T14:19:34.025Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/dancing-don.gif","type":"image/gif","size":993,"imageWidth":120,"imageHeight":115,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/dancing-don.gif","thumbnailWidth":120,"thumbnailHeight":115,"uuid":"rYaI4BEIu6Wb7EGV"}
|
||||
{"name":"badge_auto.png","date":"2023-01-24T14:19:34.489Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/badge_auto.png","type":"image/png","size":248,"imageWidth":34,"imageHeight":34,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/badge_auto.png","thumbnailWidth":34,"thumbnailHeight":34,"uuid":"GkNvB9H6sc6EfT4q"}
|
||||
{"name":"balloon.png","date":"2023-01-24T14:19:34.982Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/balloon.png","type":"image/png","size":2228,"imageWidth":115,"imageHeight":61,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/balloon.png","thumbnailWidth":115,"thumbnailHeight":61,"uuid":"RNYQfAXKHUAIHPL7"}
|
||||
{"name":"bg_don_1a.png","date":"2023-01-24T14:19:35.681Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_1a.png","type":"image/png","size":226,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_1a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"34fAfKQFOvx02WtI"}
|
||||
{"name":"bg_don_1b.png","date":"2023-01-24T14:19:36.148Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_1b.png","type":"image/png","size":437,"imageWidth":82,"imageHeight":295,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_1b.png","thumbnailWidth":82,"thumbnailHeight":295,"uuid":"tuYK1XfDh4q1GxQL"}
|
||||
{"name":"bg_don_2a.png","date":"2023-01-24T14:19:36.579Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_2a.png","type":"image/png","size":1758,"imageWidth":41,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_2a.png","thumbnailWidth":41,"thumbnailHeight":276,"uuid":"0pPe1wMh4fna2QCa"}
|
||||
{"name":"bg_don_2b.png","date":"2023-01-24T14:19:37.321Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_2b.png","type":"image/png","size":260,"imageWidth":494,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_2b.png","thumbnailWidth":330,"thumbnailHeight":214,"uuid":"BKebRsMxfHhRaNbH"}
|
||||
{"name":"bg_don_3a.png","date":"2023-01-24T14:19:37.982Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_3a.png","type":"image/png","size":245,"imageWidth":492,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_3a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"Xr5ddAFFEkRBcof8"}
|
||||
{"name":"bg_don_3b.png","date":"2023-01-24T14:19:38.638Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_3b.png","type":"image/png","size":289,"imageWidth":492,"imageHeight":380,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_3b.png","thumbnailWidth":330,"thumbnailHeight":255,"uuid":"tgmOJnIhjdQvzwSA"}
|
||||
{"name":"bg_don_4a.png","date":"2023-01-24T14:19:39.589Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_4a.png","type":"image/png","size":19367,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_4a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"dDABNypEwqcFfFvh"}
|
||||
{"name":"bg_don_4b.png","date":"2023-01-24T14:19:40.350Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_4b.png","type":"image/png","size":21436,"imageWidth":489,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_4b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"BGmLHNfN9sYgsAVy"}
|
||||
{"name":"bg_don_5a.png","date":"2023-01-24T14:19:41.124Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_5a.png","type":"image/png","size":26175,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_5a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"C1C7SnET3OnQquit"}
|
||||
{"name":"bg_don_5b.png","date":"2023-01-24T14:19:41.955Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_5b.png","type":"image/png","size":8942,"imageWidth":490,"imageHeight":310,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_5b.png","thumbnailWidth":330,"thumbnailHeight":209,"uuid":"uAA4sWKYlR6yWIA0"}
|
||||
{"name":"bg_don_6a.png","date":"2023-01-24T14:19:42.838Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_6a.png","type":"image/png","size":27239,"imageWidth":491,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_6a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"5FF1Y2pg3UUJb10M"}
|
||||
{"name":"bg_don_6b.png","date":"2023-01-24T14:19:43.679Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don_6b.png","type":"image/png","size":38593,"imageWidth":491,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don_6b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"af4wZaLUsOyIItQW"}
|
||||
{"name":"bg_don2_1a.png","date":"2023-01-24T14:19:44.420Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_1a.png","type":"image/png","size":226,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_1a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"L21dLj9k6e3iL3ov"}
|
||||
{"name":"bg_don2_1b.png","date":"2023-01-24T14:19:44.886Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_1b.png","type":"image/png","size":437,"imageWidth":82,"imageHeight":295,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_1b.png","thumbnailWidth":82,"thumbnailHeight":295,"uuid":"vIrREOV18n4tgB4H"}
|
||||
{"name":"bg_don2_2a.png","date":"2023-01-24T14:19:45.305Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_2a.png","type":"image/png","size":2571,"imageWidth":41,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_2a.png","thumbnailWidth":41,"thumbnailHeight":276,"uuid":"Rymq8EyQzYJ1EOX4"}
|
||||
{"name":"bg_don2_2b.png","date":"2023-01-24T14:19:45.964Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_2b.png","type":"image/png","size":260,"imageWidth":494,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_2b.png","thumbnailWidth":330,"thumbnailHeight":214,"uuid":"6Qg2TSCZLEXo4HSn"}
|
||||
{"name":"bg_don2_3a.png","date":"2023-01-24T14:19:46.612Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_3a.png","type":"image/png","size":245,"imageWidth":492,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_3a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"4pcCi0uu34DITskl"}
|
||||
{"name":"bg_don2_3b.png","date":"2023-01-24T14:19:47.278Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_3b.png","type":"image/png","size":289,"imageWidth":492,"imageHeight":380,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_3b.png","thumbnailWidth":330,"thumbnailHeight":255,"uuid":"aZILJX4271erhLEs"}
|
||||
{"name":"bg_don2_4a.png","date":"2023-01-24T14:19:48.105Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_4a.png","type":"image/png","size":18528,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_4a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"Nb83Q6KZtKGuTPru"}
|
||||
{"name":"bg_don2_4b.png","date":"2023-01-24T14:19:48.927Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_4b.png","type":"image/png","size":21280,"imageWidth":489,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_4b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"jFCy7PBw7jdusQBk"}
|
||||
{"name":"bg_don2_5a.png","date":"2023-01-24T14:19:49.663Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_5a.png","type":"image/png","size":25846,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_5a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"Q6wpEn2i2UNdUiIH"}
|
||||
{"name":"bg_don2_5b.png","date":"2023-01-24T14:19:50.476Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_5b.png","type":"image/png","size":8964,"imageWidth":490,"imageHeight":310,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_5b.png","thumbnailWidth":330,"thumbnailHeight":209,"uuid":"jcYcr8nVWF2htYj7"}
|
||||
{"name":"bg_don2_6a.png","date":"2023-01-24T14:19:51.213Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_6a.png","type":"image/png","size":27359,"imageWidth":491,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_6a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"x43z9tPafcjanhgE"}
|
||||
{"name":"bg_don2_6b.png","date":"2023-01-24T14:19:52.018Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_don2_6b.png","type":"image/png","size":38618,"imageWidth":491,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_don2_6b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"EtE3g7OjEjlakQ6M"}
|
||||
{"name":"bg_genre_0.png","date":"2023-01-24T14:19:53.011Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_0.png","type":"image/png","size":194539,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_0.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"8e4Vb9Avcy7rgrlR"}
|
||||
{"name":"bg_genre_1.png","date":"2023-01-24T14:19:53.884Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_1.png","type":"image/png","size":134187,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_1.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"nCXo0WAYkblWDMya"}
|
||||
{"name":"bg_genre_2.png","date":"2023-01-24T14:19:54.716Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_2.png","type":"image/png","size":196164,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_2.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"ciguwYsWpBR7goGm"}
|
||||
{"name":"bg_genre_3.png","date":"2023-01-24T14:19:55.452Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_3.png","type":"image/png","size":193899,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_3.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"DSSoWLv8TB4y4Q8d"}
|
||||
{"name":"bg_genre_4.png","date":"2023-01-24T14:19:56.352Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_4.png","type":"image/png","size":193328,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_4.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"98Nb0kiCvxEft6YN"}
|
||||
{"name":"bg_genre_5.png","date":"2023-01-24T14:19:57.190Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_5.png","type":"image/png","size":196803,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_5.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"oInweInFHCiw1n8i"}
|
||||
{"name":"bg_genre_6.png","date":"2023-01-24T14:19:57.968Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_6.png","type":"image/png","size":133960,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_6.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"aReEu35AYwa7MOcf"}
|
||||
{"name":"bg_genre_def.png","date":"2023-01-24T14:19:58.631Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_genre_def.png","type":"image/png","size":16418,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_genre_def.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"AOc4cKfcb1yDCXsF"}
|
||||
{"name":"bg_pause.png","date":"2023-01-24T14:19:59.189Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_pause.png","type":"image/png","size":1359,"imageWidth":104,"imageHeight":180,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_pause.png","thumbnailWidth":104,"thumbnailHeight":180,"uuid":"xMURB8AA9Wp0IsFg"}
|
||||
{"name":"bg_score_p1.png","date":"2023-01-24T14:19:59.688Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_score_p1.png","type":"image/png","size":2900,"imageWidth":256,"imageHeight":108,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_score_p1.png","thumbnailWidth":256,"thumbnailHeight":108,"uuid":"lnobOZ23aAl21oBh"}
|
||||
{"name":"bg_score_p2.png","date":"2023-01-24T14:20:00.208Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_score_p2.png","type":"image/png","size":3117,"imageWidth":256,"imageHeight":108,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_score_p2.png","thumbnailWidth":256,"thumbnailHeight":108,"uuid":"6lEQJC7JkCKpMhp3"}
|
||||
{"name":"bg_search.png","date":"2023-01-24T14:20:00.714Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_search.png","type":"image/png","size":598,"imageWidth":44,"imageHeight":45,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_search.png","thumbnailWidth":44,"thumbnailHeight":45,"uuid":"x0WBpR1HwwKw0XhR"}
|
||||
{"name":"bg_settings.png","date":"2023-01-24T14:20:01.604Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_settings.png","type":"image/png","size":24565,"imageWidth":512,"imageHeight":435,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_settings.png","thumbnailWidth":330,"thumbnailHeight":281,"uuid":"G5neeoQIKf3n51AX"}
|
||||
{"name":"bg_song_1a.png","date":"2023-01-24T14:20:02.323Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_1a.png","type":"image/png","size":11225,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_1a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"WXg85hz481jzpARe"}
|
||||
{"name":"bg_song_1b.png","date":"2023-01-24T14:20:03.013Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_1b.png","type":"image/png","size":1103,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_1b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"E7uAIbQ2UFmttxBn"}
|
||||
{"name":"bg_song_2a.png","date":"2023-01-24T14:20:03.818Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_2a.png","type":"image/png","size":19266,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_2a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"yQmPJqt43K2MD8Oz"}
|
||||
{"name":"bg_song_2b.png","date":"2023-01-24T14:20:04.498Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_2b.png","type":"image/png","size":1103,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_2b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"eIO1whSOW7R3foyC"}
|
||||
{"name":"bg_song_3a.png","date":"2023-01-24T14:20:05.234Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_3a.png","type":"image/png","size":20708,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_3a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"2LVrf2AL4kp1paBy"}
|
||||
{"name":"bg_song_3b.png","date":"2023-01-24T14:20:05.912Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_3b.png","type":"image/png","size":1103,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_3b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"6LchsODDloj9FxPu"}
|
||||
{"name":"bg_song_4a.png","date":"2023-01-24T14:20:06.607Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_4a.png","type":"image/png","size":20505,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_4a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"GhekflazY5wJn0EF"}
|
||||
{"name":"bg_song_4b.png","date":"2023-01-24T14:20:07.305Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_4b.png","type":"image/png","size":1103,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_4b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"EdIhs6uIGRDYjc99"}
|
||||
{"name":"bg_song_5a.png","date":"2023-01-24T14:20:07.983Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_5a.png","type":"image/png","size":27544,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_5a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"sllLEMlfwsMs8rUm"}
|
||||
{"name":"bg_song_5b.png","date":"2023-01-24T14:20:08.649Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_song_5b.png","type":"image/png","size":1103,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_song_5b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"fv2tlSTRAZJlNNCY"}
|
||||
{"name":"bg_stage_1.png","date":"2023-01-24T14:20:09.145Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_stage_1.png","type":"image/png","size":1264,"imageWidth":66,"imageHeight":44,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_stage_1.png","thumbnailWidth":66,"thumbnailHeight":44,"uuid":"EiZopBqbEEIIsZA0"}
|
||||
{"name":"bg_stage_2.png","date":"2023-01-24T14:20:09.648Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_stage_2.png","type":"image/png","size":248,"imageWidth":254,"imageHeight":44,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_stage_2.png","thumbnailWidth":254,"thumbnailHeight":44,"uuid":"xczNLSyLHlAhyOnJ"}
|
||||
{"name":"bg_stage_3.png","date":"2023-01-24T14:20:10.301Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg_stage_3.png","type":"image/png","size":407,"imageWidth":458,"imageHeight":44,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fbg_stage_3.png","thumbnailWidth":330,"thumbnailHeight":32,"uuid":"I7Cn2Im0bEgmUL5N"}
|
||||
{"name":"bg-pattern-1.png","date":"2023-01-24T14:20:10.783Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg-pattern-1.png","type":"image/png","size":2886,"imageWidth":200,"imageHeight":200,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/bg-pattern-1.png","thumbnailWidth":200,"thumbnailHeight":200,"uuid":"bZY2KJ4OJyQlvzKj"}
|
||||
{"name":"crown.png","date":"2023-01-24T14:20:11.280Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/crown.png","type":"image/png","size":584,"imageWidth":37,"imageHeight":194,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/crown.png","thumbnailWidth":37,"thumbnailHeight":194,"uuid":"sPHHVEwlBxhD4kmX"}
|
||||
{"name":"difficulty.png","date":"2023-01-24T14:20:12.059Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/difficulty.png","type":"image/png","size":45489,"imageWidth":168,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdifficulty.png","thumbnailWidth":77,"thumbnailHeight":330,"uuid":"wSIo7nNphHir2ywZ"}
|
||||
{"name":"don_anim_10combo_a.png","date":"2023-01-24T14:20:12.771Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_10combo_a.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_10combo_a.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"7AsbaY7W5OjMKDeM"}
|
||||
{"name":"don_anim_10combo_b1.png","date":"2023-01-24T14:20:13.522Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_10combo_b1.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_10combo_b1.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"mnwoHCv2FtYzwMLV"}
|
||||
{"name":"don_anim_10combo_b2.png","date":"2023-01-24T14:20:14.260Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_10combo_b2.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_10combo_b2.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"smJUHNYAINHLAEMi"}
|
||||
{"name":"don_anim_clear_a.png","date":"2023-01-24T14:20:14.947Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_clear_a.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_clear_a.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"RxJM1YUyddEufyMn"}
|
||||
{"name":"don_anim_clear_b1.png","date":"2023-01-24T14:20:15.665Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_clear_b1.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_clear_b1.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"TPufx7k7vj2QpHXa"}
|
||||
{"name":"don_anim_clear_b2.png","date":"2023-01-24T14:20:16.401Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_clear_b2.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_clear_b2.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"N93j3K3FAmteBLb8"}
|
||||
{"name":"don_anim_gogo_a.png","date":"2023-01-24T14:20:17.241Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_gogo_a.png","type":"image/png","size":585,"imageWidth":2170,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_gogo_a.png","thumbnailWidth":330,"thumbnailHeight":283,"uuid":"lfbAxkM7pE92NiSl"}
|
||||
{"name":"don_anim_gogo_b1.png","date":"2023-01-24T14:20:17.980Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_gogo_b1.png","type":"image/png","size":585,"imageWidth":2170,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_gogo_b1.png","thumbnailWidth":330,"thumbnailHeight":283,"uuid":"tqaroQscXdncNytR"}
|
||||
{"name":"don_anim_gogo_b2.png","date":"2023-01-24T14:20:18.709Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_gogo_b2.png","type":"image/png","size":585,"imageWidth":2170,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_gogo_b2.png","thumbnailWidth":330,"thumbnailHeight":283,"uuid":"eSdfJu5WFka5NriX"}
|
||||
{"name":"don_anim_gogostart_a.png","date":"2023-01-24T14:20:19.432Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_gogostart_a.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_gogostart_a.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"gj3n82xvBIaVQ6aJ"}
|
||||
{"name":"don_anim_gogostart_b1.png","date":"2023-01-24T14:20:20.173Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_gogostart_b1.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_gogostart_b1.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"K4l4bJFM1B2raFJI"}
|
||||
{"name":"don_anim_gogostart_b2.png","date":"2023-01-24T14:20:21.032Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_gogostart_b2.png","type":"image/png","size":340,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_gogostart_b2.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"A1yjAFmTex2vtPRn"}
|
||||
{"name":"don_anim_normal_a.png","date":"2023-01-24T14:20:21.752Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_normal_a.png","type":"image/png","size":259,"imageWidth":722,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_normal_a.png","thumbnailWidth":129,"thumbnailHeight":330,"uuid":"v9Fuhu33QwfXNi2r"}
|
||||
{"name":"don_anim_normal_b1.png","date":"2023-01-24T14:20:22.400Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_normal_b1.png","type":"image/png","size":259,"imageWidth":722,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_normal_b1.png","thumbnailWidth":129,"thumbnailHeight":330,"uuid":"0Pea5UEJbUTMsmW1"}
|
||||
{"name":"don_anim_normal_b2.png","date":"2023-01-24T14:20:23.149Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/don_anim_normal_b2.png","type":"image/png","size":259,"imageWidth":722,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fdon_anim_normal_b2.png","thumbnailWidth":129,"thumbnailHeight":330,"uuid":"JQB0buJlbURvP5ZJ"}
|
||||
{"name":"favicon.png","date":"2023-01-24T14:20:23.666Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/favicon.png","type":"image/png","size":1879,"imageWidth":32,"imageHeight":32,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/favicon.png","thumbnailWidth":32,"thumbnailHeight":32,"uuid":"lHEvID0AealkrqUw"}
|
||||
{"name":"fire_anim.png","date":"2023-01-24T14:20:24.388Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/fire_anim.png","type":"image/png","size":1014,"imageWidth":2520,"imageHeight":370,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Ffire_anim.png","thumbnailWidth":330,"thumbnailHeight":49,"uuid":"hnBrxlOWimOZm154"}
|
||||
{"name":"fireworks_anim.png","date":"2023-01-24T14:20:25.147Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/fireworks_anim.png","type":"image/png","size":3395,"imageWidth":1840,"imageHeight":1840,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Ffireworks_anim.png","thumbnailWidth":330,"thumbnailHeight":330,"uuid":"bMsL2zoshVhyTDuX"}
|
||||
{"name":"mimizu.png","date":"2023-01-24T14:20:25.651Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/mimizu.png","type":"image/png","size":607,"imageWidth":136,"imageHeight":315,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/mimizu.png","thumbnailWidth":136,"thumbnailHeight":315,"uuid":"28rzEHiZZorDUPcM"}
|
||||
{"name":"miss.png","date":"2023-01-24T14:20:26.130Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/miss.png","type":"image/png","size":714,"imageWidth":201,"imageHeight":201,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/miss.png","thumbnailWidth":201,"thumbnailHeight":201,"uuid":"tDTNM0bAktsnlIkj"}
|
||||
{"name":"notes_drumroll.png","date":"2023-01-24T14:20:26.923Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/notes_drumroll.png","type":"image/png","size":12530,"imageWidth":172,"imageHeight":688,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fnotes_drumroll.png","thumbnailWidth":83,"thumbnailHeight":330,"uuid":"zCCfw5sZbK8lrit8"}
|
||||
{"name":"notes_explosion.png","date":"2023-01-24T14:20:28.031Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/notes_explosion.png","type":"image/png","size":352326,"imageWidth":888,"imageHeight":1110,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fnotes_explosion.png","thumbnailWidth":264,"thumbnailHeight":330,"uuid":"yxVdePZpzxdowCwQ"}
|
||||
{"name":"notes_hit.png","date":"2023-01-24T14:20:28.726Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/notes_hit.png","type":"image/png","size":26900,"imageWidth":128,"imageHeight":512,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fnotes_hit.png","thumbnailWidth":83,"thumbnailHeight":330,"uuid":"Hizh0jGS1wfLhiYi"}
|
||||
{"name":"notes.png","date":"2023-01-24T14:20:30.820Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/notes.png","type":"image/png","size":22010,"imageWidth":172,"imageHeight":688,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fnotes.png","thumbnailWidth":83,"thumbnailHeight":330,"uuid":"JZjbL0AHOCAENUDu"}
|
||||
{"name":"results_flowers.png","date":"2023-01-24T14:20:31.524Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/results_flowers.png","type":"image/png","size":331,"imageWidth":483,"imageHeight":477,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fresults_flowers.png","thumbnailWidth":330,"thumbnailHeight":326,"uuid":"g9fhOlQVgxl7U7as"}
|
||||
{"name":"results_mikoshi.png","date":"2023-01-24T14:20:32.204Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/results_mikoshi.png","type":"image/png","size":331,"imageWidth":553,"imageHeight":416,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fresults_mikoshi.png","thumbnailWidth":330,"thumbnailHeight":249,"uuid":"e8w0vcNoFwDg1K2F"}
|
||||
{"name":"results_tetsuohana.png","date":"2023-01-24T14:20:32.871Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/results_tetsuohana.png","type":"image/png","size":831,"imageWidth":584,"imageHeight":1275,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fresults_tetsuohana.png","thumbnailWidth":152,"thumbnailHeight":330,"uuid":"rtMOzoz1MB2x6m5P"}
|
||||
{"name":"results_tetsuohana2.png","date":"2023-01-24T14:20:33.751Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/results_tetsuohana2.png","type":"image/png","size":205571,"imageWidth":584,"imageHeight":1275,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fresults_tetsuohana2.png","thumbnailWidth":152,"thumbnailHeight":330,"uuid":"sdRLygut3UVn8D8v"}
|
||||
{"name":"settings_gamepad.png","date":"2023-01-24T14:20:34.413Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/settings_gamepad.png","type":"image/png","size":490,"imageWidth":550,"imageHeight":713,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Fsettings_gamepad.png","thumbnailWidth":255,"thumbnailHeight":330,"uuid":"dC8GAQg4C2wcDA9G"}
|
||||
{"name":"taiko.png","date":"2023-01-24T14:20:35.054Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/taiko.png","type":"image/png","size":216,"imageWidth":138,"imageHeight":810,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Ftaiko.png","thumbnailWidth":57,"thumbnailHeight":330,"uuid":"4IKnbuB5z0dNSZ6X"}
|
||||
{"name":"title-screen.png","date":"2023-01-24T14:20:35.716Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/title-screen.png","type":"image/png","size":2109,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Ftitle-screen.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"KXc5yhn876TOmAIV"}
|
||||
{"name":"touch_drum.png","date":"2023-01-24T14:20:36.551Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_drum.png","type":"image/png","size":11553,"imageWidth":842,"imageHeight":436,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2Ftouch_drum.png","thumbnailWidth":330,"thumbnailHeight":171,"uuid":"A0bVAfYglhnX4JjX"}
|
||||
{"name":"touch_fullscreen.png","date":"2023-01-24T14:20:37.060Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_fullscreen.png","type":"image/png","size":213,"imageWidth":75,"imageHeight":75,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_fullscreen.png","thumbnailWidth":75,"thumbnailHeight":75,"uuid":"LzhpZEAyzAPvXNqS"}
|
||||
{"name":"touch_pause.png","date":"2023-01-24T14:20:37.535Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_pause.png","type":"image/png","size":204,"imageWidth":75,"imageHeight":75,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_pause.png","thumbnailWidth":75,"thumbnailHeight":75,"uuid":"VwYg5nGoN9rwKvri"}
|
||||
{"uuid":"VwYg5nGoN9rwKvri","deleted":true}
|
||||
{"name":"touch_pause.png","date":"2023-01-24T14:31:54.967Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_pause.png","type":"image/png","size":204,"imageWidth":75,"imageHeight":75,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/touch_pause.png","thumbnailWidth":75,"thumbnailHeight":75,"uuid":"Z9z7QNKMIA9oAqMQ"}
|
||||
{"name":"AIAIAI.ogg","date":"2023-01-24T14:35:11.763Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/AIAIAI.ogg","type":"audio/ogg","size":2165674,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2FAIAIAI.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mRvWBVc6NqmPTioj"}
|
||||
{"uuid":"mRvWBVc6NqmPTioj","deleted":true}
|
||||
{"name":"1.ogg","date":"2023-01-24T14:35:11.763Z","url":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/1.ogg","type":"audio/ogg","size":2165674,"thumbnail":"https://cdn.glitch.global/a3e2c166-1d1e-4733-adf4-582e6dc2f601/thumbnails%2FAIAIAI.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mRvWBVc6NqmPTioj"}
|
||||
{"name":"3bf3f1c0-28b0-4863-832f-fddb468c8332.image.png","date":"2023-01-24T18:56:09.947Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/3bf3f1c0-28b0-4863-832f-fddb468c8332.image.png","type":"image/png","size":179995,"imageWidth":992,"imageHeight":480,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2F3bf3f1c0-28b0-4863-832f-fddb468c8332.image.png","thumbnailWidth":330,"thumbnailHeight":160,"uuid":"XoQbHoADUmCQCu33"}
|
||||
{"name":"ede0f829-a14e-4f2a-9063-d2163141071e.image.png","date":"2023-01-24T18:56:10.617Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/ede0f829-a14e-4f2a-9063-d2163141071e.image.png","type":"image/png","size":179995,"imageWidth":992,"imageHeight":480,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fede0f829-a14e-4f2a-9063-d2163141071e.image.png","thumbnailWidth":330,"thumbnailHeight":160,"uuid":"YxuzWqEGWj4DKmeq"}
|
||||
{"name":"a0c5d2d5-0e8f-45d7-9313-60f4817770dc.image.png","date":"2023-01-24T18:56:11.430Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/a0c5d2d5-0e8f-45d7-9313-60f4817770dc.image.png","type":"image/png","size":179995,"imageWidth":992,"imageHeight":480,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fa0c5d2d5-0e8f-45d7-9313-60f4817770dc.image.png","thumbnailWidth":330,"thumbnailHeight":160,"uuid":"kdBU0jpfO99MNhHh"}
|
||||
{"name":"5f6fb847-d1e4-4937-a6bd-7c0c1a0a5446.image.png","date":"2023-01-24T18:56:12.917Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/5f6fb847-d1e4-4937-a6bd-7c0c1a0a5446.image.png","type":"image/png","size":179995,"imageWidth":992,"imageHeight":480,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2F5f6fb847-d1e4-4937-a6bd-7c0c1a0a5446.image.png","thumbnailWidth":330,"thumbnailHeight":160,"uuid":"xOUTPuUG2puEBduY"}
|
||||
{"name":"ca0f63ff-af14-4977-b4b5-cba2fd45b90f.image.png","date":"2023-01-24T18:56:13.464Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/ca0f63ff-af14-4977-b4b5-cba2fd45b90f.image.png","type":"image/png","size":179995,"imageWidth":992,"imageHeight":480,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fca0f63ff-af14-4977-b4b5-cba2fd45b90f.image.png","thumbnailWidth":330,"thumbnailHeight":160,"uuid":"uD8NPPgi7SoVG60E"}
|
||||
{"name":"0bcea4aa-e9ca-4f0a-a963-410e0ba617e3.image.png","date":"2023-01-24T18:56:15.190Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/0bcea4aa-e9ca-4f0a-a963-410e0ba617e3.image.png","type":"image/png","size":179995,"imageWidth":992,"imageHeight":480,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2F0bcea4aa-e9ca-4f0a-a963-410e0ba617e3.image.png","thumbnailWidth":330,"thumbnailHeight":160,"uuid":"3YFbqMSuX7T3G8LY"}
|
||||
{"uuid":"tDTNM0bAktsnlIkj","deleted":true}
|
||||
{"name":"miss.png","date":"2023-01-24T18:59:01.454Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/miss.png","type":"image/png","size":8391,"imageWidth":201,"imageHeight":201,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/miss.png","thumbnailWidth":201,"thumbnailHeight":201,"uuid":"Hk5GN5QxMtDf3bfr"}
|
||||
{"uuid":"x0WBpR1HwwKw0XhR","deleted":true}
|
||||
{"name":"bg_search.png","date":"2023-01-24T18:59:01.970Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_search.png","type":"image/png","size":1050,"imageWidth":44,"imageHeight":45,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_search.png","thumbnailWidth":44,"thumbnailHeight":45,"uuid":"Z4SLJGfnXPiAGPBf"}
|
||||
{"uuid":"sPHHVEwlBxhD4kmX","deleted":true}
|
||||
{"name":"crown.png","date":"2023-01-24T18:59:02.700Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/crown.png","type":"image/png","size":11535,"imageWidth":37,"imageHeight":194,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/crown.png","thumbnailWidth":37,"thumbnailHeight":194,"uuid":"11WFHiL05OgXUiL7"}
|
||||
{"name":"title-screen.jpg","date":"2023-01-24T18:59:04.707Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.jpg","type":"image/jpeg","size":637747,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftitle-screen.jpg","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"1NwwkFHZg3aXsrJY"}
|
||||
{"uuid":"IPQVZ9sbvSOEbq43","deleted":true}
|
||||
{"name":"TnT.ttf","date":"2023-01-24T18:59:05.726Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/TnT.ttf","type":"font/ttf","size":4718572,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FTnT.ttf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"TJE7G7yp2idZ414k"}
|
||||
{"uuid":"VSQNphlEtW5gb1bJ","deleted":true}
|
||||
{"name":"v_combo_5000.ogg","date":"2023-01-24T18:59:06.314Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_5000.ogg","type":"audio/ogg","size":29351,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_5000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"nY19zKcsi0rzm8A7"}
|
||||
{"uuid":"F4KQW3VX5jx1NwqA","deleted":true}
|
||||
{"name":"v_combo_4900.ogg","date":"2023-01-24T18:59:06.875Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4900.ogg","type":"audio/ogg","size":17697,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"lrDhNlQuZLM8yTKO"}
|
||||
{"uuid":"BYw9dFDuVYqtbW7l","deleted":true}
|
||||
{"name":"v_combo_4800.ogg","date":"2023-01-24T18:59:08.337Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4800.ogg","type":"audio/ogg","size":16828,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"PvxbqJls21Al9q9D"}
|
||||
{"uuid":"PYxBGB4tkwsKzQ8k","deleted":true}
|
||||
{"name":"v_combo_4700.ogg","date":"2023-01-24T18:59:08.891Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4700.ogg","type":"audio/ogg","size":16766,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"vuYtvaxzIjCcUFc4"}
|
||||
{"uuid":"07RavjcUghvtdJqo","deleted":true}
|
||||
{"name":"v_combo_4600.ogg","date":"2023-01-24T18:59:09.415Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4600.ogg","type":"audio/ogg","size":16341,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"vn67X7px8I7upF5V"}
|
||||
{"uuid":"jPG8N2bPQcTeLjuC","deleted":true}
|
||||
{"name":"v_combo_4500.ogg","date":"2023-01-24T18:59:09.951Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4500.ogg","type":"audio/ogg","size":15505,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"7nk70FjsKFPKFyzK"}
|
||||
{"uuid":"lj3ngJgj016qPeCF","deleted":true}
|
||||
{"name":"v_combo_4400.ogg","date":"2023-01-24T18:59:10.862Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4400.ogg","type":"audio/ogg","size":17495,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"iK8xOxhXMwyAzLML"}
|
||||
{"uuid":"x4sWa38MqrmsmK5g","deleted":true}
|
||||
{"name":"v_combo_4300.ogg","date":"2023-01-24T18:59:11.388Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4300.ogg","type":"audio/ogg","size":17091,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"lz9MTfXYV1YFiEYG"}
|
||||
{"uuid":"YpZdJwzRfPWeUnRm","deleted":true}
|
||||
{"name":"v_combo_4200.ogg","date":"2023-01-24T18:59:11.918Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4200.ogg","type":"audio/ogg","size":17077,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"tPX2NhXybLu9LouB"}
|
||||
{"uuid":"47TanIo6liofoVjy","deleted":true}
|
||||
{"name":"v_combo_4100.ogg","date":"2023-01-24T18:59:12.400Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4100.ogg","type":"audio/ogg","size":14009,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"SrBLoon3xQ9mMKrG"}
|
||||
{"uuid":"hXHXBoyuOd0lCETz","deleted":true}
|
||||
{"name":"v_combo_4000.ogg","date":"2023-01-24T18:59:12.925Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_4000.ogg","type":"audio/ogg","size":22173,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_4000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"TJz1ZjTbscXHB5S2"}
|
||||
{"uuid":"ExVCRDL5ijRDDn6d","deleted":true}
|
||||
{"name":"v_combo_3900.ogg","date":"2023-01-24T18:59:13.579Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3900.ogg","type":"audio/ogg","size":18696,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ofFONxOstanCy8uE"}
|
||||
{"uuid":"Y0E9MA4ksrOiGmjz","deleted":true}
|
||||
{"name":"v_combo_3800.ogg","date":"2023-01-24T18:59:15.331Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3800.ogg","type":"audio/ogg","size":16155,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"2tct2DaeYNHWtT7L"}
|
||||
{"uuid":"PT3dANaqTegxVNu2","deleted":true}
|
||||
{"name":"v_combo_3700.ogg","date":"2023-01-24T18:59:16.011Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3700.ogg","type":"audio/ogg","size":16500,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"VatCWGd1nysC8d99"}
|
||||
{"uuid":"UObwyTQ5Vl6nTkUh","deleted":true}
|
||||
{"name":"v_combo_3600.ogg","date":"2023-01-24T18:59:16.863Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3600.ogg","type":"audio/ogg","size":15308,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"AGyMSbeYmRv4P3NM"}
|
||||
{"uuid":"vh2yNkuXM8oi2ubw","deleted":true}
|
||||
{"name":"v_combo_3500.ogg","date":"2023-01-24T18:59:17.451Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3500.ogg","type":"audio/ogg","size":16237,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"M6GuR41jStsLQ4Hx"}
|
||||
{"uuid":"BvSfIhmv2fB3afQG","deleted":true}
|
||||
{"name":"v_combo_3400.ogg","date":"2023-01-24T18:59:18.491Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3400.ogg","type":"audio/ogg","size":16443,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"C0I56kS2SsR47BKe"}
|
||||
{"uuid":"gidugFIszw62B3C7","deleted":true}
|
||||
{"name":"v_combo_3300.ogg","date":"2023-01-24T18:59:19.165Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3300.ogg","type":"audio/ogg","size":17666,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"FwvL1A63spmDzMc4"}
|
||||
{"uuid":"mEeiPq2LzEoGubDK","deleted":true}
|
||||
{"name":"v_combo_3200.ogg","date":"2023-01-24T18:59:21.274Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3200.ogg","type":"audio/ogg","size":16286,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"h3KP0So6HsMhgbpX"}
|
||||
{"uuid":"DNuGZ2ZQ7oFUae0Z","deleted":true}
|
||||
{"name":"v_combo_3100.ogg","date":"2023-01-24T18:59:37.856Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3100.ogg","type":"audio/ogg","size":14239,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"SkfQyk1W6Y7yvvS5"}
|
||||
{"uuid":"04IByfAWHJ8uqnSg","deleted":true}
|
||||
{"name":"v_combo_3000.ogg","date":"2023-01-24T18:59:46.193Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_3000.ogg","type":"audio/ogg","size":21456,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_3000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Jc4TnCN9cU1AZl8t"}
|
||||
{"uuid":"D4ROmVcilFKM7r8J","deleted":true}
|
||||
{"name":"v_combo_2900.ogg","date":"2023-01-24T18:59:50.023Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2900.ogg","type":"audio/ogg","size":15298,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"G8lkwNah1gLtoTmG"}
|
||||
{"uuid":"3FOIl24YsRyWd8eg","deleted":true}
|
||||
{"name":"v_combo_2800.ogg","date":"2023-01-24T18:59:53.409Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2800.ogg","type":"audio/ogg","size":15551,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"O64BgVd5fKGKJkQh"}
|
||||
{"uuid":"5TBSBb0nKdKYRxPJ","deleted":true}
|
||||
{"name":"v_combo_2700.ogg","date":"2023-01-24T18:59:57.623Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2700.ogg","type":"audio/ogg","size":15717,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"qiIQuSjPl0PbzWE6"}
|
||||
{"uuid":"19N7KLv3LdWZsBt7","deleted":true}
|
||||
{"name":"v_combo_2600.ogg","date":"2023-01-24T18:59:59.831Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2600.ogg","type":"audio/ogg","size":15675,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"ZEfxd85CTYkBkEp8"}
|
||||
{"uuid":"UKuYMskhbiK9NUTd","deleted":true}
|
||||
{"name":"v_combo_2500.ogg","date":"2023-01-24T19:00:02.793Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2500.ogg","type":"audio/ogg","size":14666,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"PTHEz2xtUUHecrgc"}
|
||||
{"uuid":"W15s4Gr8PJaiS6f0","deleted":true}
|
||||
{"name":"v_combo_2400.ogg","date":"2023-01-24T19:00:05.189Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2400.ogg","type":"audio/ogg","size":16289,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"lFr7avF9OH0pyzrp"}
|
||||
{"uuid":"wv8tZCmmZv2GoRQU","deleted":true}
|
||||
{"name":"v_combo_2300.ogg","date":"2023-01-24T19:00:07.184Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2300.ogg","type":"audio/ogg","size":15264,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"2f9PSimMovElYwCE"}
|
||||
{"uuid":"AE3E7CaLxWgz5AGe","deleted":true}
|
||||
{"name":"v_combo_2200.ogg","date":"2023-01-24T19:00:08.820Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2200.ogg","type":"audio/ogg","size":14401,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"q1AbbhMPCwiOqAb0"}
|
||||
{"uuid":"MYAeWxJ9YVCWmqvI","deleted":true}
|
||||
{"name":"v_combo_2100.ogg","date":"2023-01-24T19:00:11.614Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2100.ogg","type":"audio/ogg","size":13263,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"zTaD44zbqmu8qFnj"}
|
||||
{"uuid":"xnhCvhRD1p9Zo8RV","deleted":true}
|
||||
{"name":"v_combo_2000.ogg","date":"2023-01-24T19:00:13.413Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_2000.ogg","type":"audio/ogg","size":23718,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_2000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"yn6ClawiE7Uqx9dq"}
|
||||
{"uuid":"XKeOzNQ7Yiz6hr4i","deleted":true}
|
||||
{"name":"v_combo_1900.ogg","date":"2023-01-24T19:00:14.947Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1900.ogg","type":"audio/ogg","size":14096,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"2LMvdD1tBECTj4Vm"}
|
||||
{"uuid":"tTrYpPZOHfnmvGez","deleted":true}
|
||||
{"name":"v_combo_1800.ogg","date":"2023-01-24T19:00:16.996Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1800.ogg","type":"audio/ogg","size":14091,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"wr8RfSQImVt5uYry"}
|
||||
{"uuid":"rC5X5TuakvgJMMK5","deleted":true}
|
||||
{"name":"v_combo_1700.ogg","date":"2023-01-24T19:00:18.797Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1700.ogg","type":"audio/ogg","size":14410,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"vWgI79AooJKe5V8j"}
|
||||
{"uuid":"OMj3qnXFZlYhKulu","deleted":true}
|
||||
{"name":"v_combo_1600.ogg","date":"2023-01-24T19:00:20.694Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1600.ogg","type":"audio/ogg","size":13380,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"PoBr0VtVs8eMNFrP"}
|
||||
{"uuid":"3pOHZhWdCXqnMnp7","deleted":true}
|
||||
{"name":"v_combo_1500.ogg","date":"2023-01-24T19:00:22.660Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1500.ogg","type":"audio/ogg","size":14158,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"fD3ttVfdMrLoCkcz"}
|
||||
{"uuid":"ppGArRBUiz8Aoxb0","deleted":true}
|
||||
{"name":"v_combo_1400.ogg","date":"2023-01-24T19:00:25.198Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1400.ogg","type":"audio/ogg","size":14309,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"deekWFAcXTRwMeCs"}
|
||||
{"uuid":"dL4Ff4DN38MnWlQo","deleted":true}
|
||||
{"name":"v_combo_1300.ogg","date":"2023-01-24T19:00:27.316Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1300.ogg","type":"audio/ogg","size":14707,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"o2QdqfmuCuWqk64i"}
|
||||
{"uuid":"IdCA8Birt9ZgFWZr","deleted":true}
|
||||
{"name":"v_combo_1200.ogg","date":"2023-01-24T19:00:29.147Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1200.ogg","type":"audio/ogg","size":14889,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"gxD6LZUZnrkW8NHr"}
|
||||
{"uuid":"3tYji151bagcwcn3","deleted":true}
|
||||
{"name":"v_combo_1100.ogg","date":"2023-01-24T19:00:31.498Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1100.ogg","type":"audio/ogg","size":13412,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"omshB8ac8oGbPkR4"}
|
||||
{"uuid":"HD3DUYic2diIgA3q","deleted":true}
|
||||
{"name":"v_combo_1000.ogg","date":"2023-01-24T19:00:32.984Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_1000.ogg","type":"audio/ogg","size":19829,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_1000.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"IUhTVbtOSLO4Q6PP"}
|
||||
{"uuid":"KYEaFEf5d3glVIGd","deleted":true}
|
||||
{"name":"v_combo_900.ogg","date":"2023-01-24T19:00:34.468Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_900.ogg","type":"audio/ogg","size":15752,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_900.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"x7mjNDFmx2tmTCqo"}
|
||||
{"uuid":"AEirfTuyTx1enOG6","deleted":true}
|
||||
{"name":"v_combo_800.ogg","date":"2023-01-24T19:00:35.989Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_800.ogg","type":"audio/ogg","size":15360,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_800.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"AIBCmw2asWSVZyhl"}
|
||||
{"uuid":"0JmG3DnDZvvogIJS","deleted":true}
|
||||
{"name":"v_combo_700.ogg","date":"2023-01-24T19:00:37.508Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_700.ogg","type":"audio/ogg","size":14855,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_700.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"7T7AWrqKKJVpuWjE"}
|
||||
{"uuid":"L4ScpHnPgf4uorVz","deleted":true}
|
||||
{"name":"v_combo_600.ogg","date":"2023-01-24T19:00:39.543Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_600.ogg","type":"audio/ogg","size":14333,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_600.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"sXMJJftw1ob0qYje"}
|
||||
{"uuid":"qNgGVFpKkC4MwWk2","deleted":true}
|
||||
{"name":"v_combo_500.ogg","date":"2023-01-24T19:00:41.050Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_500.ogg","type":"audio/ogg","size":15179,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_500.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"NG3DOTvvSzKpKxGl"}
|
||||
{"uuid":"ehVh7Vc4NRCuhuAF","deleted":true}
|
||||
{"name":"v_combo_400.ogg","date":"2023-01-24T19:00:42.879Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_400.ogg","type":"audio/ogg","size":14717,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_400.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"wgBw8LQKE31pS2wo"}
|
||||
{"uuid":"zc8adLJKFufv8LEp","deleted":true}
|
||||
{"name":"v_combo_300.ogg","date":"2023-01-24T19:00:44.755Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_300.ogg","type":"audio/ogg","size":15927,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_300.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"hJMfmel6kES5nubq"}
|
||||
{"uuid":"ZjxIEfBdb7l02jIM","deleted":true}
|
||||
{"name":"v_combo_200.ogg","date":"2023-01-24T19:00:46.267Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_200.ogg","type":"audio/ogg","size":15012,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_200.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"JJ3Wb11UeQPmaBhJ"}
|
||||
{"uuid":"5VDfPFk8WJs5lQHS","deleted":true}
|
||||
{"name":"v_combo_100.ogg","date":"2023-01-24T19:00:48.174Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_100.ogg","type":"audio/ogg","size":11885,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_100.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"lvz0kXyYeZFSbbaz"}
|
||||
{"uuid":"ylDHwXThWfFCl7W2","deleted":true}
|
||||
{"name":"v_combo_50.ogg","date":"2023-01-24T19:00:49.849Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_combo_50.ogg","type":"audio/ogg","size":13698,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_combo_50.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"QkNXKuWN3ZCiFFgQ"}
|
||||
{"uuid":"ccpVDsFteWjRmAWq","deleted":true}
|
||||
{"name":"bgm_settings.mp3","date":"2023-01-24T19:00:51.610Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bgm_settings.mp3","type":"audio/mpeg","size":648881,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbgm_settings.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"AN4z9ygp71dAIHXy"}
|
||||
{"uuid":"xGXxwWXFrAKZFqyq","deleted":true}
|
||||
{"name":"bgm_setsume.mp3","date":"2023-01-24T19:00:53.859Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bgm_setsume.mp3","type":"audio/mpeg","size":377942,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbgm_setsume.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"UpcxhsD8mBKBXMoz"}
|
||||
{"uuid":"kTHWsvxBUppYG8U0","deleted":true}
|
||||
{"name":"bgm_result.mp3","date":"2023-01-24T19:00:55.473Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bgm_result.mp3","type":"audio/mpeg","size":641163,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbgm_result.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"xXWHDXT5EdV3KyyO"}
|
||||
{"uuid":"2sjTviVLzjCU1k8B","deleted":true}
|
||||
{"name":"v_results_fullcombo2.ogg","date":"2023-01-24T19:00:58.057Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_results_fullcombo2.ogg","type":"audio/ogg","size":19169,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_results_fullcombo2.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"xDHsxaMHzyBF2SmL"}
|
||||
{"uuid":"P99Ex29I4lW8tAVX","deleted":true}
|
||||
{"name":"v_results_fullcombo.ogg","date":"2023-01-24T19:00:59.605Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_results_fullcombo.ogg","type":"audio/ogg","size":18416,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_results_fullcombo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"V9lXKr3x4i1fJxni"}
|
||||
{"uuid":"Rbp39SqR2ufseQBz","deleted":true}
|
||||
{"name":"v_renda.ogg","date":"2023-01-24T19:01:01.341Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_renda.ogg","type":"audio/ogg","size":19529,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_renda.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"U0C5VTmCBhTMAilj"}
|
||||
{"uuid":"fgtWpO0uZX6R7MTW","deleted":true}
|
||||
{"name":"v_fullcombo.ogg","date":"2023-01-24T19:01:02.494Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_fullcombo.ogg","type":"audio/ogg","size":16616,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_fullcombo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"q46QFswCRhGkTSWq"}
|
||||
{"uuid":"HsgcNylQrInnxFZo","deleted":true}
|
||||
{"name":"v_diffsel.ogg","date":"2023-01-24T19:01:03.145Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_diffsel.ogg","type":"audio/ogg","size":22637,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_diffsel.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"JsR0pRnMRYubSPck"}
|
||||
{"uuid":"twQaYkuVgMW8HPPz","deleted":true}
|
||||
{"name":"se_results_crown.ogg","date":"2023-01-24T19:01:04.155Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_results_crown.ogg","type":"audio/ogg","size":10961,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_results_crown.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"NQ4T4logzurGiB0n"}
|
||||
{"uuid":"BDxNVcfR2rntHgWy","deleted":true}
|
||||
{"name":"se_results_countup.ogg","date":"2023-01-24T19:01:04.698Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_results_countup.ogg","type":"audio/ogg","size":3885,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_results_countup.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"eJ5SPR0vXXSS7QDm"}
|
||||
{"uuid":"SOT65cPidkXXLJpF","deleted":true}
|
||||
{"name":"se_gamefullcombo.ogg","date":"2023-01-24T19:01:05.470Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_gamefullcombo.ogg","type":"audio/ogg","size":60036,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_gamefullcombo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"MLPa7sdGDqBhRCX4"}
|
||||
{"uuid":"Y8cpTDIFJdXq0deH","deleted":true}
|
||||
{"name":"se_gamefail.ogg","date":"2023-01-24T19:01:06.184Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_gamefail.ogg","type":"audio/ogg","size":22502,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_gamefail.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"IJ6Ly4sEx2QY5Ozm"}
|
||||
{"uuid":"t3VHpj2YQPY9TBjX","deleted":true}
|
||||
{"name":"bgm_songsel.mp3","date":"2023-01-24T19:01:07.083Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bgm_songsel.mp3","type":"audio/mpeg","size":82769,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbgm_songsel.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"HseloN7LcT6IM9Ta"}
|
||||
{"uuid":"QgvL348vX9j4SGzp","deleted":true}
|
||||
{"name":"v_title.ogg","date":"2023-01-24T19:01:09.179Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_title.ogg","type":"audio/ogg","size":28630,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_title.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"me8UIvupoxiXSMb0"}
|
||||
{"uuid":"zGpUIEV0EqL1vhIN","deleted":true}
|
||||
{"name":"v_start.ogg","date":"2023-01-24T19:01:09.791Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_start.ogg","type":"audio/ogg","size":22266,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_start.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"wyRrqVc8ev6xoLEG"}
|
||||
{"uuid":"iUGvHitFpx2zt5xE","deleted":true}
|
||||
{"name":"v_songsel.ogg","date":"2023-01-24T19:01:10.431Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_songsel.ogg","type":"audio/ogg","size":19601,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_songsel.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Dv1wt51GN5KUJCFJ"}
|
||||
{"uuid":"MHF0ftNFjqm2vjrj","deleted":true}
|
||||
{"name":"v_sanka.ogg","date":"2023-01-24T19:01:10.918Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_sanka.ogg","type":"audio/ogg","size":16025,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_sanka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"agnNrvaraRlFAlcj"}
|
||||
{"uuid":"O86CrqZl5fJ9ih4S","deleted":true}
|
||||
{"name":"v_results.ogg","date":"2023-01-24T19:01:11.448Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/v_results.ogg","type":"audio/ogg","size":26595,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fv_results.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"phxI8KxdSK29gPzs"}
|
||||
{"uuid":"qknOv4EDbX169L7D","deleted":true}
|
||||
{"name":"se_ka.ogg","date":"2023-01-24T19:01:12.016Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_ka.ogg","type":"audio/ogg","size":5581,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_ka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mPR0GzLVAfyAZ9Ny"}
|
||||
{"uuid":"QlQbfKXCz3DmA29J","deleted":true}
|
||||
{"name":"se_jump.ogg","date":"2023-01-24T19:01:12.735Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_jump.ogg","type":"audio/ogg","size":9732,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_jump.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"eNDypmokVPMov6x4"}
|
||||
{"uuid":"B4yoRHOyCWbPfLXg","deleted":true}
|
||||
{"name":"se_gameclear.ogg","date":"2023-01-24T19:01:13.362Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_gameclear.ogg","type":"audio/ogg","size":42228,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_gameclear.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"8mNqQMAuOl2xSSBR"}
|
||||
{"uuid":"WxQKMIXI8CIUdQ7u","deleted":true}
|
||||
{"name":"se_don.ogg","date":"2023-01-24T19:01:14.292Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_don.ogg","type":"audio/ogg","size":10660,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_don.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"rb6S5WlvYeWhikFP"}
|
||||
{"uuid":"AspO13ChrDA9xd2d","deleted":true}
|
||||
{"name":"se_cancel.ogg","date":"2023-01-24T19:01:15.284Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_cancel.ogg","type":"audio/ogg","size":7876,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_cancel.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"JvrNdgTuvXdvwChM"}
|
||||
{"uuid":"epDwyQzFLMzbGXCC","deleted":true}
|
||||
{"name":"se_balloon.ogg","date":"2023-01-24T19:01:15.985Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_balloon.ogg","type":"audio/ogg","size":7139,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_balloon.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Dm6jExLgovSALPvI"}
|
||||
{"uuid":"ygUZ5UDTzj50wdOR","deleted":true}
|
||||
{"name":"neiro_1_ka.ogg","date":"2023-01-24T19:01:16.763Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/neiro_1_ka.ogg","type":"audio/ogg","size":6814,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fneiro_1_ka.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0DWtI4u1gWOqEa0t"}
|
||||
{"uuid":"FBywz26QlZ1BSVuP","deleted":true}
|
||||
{"name":"neiro_1_don.ogg","date":"2023-01-24T19:01:17.784Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/neiro_1_don.ogg","type":"audio/ogg","size":9691,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fneiro_1_don.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"aKYlUhCyvjmOuiSN"}
|
||||
{"uuid":"BiJhm6rI0NDdt5UV","deleted":true}
|
||||
{"name":"se_pause.ogg","date":"2023-01-24T19:01:18.289Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_pause.ogg","type":"audio/ogg","size":6621,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_pause.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"kEdL3eUVaCCo0OEW"}
|
||||
{"uuid":"gk4QNjG0iVKcOCI5","deleted":true}
|
||||
{"name":"se_calibration.ogg","date":"2023-01-24T19:01:20.179Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/se_calibration.ogg","type":"audio/ogg","size":4704,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fse_calibration.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"rA6ILsuGv42WVC8z"}
|
||||
{"uuid":"v9Fuhu33QwfXNi2r","deleted":true}
|
||||
{"name":"don_anim_normal_a.png","date":"2023-01-24T19:01:22.217Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_normal_a.png","type":"image/png","size":558127,"imageWidth":722,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_normal_a.png","thumbnailWidth":129,"thumbnailHeight":330,"uuid":"ISPKOn1Ewl1ub8wt"}
|
||||
{"uuid":"gj3n82xvBIaVQ6aJ","deleted":true}
|
||||
{"name":"don_anim_gogostart_a.png","date":"2023-01-24T19:01:23.995Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_gogostart_a.png","type":"image/png","size":852034,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_gogostart_a.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"eqyGRKv2hy8GWoXY"}
|
||||
{"uuid":"lfbAxkM7pE92NiSl","deleted":true}
|
||||
{"name":"don_anim_gogo_a.png","date":"2023-01-24T19:01:26.029Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_gogo_a.png","type":"image/png","size":1978020,"imageWidth":2170,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_gogo_a.png","thumbnailWidth":330,"thumbnailHeight":283,"uuid":"6WPSoCAFt43T38iE"}
|
||||
{"uuid":"RxJM1YUyddEufyMn","deleted":true}
|
||||
{"name":"don_anim_clear_a.png","date":"2023-01-24T19:01:28.187Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_clear_a.png","type":"image/png","size":1044030,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_clear_a.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"wHKRBN3JitbtPB3l"}
|
||||
{"uuid":"7AsbaY7W5OjMKDeM","deleted":true}
|
||||
{"name":"don_anim_10combo_a.png","date":"2023-01-24T19:01:30.947Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_10combo_a.png","type":"image/png","size":831897,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_10combo_a.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"hEETlzo4TipGYL9J"}
|
||||
{"uuid":"JQB0buJlbURvP5ZJ","deleted":true}
|
||||
{"name":"don_anim_normal_b2.png","date":"2023-01-24T19:01:32.725Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_normal_b2.png","type":"image/png","size":3900,"imageWidth":722,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_normal_b2.png","thumbnailWidth":129,"thumbnailHeight":330,"uuid":"BmZ9sqVu3ZwVNBXb"}
|
||||
{"uuid":"0Pea5UEJbUTMsmW1","deleted":true}
|
||||
{"name":"don_anim_normal_b1.png","date":"2023-01-24T19:01:34.365Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_normal_b1.png","type":"image/png","size":5906,"imageWidth":722,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_normal_b1.png","thumbnailWidth":129,"thumbnailHeight":330,"uuid":"efNiBIkOCQzhsY6y"}
|
||||
{"uuid":"A1yjAFmTex2vtPRn","deleted":true}
|
||||
{"name":"don_anim_gogostart_b2.png","date":"2023-01-24T19:01:36.047Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_gogostart_b2.png","type":"image/png","size":5205,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_gogostart_b2.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"VIuD4SSnOAaXtC8i"}
|
||||
{"uuid":"K4l4bJFM1B2raFJI","deleted":true}
|
||||
{"name":"don_anim_gogostart_b1.png","date":"2023-01-24T19:01:37.684Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_gogostart_b1.png","type":"image/png","size":10180,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_gogostart_b1.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"YOH2akDJGStyeHTz"}
|
||||
{"uuid":"eSdfJu5WFka5NriX","deleted":true}
|
||||
{"name":"don_anim_gogo_b2.png","date":"2023-01-24T19:01:39.919Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_gogo_b2.png","type":"image/png","size":12189,"imageWidth":2170,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_gogo_b2.png","thumbnailWidth":330,"thumbnailHeight":283,"uuid":"NxUXGBwRXq1nMeY8"}
|
||||
{"uuid":"tqaroQscXdncNytR","deleted":true}
|
||||
{"name":"don_anim_gogo_b1.png","date":"2023-01-24T19:01:41.691Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_gogo_b1.png","type":"image/png","size":23339,"imageWidth":2170,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_gogo_b1.png","thumbnailWidth":330,"thumbnailHeight":283,"uuid":"AMv1khZNw9v6rC19"}
|
||||
{"uuid":"N93j3K3FAmteBLb8","deleted":true}
|
||||
{"name":"don_anim_clear_b2.png","date":"2023-01-24T19:01:43.454Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_clear_b2.png","type":"image/png","size":7035,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_clear_b2.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"fWvms2SJzWhiZWZ7"}
|
||||
{"uuid":"TPufx7k7vj2QpHXa","deleted":true}
|
||||
{"name":"don_anim_clear_b1.png","date":"2023-01-24T19:01:45.290Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_clear_b1.png","type":"image/png","size":12614,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_clear_b1.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"EeKyRjiqd0ZgVtuN"}
|
||||
{"uuid":"smJUHNYAINHLAEMi","deleted":true}
|
||||
{"name":"don_anim_10combo_b2.png","date":"2023-01-24T19:01:47.067Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_10combo_b2.png","type":"image/png","size":5041,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_10combo_b2.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"ARZKDLutlBUB1le9"}
|
||||
{"uuid":"mnwoHCv2FtYzwMLV","deleted":true}
|
||||
{"name":"don_anim_10combo_b1.png","date":"2023-01-24T19:01:49.264Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/don_anim_10combo_b1.png","type":"image/png","size":8979,"imageWidth":1084,"imageHeight":1858,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdon_anim_10combo_b1.png","thumbnailWidth":193,"thumbnailHeight":330,"uuid":"l89OFPeEmFknRM2n"}
|
||||
{"uuid":"lHEvID0AealkrqUw","deleted":true}
|
||||
{"name":"favicon.png","date":"2023-01-24T19:01:51.508Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.png","type":"image/png","size":73772,"imageWidth":1024,"imageHeight":1024,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ffavicon.png","thumbnailWidth":330,"thumbnailHeight":330,"uuid":"o2cFndipDKFc9qI4"}
|
||||
{"uuid":"dC8GAQg4C2wcDA9G","deleted":true}
|
||||
{"name":"settings_gamepad.png","date":"2023-01-24T19:01:53.865Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/settings_gamepad.png","type":"image/png","size":36778,"imageWidth":550,"imageHeight":713,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fsettings_gamepad.png","thumbnailWidth":255,"thumbnailHeight":330,"uuid":"ytgb4vPaGuVUBF2j"}
|
||||
{"name":"kameunagi.png","date":"2023-01-24T19:01:55.498Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/kameunagi.png","type":"image/png","size":27571,"imageWidth":234,"imageHeight":419,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fkameunagi.png","thumbnailWidth":185,"thumbnailHeight":330,"uuid":"ZSAYBNUKSIoEVlP6"}
|
||||
{"uuid":"sdRLygut3UVn8D8v","deleted":true}
|
||||
{"name":"results_tetsuohana2.png","date":"2023-01-24T19:01:57.062Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/results_tetsuohana2.png","type":"image/png","size":205571,"imageWidth":584,"imageHeight":1275,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fresults_tetsuohana2.png","thumbnailWidth":152,"thumbnailHeight":330,"uuid":"bttCKBPwpCr6tDYo"}
|
||||
{"uuid":"GkNvB9H6sc6EfT4q","deleted":true}
|
||||
{"name":"badge_auto.png","date":"2023-01-24T19:01:57.631Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/badge_auto.png","type":"image/png","size":3532,"imageWidth":86,"imageHeight":86,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/badge_auto.png","thumbnailWidth":86,"thumbnailHeight":86,"uuid":"KwIBSvdDEfwo7ysI"}
|
||||
{"uuid":"yxVdePZpzxdowCwQ","deleted":true}
|
||||
{"name":"notes_explosion.png","date":"2023-01-24T19:01:59.274Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/notes_explosion.png","type":"image/png","size":362675,"imageWidth":888,"imageHeight":1110,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fnotes_explosion.png","thumbnailWidth":264,"thumbnailHeight":330,"uuid":"HuubKSgQbKinzPTZ"}
|
||||
{"uuid":"wSIo7nNphHir2ywZ","deleted":true}
|
||||
{"name":"difficulty.png","date":"2023-01-24T19:02:01.033Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/difficulty.png","type":"image/png","size":48870,"imageWidth":168,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdifficulty.png","thumbnailWidth":77,"thumbnailHeight":330,"uuid":"bNF75oqCFYDad6Ap"}
|
||||
{"uuid":"rtMOzoz1MB2x6m5P","deleted":true}
|
||||
{"name":"results_tetsuohana.png","date":"2023-01-24T19:02:02.630Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/results_tetsuohana.png","type":"image/png","size":198722,"imageWidth":584,"imageHeight":1275,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fresults_tetsuohana.png","thumbnailWidth":152,"thumbnailHeight":330,"uuid":"NfisWdRJRLO6D52G"}
|
||||
{"uuid":"e8w0vcNoFwDg1K2F","deleted":true}
|
||||
{"name":"results_mikoshi.png","date":"2023-01-24T19:02:04.463Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/results_mikoshi.png","type":"image/png","size":94713,"imageWidth":553,"imageHeight":416,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fresults_mikoshi.png","thumbnailWidth":330,"thumbnailHeight":249,"uuid":"C15OU8DeQC3jNRQo"}
|
||||
{"uuid":"g9fhOlQVgxl7U7as","deleted":true}
|
||||
{"name":"results_flowers.png","date":"2023-01-24T19:02:08.153Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/results_flowers.png","type":"image/png","size":73921,"imageWidth":483,"imageHeight":477,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fresults_flowers.png","thumbnailWidth":330,"thumbnailHeight":326,"uuid":"viF83rlesK0a0DYB"}
|
||||
{"uuid":"EtE3g7OjEjlakQ6M","deleted":true}
|
||||
{"name":"bg_don2_6b.png","date":"2023-01-24T19:02:10.887Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_6b.png","type":"image/png","size":56528,"imageWidth":491,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_6b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"yQrM2XIn6pTyrm02"}
|
||||
{"uuid":"x43z9tPafcjanhgE","deleted":true}
|
||||
{"name":"bg_don2_6a.png","date":"2023-01-24T19:02:14.563Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_6a.png","type":"image/png","size":65730,"imageWidth":491,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_6a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"px6n4uialSTfupPk"}
|
||||
{"uuid":"jcYcr8nVWF2htYj7","deleted":true}
|
||||
{"name":"bg_don2_5b.png","date":"2023-01-24T19:02:18.796Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_5b.png","type":"image/png","size":29019,"imageWidth":490,"imageHeight":310,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_5b.png","thumbnailWidth":330,"thumbnailHeight":209,"uuid":"MCt6kxTNXe31urMp"}
|
||||
{"uuid":"Q6wpEn2i2UNdUiIH","deleted":true}
|
||||
{"name":"bg_don2_5a.png","date":"2023-01-24T19:02:20.832Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_5a.png","type":"image/png","size":39200,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_5a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"qH66WzzvEN1OqIBp"}
|
||||
{"uuid":"jFCy7PBw7jdusQBk","deleted":true}
|
||||
{"name":"bg_don2_4b.png","date":"2023-01-24T19:02:22.715Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_4b.png","type":"image/png","size":38250,"imageWidth":489,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_4b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"xyKa4YV8dh6XTC1g"}
|
||||
{"uuid":"Nb83Q6KZtKGuTPru","deleted":true}
|
||||
{"name":"bg_don2_4a.png","date":"2023-01-24T19:02:25.429Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_4a.png","type":"image/png","size":54412,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_4a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"UG3HlDliwXVDAgVS"}
|
||||
{"uuid":"aZILJX4271erhLEs","deleted":true}
|
||||
{"name":"bg_don2_3b.png","date":"2023-01-24T19:02:28.585Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_3b.png","type":"image/png","size":48727,"imageWidth":492,"imageHeight":380,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_3b.png","thumbnailWidth":330,"thumbnailHeight":255,"uuid":"g2uxFstaGC5hzU8d"}
|
||||
{"uuid":"4pcCi0uu34DITskl","deleted":true}
|
||||
{"name":"bg_don2_3a.png","date":"2023-01-24T19:02:32.508Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_3a.png","type":"image/png","size":33624,"imageWidth":492,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_3a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"uCbX6CvSvZ31cYgH"}
|
||||
{"uuid":"6Qg2TSCZLEXo4HSn","deleted":true}
|
||||
{"name":"bg_don2_2b.png","date":"2023-01-24T19:02:38.021Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_2b.png","type":"image/png","size":74565,"imageWidth":494,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_2b.png","thumbnailWidth":330,"thumbnailHeight":214,"uuid":"99TWQzOOp0hLG561"}
|
||||
{"uuid":"Rymq8EyQzYJ1EOX4","deleted":true}
|
||||
{"name":"bg_don2_2a.png","date":"2023-01-24T19:02:38.941Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_2a.png","type":"image/png","size":5836,"imageWidth":41,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_2a.png","thumbnailWidth":41,"thumbnailHeight":276,"uuid":"DfDLDys2cFxrUjOk"}
|
||||
{"uuid":"vIrREOV18n4tgB4H","deleted":true}
|
||||
{"name":"bg_don2_1b.png","date":"2023-01-24T19:02:45.735Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_1b.png","type":"image/png","size":6658,"imageWidth":82,"imageHeight":295,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_1b.png","thumbnailWidth":82,"thumbnailHeight":295,"uuid":"X0BhZ5cmhDvdJj3D"}
|
||||
{"uuid":"af4wZaLUsOyIItQW","deleted":true}
|
||||
{"name":"bg_don_6b.png","date":"2023-01-24T19:02:49.494Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_6b.png","type":"image/png","size":57015,"imageWidth":491,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_6b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"rkQGj7JRDuPCKJhI"}
|
||||
{"uuid":"5FF1Y2pg3UUJb10M","deleted":true}
|
||||
{"name":"bg_don_6a.png","date":"2023-01-24T19:02:51.788Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_6a.png","type":"image/png","size":69233,"imageWidth":491,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_6a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"qByhbTJoH1aHoDVM"}
|
||||
{"uuid":"uAA4sWKYlR6yWIA0","deleted":true}
|
||||
{"name":"bg_don_5b.png","date":"2023-01-24T19:02:53.519Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_5b.png","type":"image/png","size":28787,"imageWidth":490,"imageHeight":310,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_5b.png","thumbnailWidth":330,"thumbnailHeight":209,"uuid":"mor4yOBdUSy26b5Y"}
|
||||
{"uuid":"C1C7SnET3OnQquit","deleted":true}
|
||||
{"name":"bg_don_5a.png","date":"2023-01-24T19:02:55.433Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_5a.png","type":"image/png","size":33661,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_5a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"nOF4qZS8QoC1wzbS"}
|
||||
{"uuid":"BGmLHNfN9sYgsAVy","deleted":true}
|
||||
{"name":"bg_don_4b.png","date":"2023-01-24T19:02:59.564Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_4b.png","type":"image/png","size":37069,"imageWidth":489,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_4b.png","thumbnailWidth":330,"thumbnailHeight":216,"uuid":"FcbUQHiQOrRbSL5c"}
|
||||
{"uuid":"dDABNypEwqcFfFvh","deleted":true}
|
||||
{"name":"bg_don_4a.png","date":"2023-01-24T19:03:03.787Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_4a.png","type":"image/png","size":54710,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_4a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"wwgafeVwBu73vWOK"}
|
||||
{"uuid":"tgmOJnIhjdQvzwSA","deleted":true}
|
||||
{"name":"bg_don_3b.png","date":"2023-01-24T19:03:06.052Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_3b.png","type":"image/png","size":49344,"imageWidth":492,"imageHeight":380,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_3b.png","thumbnailWidth":330,"thumbnailHeight":255,"uuid":"riYDFwOeoqkGU54m"}
|
||||
{"uuid":"Xr5ddAFFEkRBcof8","deleted":true}
|
||||
{"name":"bg_don_3a.png","date":"2023-01-24T19:03:08.046Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_3a.png","type":"image/png","size":33278,"imageWidth":492,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_3a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"xag3qELYjOE7qlCp"}
|
||||
{"uuid":"BKebRsMxfHhRaNbH","deleted":true}
|
||||
{"name":"bg_don_2b.png","date":"2023-01-24T19:03:10.437Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_2b.png","type":"image/png","size":72600,"imageWidth":494,"imageHeight":320,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_2b.png","thumbnailWidth":330,"thumbnailHeight":214,"uuid":"MmYoArnvddsSbjj8"}
|
||||
{"uuid":"0pPe1wMh4fna2QCa","deleted":true}
|
||||
{"name":"bg_don_2a.png","date":"2023-01-24T19:03:11.203Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_2a.png","type":"image/png","size":4986,"imageWidth":41,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_2a.png","thumbnailWidth":41,"thumbnailHeight":276,"uuid":"gU1C9FZ5qQbfRzr0"}
|
||||
{"uuid":"tuYK1XfDh4q1GxQL","deleted":true}
|
||||
{"name":"bg_don_1b.png","date":"2023-01-24T19:03:12.116Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_1b.png","type":"image/png","size":5341,"imageWidth":82,"imageHeight":295,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_1b.png","thumbnailWidth":82,"thumbnailHeight":295,"uuid":"lJIWHfiMlzNllpMa"}
|
||||
{"uuid":"34fAfKQFOvx02WtI","deleted":true}
|
||||
{"name":"bg_don_1a.png","date":"2023-01-24T19:03:14.923Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don_1a.png","type":"image/png","size":78522,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don_1a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"CtN6FzIbFj2G38PS"}
|
||||
{"uuid":"L21dLj9k6e3iL3ov","deleted":true}
|
||||
{"name":"bg_don2_1a.png","date":"2023-01-24T19:03:16.594Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_don2_1a.png","type":"image/png","size":72698,"imageWidth":490,"imageHeight":276,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_don2_1a.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"tuoXuZ40E9uNyMZG"}
|
||||
{"uuid":"I7Cn2Im0bEgmUL5N","deleted":true}
|
||||
{"name":"bg_stage_3.png","date":"2023-01-24T19:03:18.452Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_stage_3.png","type":"image/png","size":8397,"imageWidth":458,"imageHeight":44,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_stage_3.png","thumbnailWidth":330,"thumbnailHeight":32,"uuid":"gGSNsbecGGUCBqa8"}
|
||||
{"uuid":"xczNLSyLHlAhyOnJ","deleted":true}
|
||||
{"name":"bg_stage_2.png","date":"2023-01-24T19:03:19.443Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_stage_2.png","type":"image/png","size":4607,"imageWidth":254,"imageHeight":44,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_stage_2.png","thumbnailWidth":254,"thumbnailHeight":44,"uuid":"6Tc7oDmHgH1XkF4o"}
|
||||
{"uuid":"EiZopBqbEEIIsZA0","deleted":true}
|
||||
{"name":"bg_stage_1.png","date":"2023-01-24T19:03:20.419Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_stage_1.png","type":"image/png","size":351,"imageWidth":66,"imageHeight":44,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_stage_1.png","thumbnailWidth":66,"thumbnailHeight":44,"uuid":"xuw0UV9yVzGGU19U"}
|
||||
{"uuid":"fv2tlSTRAZJlNNCY","deleted":true}
|
||||
{"name":"bg_song_5b.png","date":"2023-01-24T19:03:23.123Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_5b.png","type":"image/png","size":143848,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_5b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"pIlOoYyhVwPq50c8"}
|
||||
{"uuid":"sllLEMlfwsMs8rUm","deleted":true}
|
||||
{"name":"bg_song_5a.png","date":"2023-01-24T19:03:25.912Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_5a.png","type":"image/png","size":664932,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_5a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"fSbQHwniL0WVhcah"}
|
||||
{"uuid":"EdIhs6uIGRDYjc99","deleted":true}
|
||||
{"name":"bg_song_4b.png","date":"2023-01-24T19:03:27.833Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_4b.png","type":"image/png","size":17309,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_4b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"x02CkCDA4DabapQw"}
|
||||
{"uuid":"GhekflazY5wJn0EF","deleted":true}
|
||||
{"name":"bg_song_4a.png","date":"2023-01-24T19:03:29.754Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_4a.png","type":"image/png","size":515648,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_4a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"fb7H3fAVk7D21Li5"}
|
||||
{"uuid":"6LchsODDloj9FxPu","deleted":true}
|
||||
{"name":"bg_song_3b.png","date":"2023-01-24T19:03:32.048Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_3b.png","type":"image/png","size":200501,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_3b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"gWoCq7NpbRxpmSBA"}
|
||||
{"uuid":"2LVrf2AL4kp1paBy","deleted":true}
|
||||
{"name":"bg_song_3a.png","date":"2023-01-24T19:03:35.284Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_3a.png","type":"image/png","size":1120556,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_3a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"xsKSifSOoS8hX0B2"}
|
||||
{"uuid":"eIO1whSOW7R3foyC","deleted":true}
|
||||
{"name":"bg_song_2b.png","date":"2023-01-24T19:03:39.622Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_2b.png","type":"image/png","size":177030,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_2b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"mmJ9XVq2edSL9azd"}
|
||||
{"uuid":"yQmPJqt43K2MD8Oz","deleted":true}
|
||||
{"name":"bg_song_2a.png","date":"2023-01-24T19:03:42.138Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_2a.png","type":"image/png","size":925410,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_2a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"Iqg6ObpZ0CyXfCe6"}
|
||||
{"uuid":"E7uAIbQ2UFmttxBn","deleted":true}
|
||||
{"name":"bg_song_1b.png","date":"2023-01-24T19:03:43.941Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_1b.png","type":"image/png","size":139289,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_1b.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"Vow882eX1UmUGSfk"}
|
||||
{"uuid":"WXg85hz481jzpARe","deleted":true}
|
||||
{"name":"bg_song_1a.png","date":"2023-01-24T19:03:46.139Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_song_1a.png","type":"image/png","size":738901,"imageWidth":1920,"imageHeight":540,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_song_1a.png","thumbnailWidth":330,"thumbnailHeight":93,"uuid":"BIGpVmlDRS1SENsl"}
|
||||
{"uuid":"28rzEHiZZorDUPcM","deleted":true}
|
||||
{"name":"mimizu.png","date":"2023-01-24T19:03:46.915Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/mimizu.png","type":"image/png","size":10913,"imageWidth":136,"imageHeight":315,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/mimizu.png","thumbnailWidth":136,"thumbnailHeight":315,"uuid":"Y6yKzsgTWQif1161"}
|
||||
{"uuid":"xMURB8AA9Wp0IsFg","deleted":true}
|
||||
{"name":"bg_pause.png","date":"2023-01-24T19:03:48.260Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_pause.png","type":"image/png","size":3801,"imageWidth":104,"imageHeight":180,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_pause.png","thumbnailWidth":104,"thumbnailHeight":180,"uuid":"MswmwUXheJL8Tj38"}
|
||||
{"uuid":"G5neeoQIKf3n51AX","deleted":true}
|
||||
{"name":"bg_settings.png","date":"2023-01-24T19:03:50.395Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_settings.png","type":"image/png","size":51028,"imageWidth":512,"imageHeight":435,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_settings.png","thumbnailWidth":330,"thumbnailHeight":281,"uuid":"gvBgTrpRyg69mxMp"}
|
||||
{"uuid":"ypgvmCwIObatEq5A","deleted":true}
|
||||
{"name":"Kozuka.otf","date":"2023-01-24T19:03:52.737Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Kozuka.otf","type":"application/vnd.oasis.opendocument.formula-template","size":20528,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FKozuka.otf","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"IOhNoL0zrL3OCTix"}
|
||||
{"uuid":"4IKnbuB5z0dNSZ6X","deleted":true}
|
||||
{"name":"taiko.png","date":"2023-01-24T19:03:55.385Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/taiko.png","type":"image/png","size":13900,"imageWidth":138,"imageHeight":810,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftaiko.png","thumbnailWidth":57,"thumbnailHeight":330,"uuid":"VLd6Ovf788lV1yri"}
|
||||
{"uuid":"JZjbL0AHOCAENUDu","deleted":true}
|
||||
{"name":"notes.png","date":"2023-01-24T19:03:58.019Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/notes.png","type":"image/png","size":34073,"imageWidth":172,"imageHeight":688,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fnotes.png","thumbnailWidth":83,"thumbnailHeight":330,"uuid":"Cjc1wuxIMkNYe81u"}
|
||||
{"uuid":"Hizh0jGS1wfLhiYi","deleted":true}
|
||||
{"name":"notes_hit.png","date":"2023-01-24T19:04:00.204Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/notes_hit.png","type":"image/png","size":41498,"imageWidth":128,"imageHeight":512,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fnotes_hit.png","thumbnailWidth":83,"thumbnailHeight":330,"uuid":"oAlpkXS0W6FDv07u"}
|
||||
{"uuid":"zCCfw5sZbK8lrit8","deleted":true}
|
||||
{"name":"notes_drumroll.png","date":"2023-01-24T19:04:02.108Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/notes_drumroll.png","type":"image/png","size":25624,"imageWidth":172,"imageHeight":688,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fnotes_drumroll.png","thumbnailWidth":83,"thumbnailHeight":330,"uuid":"xwVEkVU9u3zhW4Zt"}
|
||||
{"name":"drum.png","date":"2023-01-24T19:04:04.312Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/drum.png","type":"image/png","size":13900,"imageWidth":138,"imageHeight":810,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fdrum.png","thumbnailWidth":57,"thumbnailHeight":330,"uuid":"QgbslZ5fpIML55Hm"}
|
||||
{"uuid":"Z9z7QNKMIA9oAqMQ","deleted":true}
|
||||
{"name":"touch_pause.png","date":"2023-01-24T19:04:04.679Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/touch_pause.png","type":"image/png","size":659,"imageWidth":75,"imageHeight":75,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/touch_pause.png","thumbnailWidth":75,"thumbnailHeight":75,"uuid":"NfSFI5Uid7ejL1Ds"}
|
||||
{"uuid":"LzhpZEAyzAPvXNqS","deleted":true}
|
||||
{"name":"touch_fullscreen.png","date":"2023-01-24T19:04:05.660Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/touch_fullscreen.png","type":"image/png","size":667,"imageWidth":75,"imageHeight":75,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/touch_fullscreen.png","thumbnailWidth":75,"thumbnailHeight":75,"uuid":"tHW5lmJIXc6CTmk5"}
|
||||
{"uuid":"A0bVAfYglhnX4JjX","deleted":true}
|
||||
{"name":"touch_drum.png","date":"2023-01-24T19:04:07.414Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/touch_drum.png","type":"image/png","size":19937,"imageWidth":842,"imageHeight":436,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftouch_drum.png","thumbnailWidth":330,"thumbnailHeight":171,"uuid":"VyaGBiE2t00k76n3"}
|
||||
{"uuid":"6lEQJC7JkCKpMhp3","deleted":true}
|
||||
{"name":"bg_score_p2.png","date":"2023-01-24T19:04:08.365Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_score_p2.png","type":"image/png","size":11475,"imageWidth":256,"imageHeight":108,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_score_p2.png","thumbnailWidth":256,"thumbnailHeight":108,"uuid":"X51ejWXr1c5QXUKk"}
|
||||
{"uuid":"lnobOZ23aAl21oBh","deleted":true}
|
||||
{"name":"bg_score_p1.png","date":"2023-01-24T19:04:08.985Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_score_p1.png","type":"image/png","size":11713,"imageWidth":256,"imageHeight":108,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_score_p1.png","thumbnailWidth":256,"thumbnailHeight":108,"uuid":"bE6jQKwXrjWgwMwi"}
|
||||
{"uuid":"AOc4cKfcb1yDCXsF","deleted":true}
|
||||
{"name":"bg_genre_def.png","date":"2023-01-24T19:04:11.101Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_def.png","type":"image/png","size":135405,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_def.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"w27WnO7t0FDwftCr"}
|
||||
{"name":"bg_genre_7.png","date":"2023-01-24T19:04:13.009Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_7.png","type":"image/png","size":135405,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_7.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"B4I7JA3jAKPl1RMl"}
|
||||
{"uuid":"aReEu35AYwa7MOcf","deleted":true}
|
||||
{"name":"bg_genre_6.png","date":"2023-01-24T19:04:14.480Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_6.png","type":"image/png","size":79573,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_6.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"Mg5UZtDf29PVjJUw"}
|
||||
{"uuid":"oInweInFHCiw1n8i","deleted":true}
|
||||
{"name":"bg_genre_5.png","date":"2023-01-24T19:04:16.700Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_5.png","type":"image/png","size":92806,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_5.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"LE5RSaKz7sQKcXuB"}
|
||||
{"uuid":"98Nb0kiCvxEft6YN","deleted":true}
|
||||
{"name":"bg_genre_4.png","date":"2023-01-24T19:04:18.993Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_4.png","type":"image/png","size":90609,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_4.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"BBqb4M0TrxAbQAPV"}
|
||||
{"uuid":"DSSoWLv8TB4y4Q8d","deleted":true}
|
||||
{"name":"bg_genre_3.png","date":"2023-01-24T19:04:21.156Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_3.png","type":"image/png","size":105719,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_3.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"ReKyF5sVLRwFKeFS"}
|
||||
{"uuid":"ciguwYsWpBR7goGm","deleted":true}
|
||||
{"name":"bg_genre_2.png","date":"2023-01-24T19:04:23.373Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_2.png","type":"image/png","size":84405,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_2.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"XwbCA5XrSe0lOlqO"}
|
||||
{"uuid":"nCXo0WAYkblWDMya","deleted":true}
|
||||
{"name":"bg_genre_1.png","date":"2023-01-24T19:04:25.569Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_1.png","type":"image/png","size":88084,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_1.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"FQs4Irb3IXfjaQOc"}
|
||||
{"uuid":"8e4Vb9Avcy7rgrlR","deleted":true}
|
||||
{"name":"bg_genre_0.png","date":"2023-01-24T19:04:27.629Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg_genre_0.png","type":"image/png","size":118999,"imageWidth":512,"imageHeight":720,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Fbg_genre_0.png","thumbnailWidth":235,"thumbnailHeight":330,"uuid":"Fbgn6lWkudmQ1OKX"}
|
||||
{"uuid":"bMsL2zoshVhyTDuX","deleted":true}
|
||||
{"name":"fireworks_anim.png","date":"2023-01-24T19:04:29.718Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/fireworks_anim.png","type":"image/png","size":1057821,"imageWidth":1840,"imageHeight":1840,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ffireworks_anim.png","thumbnailWidth":330,"thumbnailHeight":330,"uuid":"X2nXtsRcm29xO2ho"}
|
||||
{"uuid":"hnBrxlOWimOZm154","deleted":true}
|
||||
{"name":"fire_anim.png","date":"2023-01-24T19:04:31.456Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/fire_anim.png","type":"image/png","size":95905,"imageWidth":2520,"imageHeight":370,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ffire_anim.png","thumbnailWidth":330,"thumbnailHeight":49,"uuid":"Sy1E4CDCdWQnrDlj"}
|
||||
{"uuid":"RNYQfAXKHUAIHPL7","deleted":true}
|
||||
{"name":"balloon.png","date":"2023-01-24T19:04:32.046Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/balloon.png","type":"image/png","size":1691,"imageWidth":115,"imageHeight":61,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/balloon.png","thumbnailWidth":115,"thumbnailHeight":61,"uuid":"dmC3XChKv75BKyKH"}
|
||||
{"uuid":"KXc5yhn876TOmAIV","deleted":true}
|
||||
{"name":"title-screen.png","date":"2023-01-24T19:04:34.707Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.png","type":"image/png","size":1088903,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftitle-screen.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"5CYUCkW0kuJ9gHxw"}
|
||||
{"uuid":"rYaI4BEIu6Wb7EGV","deleted":true}
|
||||
{"name":"dancing-don.gif","date":"2023-01-24T19:04:35.738Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/dancing-don.gif","type":"image/gif","size":5433,"imageWidth":120,"imageHeight":115,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/dancing-don.gif","thumbnailWidth":120,"thumbnailHeight":115,"uuid":"D2N2JPwG3szf7VGf"}
|
||||
{"uuid":"bZY2KJ4OJyQlvzKj","deleted":true}
|
||||
{"name":"bg-pattern-1.png","date":"2023-01-24T19:04:36.954Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg-pattern-1.png","type":"image/png","size":13634,"imageWidth":200,"imageHeight":200,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/bg-pattern-1.png","thumbnailWidth":200,"thumbnailHeight":200,"uuid":"h7ffulOZVQgWSeoT"}
|
||||
{"uuid":"3YFbqMSuX7T3G8LY","deleted":true}
|
||||
{"uuid":"uD8NPPgi7SoVG60E","deleted":true}
|
||||
{"uuid":"xOUTPuUG2puEBduY","deleted":true}
|
||||
{"uuid":"kdBU0jpfO99MNhHh","deleted":true}
|
||||
{"uuid":"YxuzWqEGWj4DKmeq","deleted":true}
|
||||
{"uuid":"XoQbHoADUmCQCu33","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T19:54:08.743Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"x9BCK0PYtvygiUGR"}
|
||||
{"uuid":"x9BCK0PYtvygiUGR","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T19:55:18.635Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"PN2b8ImXl3KMcCqL"}
|
||||
{"uuid":"PN2b8ImXl3KMcCqL","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T19:56:51.874Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"a17xvUO7ilTIAl9C"}
|
||||
{"uuid":"a17xvUO7ilTIAl9C","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T20:37:43.479Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"U9RlI793hGPDUfST"}
|
||||
{"uuid":"U9RlI793hGPDUfST","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.ogg","date":"2023-01-24T20:39:00.612Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0PNeW3VGqbZ4CyCF"}
|
||||
{"uuid":"0PNeW3VGqbZ4CyCF","deleted":true}
|
||||
{"name":"2.ogg","date":"2023-01-24T20:39:00.612Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/2.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0PNeW3VGqbZ4CyCF"}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T20:40:49.919Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"T4mR4ntzEypfhyXh"}
|
||||
{"uuid":"T4mR4ntzEypfhyXh","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T20:42:32.449Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"LGztBf1AWLCyT0Ej"}
|
||||
{"uuid":"LGztBf1AWLCyT0Ej","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T20:44:57.221Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"53TWGFyVH485znP4"}
|
||||
{"uuid":"53TWGFyVH485znP4","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T20:46:04.750Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"lkfnTT4J8NlvKubd"}
|
||||
{"uuid":"lkfnTT4J8NlvKubd","deleted":true}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.tja","date":"2023-01-24T20:47:57.642Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","type":"","size":5022,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.tja","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"3YWZiK68gCcbl2mQ"}
|
||||
{"uuid":"3YWZiK68gCcbl2mQ","deleted":true}
|
||||
{"uuid":"0PNeW3VGqbZ4CyCF","deleted":true}
|
||||
{"name":"1.ogg","date":"2023-01-24T20:39:00.612Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/1.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0PNeW3VGqbZ4CyCF"}
|
||||
{"name":"PoPiPo.ogg","date":"2023-01-24T21:53:26.821Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/PoPiPo.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"I4ctO97ENbNCRefR"}
|
||||
{"uuid":"I4ctO97ENbNCRefR","deleted":true}
|
||||
{"name":"2.ogg","date":"2023-01-24T21:53:26.821Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/2.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"I4ctO97ENbNCRefR"}
|
||||
{"uuid":"0PNeW3VGqbZ4CyCF","deleted":true}
|
||||
{"name":"122.ogg","date":"2023-01-24T20:39:00.612Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/122.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0PNeW3VGqbZ4CyCF"}
|
||||
{"uuid":"I4ctO97ENbNCRefR","deleted":true}
|
||||
{"name":"1.ogg","date":"2023-01-24T21:53:26.821Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/1.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"I4ctO97ENbNCRefR"}
|
||||
{"uuid":"0PNeW3VGqbZ4CyCF","deleted":true}
|
||||
{"name":"2.ogg","date":"2023-01-24T20:39:00.612Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/2.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"0PNeW3VGqbZ4CyCF"}
|
||||
{"uuid":"I4ctO97ENbNCRefR","deleted":true}
|
||||
{"uuid":"0PNeW3VGqbZ4CyCF","deleted":true}
|
||||
{"name":"PoPiPo.ogg","date":"2023-01-24T22:01:36.395Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/PoPiPo.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"9t9dMBT88J9Sn83i"}
|
||||
{"uuid":"9t9dMBT88J9Sn83i","deleted":true}
|
||||
{"name":"2.ogg","date":"2023-01-24T22:01:36.395Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/2.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"9t9dMBT88J9Sn83i"}
|
||||
{"name":"The Disappearance of Hatsune Miku -DEAD END-.ogg","date":"2023-01-24T22:02:03.603Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/The%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"fsOtR4Km8EqAHuMv"}
|
||||
{"uuid":"fsOtR4Km8EqAHuMv","deleted":true}
|
||||
{"name":"1.ogg","date":"2023-01-24T22:02:03.603Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/1.ogg","type":"audio/ogg","size":6106850,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FThe%20Disappearance%20of%20Hatsune%20Miku%20-DEAD%20END-.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"fsOtR4Km8EqAHuMv"}
|
||||
{"uuid":"9t9dMBT88J9Sn83i","deleted":true}
|
||||
{"name":"PoPiPo.ogg","date":"2023-01-24T22:16:08.596Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/PoPiPo.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"jRkr9zeTmsKFyW79"}
|
||||
{"uuid":"jRkr9zeTmsKFyW79","deleted":true}
|
||||
{"name":"2.ogg","date":"2023-01-24T22:16:08.596Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/2.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"jRkr9zeTmsKFyW79"}
|
||||
{"uuid":"jRkr9zeTmsKFyW79","deleted":true}
|
||||
{"name":"PoPiPo.ogg","date":"2023-01-24T22:22:40.438Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/PoPiPo.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"I1gQt6JaU4xpIQvm"}
|
||||
{"uuid":"I1gQt6JaU4xpIQvm","deleted":true}
|
||||
{"name":"2.ogg","date":"2023-01-24T22:22:40.438Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/2.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"I1gQt6JaU4xpIQvm"}
|
||||
{"uuid":"mRvWBVc6NqmPTioj","deleted":true}
|
||||
{"uuid":"I1gQt6JaU4xpIQvm","deleted":true}
|
||||
{"name":"3.ogg","date":"2023-01-24T22:22:40.438Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/3.ogg","type":"audio/ogg","size":1596414,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FPoPiPo.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"I1gQt6JaU4xpIQvm"}
|
||||
{"name":"Deep Sea Girl.ogg","date":"2023-01-24T22:53:01.244Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Deep%20Sea%20Girl.ogg","type":"audio/ogg","size":2723826,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FDeep%20Sea%20Girl.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"dWPOnnkUCVVekOSq"}
|
||||
{"uuid":"dWPOnnkUCVVekOSq","deleted":true}
|
||||
{"name":"4.ogg","date":"2023-01-24T22:53:01.244Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/4.ogg","type":"audio/ogg","size":2723826,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FDeep%20Sea%20Girl.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"dWPOnnkUCVVekOSq"}
|
||||
{"name":"Last Goodbye.ogg","date":"2023-01-24T23:06:53.176Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Last%20Goodbye.ogg","type":"audio/ogg","size":2464501,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FLast%20Goodbye.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mwF2SZefoLRLbCmJ"}
|
||||
{"uuid":"mwF2SZefoLRLbCmJ","deleted":true}
|
||||
{"name":"5.ogg","date":"2023-01-24T23:06:53.176Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/5.ogg","type":"audio/ogg","size":2464501,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FLast%20Goodbye.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"mwF2SZefoLRLbCmJ"}
|
||||
{"name":"audio.mp3","date":"2023-01-24T23:49:05.772Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/audio.mp3","type":"audio/mpeg","size":1601270,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Faudio.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"yfVSYjW4z0EutCsi"}
|
||||
{"uuid":"yfVSYjW4z0EutCsi","deleted":true}
|
||||
{"name":"6.mp3","date":"2023-01-24T23:49:05.772Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/6.mp3","type":"audio/mpeg","size":1601270,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Faudio.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"yfVSYjW4z0EutCsi"}
|
||||
{"uuid":"yfVSYjW4z0EutCsi","deleted":true}
|
||||
{"name":"6.ogg","date":"2023-01-24T23:49:05.772Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/6.ogg","type":"audio/mpeg","size":1601270,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Faudio.mp3","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"yfVSYjW4z0EutCsi"}
|
||||
{"name":"Super Smash Bros. Brawl Main Theme.ogg","date":"2023-01-25T01:19:38.196Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Super%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","type":"audio/ogg","size":5476032,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSuper%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"7ZK1K4YjvdbX1MTP"}
|
||||
{"uuid":"7ZK1K4YjvdbX1MTP","deleted":true}
|
||||
{"name":"6.ogg","date":"2023-01-25T01:19:38.196Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/6.ogg","type":"audio/ogg","size":5476032,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSuper%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"7ZK1K4YjvdbX1MTP"}
|
||||
{"uuid":"yfVSYjW4z0EutCsi","deleted":true}
|
||||
{"uuid":"7ZK1K4YjvdbX1MTP","deleted":true}
|
||||
{"name":"Super Smash Bros. Brawl Main Theme.ogg","date":"2023-01-25T01:26:02.382Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Super%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","type":"audio/ogg","size":5476032,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSuper%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"NeLmGikEYtVSMCyP"}
|
||||
{"uuid":"NeLmGikEYtVSMCyP","deleted":true}
|
||||
{"name":"6.ogg","date":"2023-01-25T01:26:02.382Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/6.ogg","type":"audio/ogg","size":5476032,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSuper%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"NeLmGikEYtVSMCyP"}
|
||||
{"uuid":"NeLmGikEYtVSMCyP","deleted":true}
|
||||
{"name":"7.ogg","date":"2023-01-25T01:26:02.382Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/7.ogg","type":"audio/ogg","size":5476032,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSuper%20Smash%20Bros.%20Brawl%20Main%20Theme.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"NeLmGikEYtVSMCyP"}
|
||||
{"uuid":"5CYUCkW0kuJ9gHxw","deleted":true}
|
||||
{"name":"title-screen.png","date":"2023-01-25T01:59:57.774Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.png","type":"image/png","size":1726404,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftitle-screen.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"nTKo9XtkPiLMwfk6"}
|
||||
{"uuid":"1NwwkFHZg3aXsrJY","deleted":true}
|
||||
{"name":"title-screen.jpg","date":"2023-01-25T02:01:42.704Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.jpg","type":"image/jpeg","size":1726404,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftitle-screen.jpg","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"8zPYyxBU4SVoCIih"}
|
||||
{"uuid":"8zPYyxBU4SVoCIih","deleted":true}
|
||||
{"uuid":"nTKo9XtkPiLMwfk6","deleted":true}
|
||||
{"name":"Safeimagekit-resized-img.png","date":"2023-01-25T02:08:27.951Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Safeimagekit-resized-img.png","type":"image/png","size":3141816,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSafeimagekit-resized-img.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"MChFxe4qbnb8Cqhc"}
|
||||
{"uuid":"MChFxe4qbnb8Cqhc","deleted":true}
|
||||
{"name":"title-screen.png","date":"2023-01-25T02:08:27.951Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.png","type":"image/png","size":3141816,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSafeimagekit-resized-img.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"MChFxe4qbnb8Cqhc"}
|
||||
{"name":"Cirno's Perfect Math Class.ogg","date":"2023-01-25T02:11:19.606Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Cirno's%20Perfect%20Math%20Class.ogg","type":"audio/ogg","size":15301784,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FCirno's%20Perfect%20Math%20Class.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"1AdioF3MxQ1AY8Z2"}
|
||||
{"uuid":"1AdioF3MxQ1AY8Z2","deleted":true}
|
||||
{"name":"8.ogg","date":"2023-01-25T02:11:19.606Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/8.ogg","type":"audio/ogg","size":15301784,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FCirno's%20Perfect%20Math%20Class.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"1AdioF3MxQ1AY8Z2"}
|
||||
{"name":"Brinstar (Melee).ogg","date":"2023-01-25T02:48:16.106Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Brinstar%20(Melee).ogg","type":"audio/ogg","size":1342631,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FBrinstar%20(Melee).ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"iyQfws9DmRI6Tq2y"}
|
||||
{"uuid":"iyQfws9DmRI6Tq2y","deleted":true}
|
||||
{"name":"9.ogg","date":"2023-01-25T02:48:16.106Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/9.ogg","type":"audio/ogg","size":1342631,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FBrinstar%20(Melee).ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"iyQfws9DmRI6Tq2y"}
|
||||
{"name":"INTERSTELLA 5555.ogg","date":"2023-01-25T03:09:13.149Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/INTERSTELLA%205555.ogg","type":"audio/ogg","size":29336019,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FINTERSTELLA%205555.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"E3QIGy6mmx2wsc3Y"}
|
||||
{"uuid":"E3QIGy6mmx2wsc3Y","deleted":true}
|
||||
{"name":"10.ogg","date":"2023-01-25T03:09:13.149Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/10.ogg","type":"audio/ogg","size":29336019,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FINTERSTELLA%205555.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"E3QIGy6mmx2wsc3Y"}
|
||||
{"uuid":"E3QIGy6mmx2wsc3Y","deleted":true}
|
||||
{"name":"FREEDOM D↓VE.ogg","date":"2023-01-25T04:08:34.251Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/FREEDOM%20D%E2%86%93VE.ogg","type":"audio/ogg","size":4212493,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FFREEDOM%20D%E2%86%93VE.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"sBSgKdsenBHBmgnL"}
|
||||
{"uuid":"sBSgKdsenBHBmgnL","deleted":true}
|
||||
{"name":"10.ogg","date":"2023-01-25T04:08:34.251Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/10.ogg","type":"audio/ogg","size":4212493,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FFREEDOM%20D%E2%86%93VE.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"sBSgKdsenBHBmgnL"}
|
||||
{"name":"Good time.ogg","date":"2023-01-25T17:50:45.414Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Good%20time.ogg","type":"audio/ogg","size":2091498,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FGood%20time.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"djaw6t8x1Fbd9u09"}
|
||||
{"uuid":"djaw6t8x1Fbd9u09","deleted":true}
|
||||
{"name":"11.ogg","date":"2023-01-25T17:50:45.414Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/11.ogg","type":"audio/ogg","size":2091498,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FGood%20time.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"djaw6t8x1Fbd9u09"}
|
||||
{"name":"Mottai Night Land.ogg","date":"2023-01-25T18:12:21.477Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Mottai%20Night%20Land.ogg","type":"audio/ogg","size":3751157,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FMottai%20Night%20Land.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"HyugLBxLA72Q8d8I"}
|
||||
{"uuid":"HyugLBxLA72Q8d8I","deleted":true}
|
||||
{"name":"13.ogg","date":"2023-01-25T18:12:21.477Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/13.ogg","type":"audio/ogg","size":3751157,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FMottai%20Night%20Land.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"HyugLBxLA72Q8d8I"}
|
||||
{"name":"Nekozilla.ogg","date":"2023-01-25T18:12:59.119Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Nekozilla.ogg","type":"audio/ogg","size":2396590,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FNekozilla.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"KP5sTb5XAdn1rycY"}
|
||||
{"uuid":"KP5sTb5XAdn1rycY","deleted":true}
|
||||
{"name":"12.ogg","date":"2023-01-25T18:12:59.119Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/12.ogg","type":"audio/ogg","size":2396590,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FNekozilla.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"KP5sTb5XAdn1rycY"}
|
||||
{"name":"Deja Vu.ogg","date":"2023-01-26T17:47:09.780Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Deja%20Vu.ogg","type":"audio/ogg","size":1872527,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FDeja%20Vu.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Fv2oxqGo2xVrvNL9"}
|
||||
{"uuid":"Fv2oxqGo2xVrvNL9","deleted":true}
|
||||
{"name":"14.ogg","date":"2023-01-26T17:47:09.780Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/14.ogg","type":"audio/ogg","size":1872527,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FDeja%20Vu.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Fv2oxqGo2xVrvNL9"}
|
||||
{"name":"Sky High.ogg","date":"2023-01-26T19:22:15.750Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Sky%20High.ogg","type":"audio/ogg","size":571015,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSky%20High.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"dC1qpAdpXyQT7ORT"}
|
||||
{"uuid":"dC1qpAdpXyQT7ORT","deleted":true}
|
||||
{"name":"15.ogg","date":"2023-01-26T19:22:15.750Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/15.ogg","type":"audio/ogg","size":571015,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSky%20High.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"dC1qpAdpXyQT7ORT"}
|
||||
{"name":"Brinstar (Melee).ogg","date":"2023-01-26T19:33:36.043Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/Brinstar%20(Melee).ogg","type":"audio/ogg","size":1342631,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FBrinstar%20(Melee).ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"VcXJYwTtgSMqIgIz"}
|
||||
{"uuid":"VcXJYwTtgSMqIgIz","deleted":true}
|
||||
{"name":"16.ogg","date":"2023-01-26T19:33:36.043Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/16.ogg","type":"audio/ogg","size":1342631,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FBrinstar%20(Melee).ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"VcXJYwTtgSMqIgIz"}
|
||||
{"uuid":"MChFxe4qbnb8Cqhc","deleted":true}
|
||||
{"name":"title-screen.jpg","date":"2023-01-31T17:48:14.742Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.jpg","type":"image/jpeg","size":1726404,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftitle-screen.jpg","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"T8jn2gKCtilEi50P"}
|
||||
{"uuid":"T8jn2gKCtilEi50P","deleted":true}
|
||||
{"name":"title-screen.png","date":"2023-02-09T03:53:34.411Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/title-screen.png","type":"image/png","size":2418878,"imageWidth":1920,"imageHeight":1080,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2Ftitle-screen.png","thumbnailWidth":330,"thumbnailHeight":186,"uuid":"4hFGbbBgeWvAIaPu"}
|
||||
{"name":"LECIEL GLISSANDO.ogg","date":"2023-02-09T04:26:53.091Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/LECIEL%20GLISSANDO.ogg","type":"audio/ogg","size":7984228,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FLECIEL%20GLISSANDO.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Yzi3KlzTgoHpj6Zs"}
|
||||
{"uuid":"Yzi3KlzTgoHpj6Zs","deleted":true}
|
||||
{"name":"18.ogg","date":"2023-02-09T04:26:53.091Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/18.ogg","type":"audio/ogg","size":7984228,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FLECIEL%20GLISSANDO.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"Yzi3KlzTgoHpj6Zs"}
|
||||
{"name":"SAVE the World.ogg","date":"2023-02-13T18:25:49.345Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/SAVE%20the%20World.ogg","type":"audio/ogg","size":2158183,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSAVE%20the%20World.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"RXOcUtHvR1Zm4W1P"}
|
||||
{"uuid":"RXOcUtHvR1Zm4W1P","deleted":true}
|
||||
{"name":"19.ogg","date":"2023-02-13T18:25:49.345Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/19.ogg","type":"audio/ogg","size":2158183,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FSAVE%20the%20World.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"RXOcUtHvR1Zm4W1P"}
|
||||
{"name":"U.N. Owen was Her.ogg","date":"2023-03-04T01:51:39.804Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/U.N.%20Owen%20was%20Her.ogg","type":"audio/ogg","size":2614035,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FU.N.%20Owen%20was%20Her.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"2GCmT8KHCbxVSgNn"}
|
||||
{"uuid":"2GCmT8KHCbxVSgNn","deleted":true}
|
||||
{"name":"20.ogg","date":"2023-03-04T01:51:39.804Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/20.ogg","type":"audio/ogg","size":2614035,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/thumbnails%2FU.N.%20Owen%20was%20Her.ogg","thumbnailWidth":210,"thumbnailHeight":210,"uuid":"2GCmT8KHCbxVSgNn"}
|
||||
{"name":"favicon.ico","date":"2023-09-01T01:30:04.985Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.ico","type":"image/vnd.microsoft.icon","size":15406,"imageWidth":48,"imageHeight":48,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.ico","thumbnailWidth":48,"thumbnailHeight":48,"uuid":"qd4f8c0Ksq9ytR8s"}
|
||||
{"uuid":"qd4f8c0Ksq9ytR8s","deleted":true}
|
||||
{"name":"favicon.ico","date":"2023-09-01T02:13:40.768Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.ico","type":"image/vnd.microsoft.icon","size":15406,"imageWidth":48,"imageHeight":48,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.ico","thumbnailWidth":48,"thumbnailHeight":48,"uuid":"GekSIMw1pWJEt6tA"}
|
||||
{"uuid":"GekSIMw1pWJEt6tA","deleted":true}
|
||||
{"name":"favicon.ico","date":"2023-09-01T03:03:13.253Z","url":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.ico","type":"image/vnd.microsoft.icon","size":15406,"imageWidth":48,"imageHeight":48,"thumbnail":"https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/favicon.ico","thumbnailWidth":48,"thumbnailHeight":48,"uuid":"ghfvhRCjUiYkJRdS"}
|
||||
|
|
@ -0,0 +1,362 @@
|
|||
# Unity 迁移快速开始清单
|
||||
|
||||
## 📅 每日任务清单
|
||||
|
||||
### 第1天:环境搭建
|
||||
- [ ] 下载并安装Unity Hub
|
||||
- [ ] 安装Unity 2022.3 LTS
|
||||
- [ ] 安装Visual Studio Community
|
||||
- [ ] 创建Unity账号
|
||||
- [ ] 激活个人版许可证
|
||||
- [ ] 创建测试项目"TaikoUnityTest"
|
||||
- [ ] 熟悉Unity界面5分钟
|
||||
|
||||
### 第2-3天:基础学习
|
||||
- [ ] 观看"Unity入门"教程(1-2小时)
|
||||
- [ ] 创建第一个GameObject
|
||||
- [ ] 创建第一个C#脚本
|
||||
- [ ] 运行第一个程序
|
||||
- [ ] 学习Transform组件(Position, Rotation, Scale)
|
||||
- [ ] 学习Sprite Renderer
|
||||
|
||||
### 第4-5天:C#编程
|
||||
- [ ] 学习C#变量类型
|
||||
- [ ] 学习C#类和函数
|
||||
- [ ] 学习MonoBehaviour生命周期(Start, Update)
|
||||
- [ ] 创建一个简单的移动脚本
|
||||
- [ ] 学习Input系统
|
||||
- [ ] 学习Debug.Log调试
|
||||
|
||||
### 第6-7天:简单Demo
|
||||
- [ ] 创建音符Sprite
|
||||
- [ ] 创建音符移动脚本
|
||||
- [ ] 创建判定线
|
||||
- [ ] 实现按键检测
|
||||
- [ ] 实现简单的分数系统
|
||||
- [ ] 添加背景音乐
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 开发阶段清单
|
||||
|
||||
### 第1周:项目搭建
|
||||
- [ ] 创建正式项目"TaikoUnity"
|
||||
- [ ] 创建文件夹结构
|
||||
- [ ] 创建基础脚本框架
|
||||
- [ ] GameManager.cs
|
||||
- [ ] NoteManager.cs
|
||||
- [ ] ScoreManager.cs
|
||||
- [ ] InputManager.cs
|
||||
- [ ] UIManager.cs
|
||||
- [ ] 创建数据类(GameData.cs)
|
||||
- [ ] 测试脚本是否能正常编译
|
||||
|
||||
### 第2周:核心功能
|
||||
- [ ] 实现Note基类
|
||||
- [ ] 实现DonNote和KaNote
|
||||
- [ ] 实现InputManager输入检测
|
||||
- [ ] 实现判定系统
|
||||
- [ ] 实现分数计算
|
||||
- [ ] 测试单个音符的打击
|
||||
|
||||
### 第3周:谱面系统
|
||||
- [ ] 创建TJAParser解析器
|
||||
- [ ] 测试解析单个.tja文件
|
||||
- [ ] 实现ChartLoader
|
||||
- [ ] 实现音符自动生成
|
||||
- [ ] 测试完整歌曲流程
|
||||
|
||||
### 第4周:音频和UI
|
||||
- [ ] 实现AudioManager
|
||||
- [ ] 导入音频资源
|
||||
- [ ] 实现音乐同步
|
||||
- [ ] 创建UI界面
|
||||
- [ ] 实现分数显示
|
||||
- [ ] 实现连击显示
|
||||
|
||||
### 第5-6周:场景和流程
|
||||
- [ ] 创建主菜单场景
|
||||
- [ ] 创建选歌场景
|
||||
- [ ] 创建游戏场景
|
||||
- [ ] 实现场景切换
|
||||
- [ ] 实现游戏开始倒计时
|
||||
- [ ] 实现游戏结束和结果界面
|
||||
|
||||
### 第7-8周:优化和完善
|
||||
- [ ] 添加打击特效
|
||||
- [ ] 添加动画
|
||||
- [ ] 实现对象池优化
|
||||
- [ ] 添加设置界面
|
||||
- [ ] 添加音频延迟调整
|
||||
- [ ] 添加判定时间窗口调整
|
||||
- [ ] 全面测试
|
||||
|
||||
---
|
||||
|
||||
## 📋 功能实现优先级
|
||||
|
||||
### P0 - 必须实现(核心玩法)
|
||||
1. ✅ 音符从右向左移动
|
||||
2. ✅ 按键判定(Don/Ka)
|
||||
3. ✅ 分数计算
|
||||
4. ✅ 连击系统
|
||||
5. ✅ 音乐播放和同步
|
||||
6. ✅ 谱面加载
|
||||
|
||||
### P1 - 重要功能
|
||||
1. ⭐ 主菜单
|
||||
2. ⭐ 选歌界面
|
||||
3. ⭐ 结果界面
|
||||
4. ⭐ 大音符支持
|
||||
5. ⭐ 连打支持
|
||||
6. ⭐ 气球音符支持
|
||||
|
||||
### P2 - 增强体验
|
||||
1. 💡 打击特效
|
||||
2. 💡 音效
|
||||
3. 💡 背景动画
|
||||
4. 💡 难度选择
|
||||
5. 💡 暂停功能
|
||||
6. 💡 设置界面
|
||||
|
||||
### P3 - 高级功能
|
||||
1. 🚀 多人模式
|
||||
2. 🚀 自定义皮肤
|
||||
3. 🚀 成就系统
|
||||
4. 🚀 排行榜
|
||||
5. 🚀 回放系统
|
||||
|
||||
---
|
||||
|
||||
## 🎯 每周检查点
|
||||
|
||||
### 第1周检查
|
||||
- ✅ Unity环境已搭建
|
||||
- ✅ 能创建GameObject和脚本
|
||||
- ✅ 理解Start()和Update()的作用
|
||||
- ✅ 能让物体移动
|
||||
|
||||
### 第2周检查
|
||||
- ✅ 项目结构已创建
|
||||
- ✅ 核心脚本框架完成
|
||||
- ✅ 能编译运行无错误
|
||||
|
||||
### 第4周检查
|
||||
- ✅ 能打击单个音符
|
||||
- ✅ 判定系统工作正常
|
||||
- ✅ 分数能正确计算
|
||||
|
||||
### 第6周检查
|
||||
- ✅ 能加载.tja谱面
|
||||
- ✅ 音符能按谱面生成
|
||||
- ✅ 音乐能正常播放
|
||||
- ✅ 音乐和音符同步
|
||||
|
||||
### 第8周检查
|
||||
- ✅ 完整游戏流程跑通
|
||||
- ✅ UI界面完整
|
||||
- ✅ 能选歌并游玩
|
||||
- ✅ 能看到结果
|
||||
|
||||
### 第12周检查(最终)
|
||||
- ✅ 所有核心功能完成
|
||||
- ✅ 优化完成,运行流畅
|
||||
- ✅ 测试通过
|
||||
- ✅ 能打包发布
|
||||
|
||||
---
|
||||
|
||||
## 🔧 调试清单
|
||||
|
||||
遇到问题时按此清单检查:
|
||||
|
||||
### 脚本相关
|
||||
- [ ] 脚本是否附加到GameObject上?
|
||||
- [ ] 脚本名称和类名是否一致?
|
||||
- [ ] public变量是否在Inspector赋值?
|
||||
- [ ] 是否有编译错误(查看Console)?
|
||||
- [ ] 是否调用了Destroy但还在使用对象?
|
||||
|
||||
### 音符不显示
|
||||
- [ ] Sprite是否正确赋值?
|
||||
- [ ] Sprite Renderer是否启用?
|
||||
- [ ] Position是否在镜头范围内?
|
||||
- [ ] Sorting Layer是否正确?
|
||||
- [ ] GameObject是否激活(Active)?
|
||||
|
||||
### 音符不移动
|
||||
- [ ] Note脚本是否附加?
|
||||
- [ ] Update()函数是否正确?
|
||||
- [ ] speed值是否为0?
|
||||
- [ ] Time.timeScale是否为0(暂停状态)?
|
||||
|
||||
### 输入无响应
|
||||
- [ ] InputManager是否添加到场景中?
|
||||
- [ ] 按键设置是否正确?
|
||||
- [ ] 是否有音符在判定范围内?
|
||||
- [ ] 音符Tag是否设置为"Note"?
|
||||
|
||||
### 音乐不播放
|
||||
- [ ] AudioSource组件是否存在?
|
||||
- [ ] AudioClip是否赋值?
|
||||
- [ ] 音量是否为0?
|
||||
- [ ] 是否调用了Play()?
|
||||
- [ ] 音频文件是否正确导入?
|
||||
|
||||
### 谱面解析失败
|
||||
- [ ] 文件路径是否正确?
|
||||
- [ ] 文件是否在StreamingAssets文件夹?
|
||||
- [ ] .tja文件格式是否正确?
|
||||
- [ ] 是否有中文编码问题?
|
||||
|
||||
---
|
||||
|
||||
## 📖 学习资源速查
|
||||
|
||||
### Unity官方
|
||||
- Unity Learn: https://learn.unity.com/
|
||||
- 脚本API: https://docs.unity3d.com/ScriptReference/
|
||||
- 手册: https://docs.unity3d.com/Manual/
|
||||
|
||||
### C#学习
|
||||
- Microsoft Learn: https://learn.microsoft.com/zh-cn/dotnet/csharp/
|
||||
- C# 基础教程: https://www.runoob.com/csharp/csharp-tutorial.html
|
||||
|
||||
### 视频教程
|
||||
- Brackeys (YouTube): 基础到进阶
|
||||
- M_Studio (Bilibili): Unity中文教程
|
||||
- Sykoo (YouTube): 节奏游戏专题
|
||||
|
||||
### 社区求助
|
||||
- Unity官方论坛: https://forum.unity.com/
|
||||
- Stack Overflow: https://stackoverflow.com/questions/tagged/unity3d
|
||||
- Unite China论坛: https://connect.unity.com/
|
||||
- Discord: Unity Game Dev Community
|
||||
|
||||
---
|
||||
|
||||
## 💾 代码片段速查
|
||||
|
||||
### 创建GameObject
|
||||
```csharp
|
||||
GameObject obj = new GameObject("MyObject");
|
||||
GameObject obj = Instantiate(prefab);
|
||||
GameObject obj = Instantiate(prefab, position, Quaternion.identity);
|
||||
```
|
||||
|
||||
### 查找GameObject
|
||||
```csharp
|
||||
GameObject obj = GameObject.Find("ObjectName");
|
||||
GameObject obj = GameObject.FindGameObjectWithTag("Player");
|
||||
GameObject[] objs = GameObject.FindGameObjectsWithTag("Note");
|
||||
```
|
||||
|
||||
### 组件操作
|
||||
```csharp
|
||||
// 获取组件
|
||||
SpriteRenderer sr = GetComponent<SpriteRenderer>();
|
||||
SpriteRenderer sr = gameObject.GetComponent<SpriteRenderer>();
|
||||
|
||||
// 添加组件
|
||||
AudioSource audio = gameObject.AddComponent<AudioSource>();
|
||||
|
||||
// 启用/禁用组件
|
||||
sr.enabled = false;
|
||||
```
|
||||
|
||||
### 移动对象
|
||||
```csharp
|
||||
// 直接设置位置
|
||||
transform.position = new Vector3(x, y, z);
|
||||
|
||||
// 相对移动
|
||||
transform.position += Vector3.left * speed * Time.deltaTime;
|
||||
transform.Translate(Vector3.left * speed * Time.deltaTime);
|
||||
```
|
||||
|
||||
### 输入检测
|
||||
```csharp
|
||||
// 按键按下(一次)
|
||||
if(Input.GetKeyDown(KeyCode.Space)) { }
|
||||
|
||||
// 按键持续按住
|
||||
if(Input.GetKey(KeyCode.Space)) { }
|
||||
|
||||
// 按键松开
|
||||
if(Input.GetKeyUp(KeyCode.Space)) { }
|
||||
|
||||
// 轴输入(-1到1)
|
||||
float h = Input.GetAxis("Horizontal");
|
||||
```
|
||||
|
||||
### 音频播放
|
||||
```csharp
|
||||
// 播放
|
||||
audioSource.Play();
|
||||
audioSource.PlayOneShot(clip);
|
||||
|
||||
// 停止
|
||||
audioSource.Stop();
|
||||
audioSource.Pause();
|
||||
```
|
||||
|
||||
### 协程(延迟执行)
|
||||
```csharp
|
||||
StartCoroutine(DelayFunction());
|
||||
|
||||
IEnumerator DelayFunction()
|
||||
{
|
||||
yield return new WaitForSeconds(2f);
|
||||
// 2秒后执行
|
||||
}
|
||||
```
|
||||
|
||||
### 场景加载
|
||||
```csharp
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
SceneManager.LoadScene("SceneName");
|
||||
SceneManager.LoadScene(0); // 按索引加载
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚡ 快捷键速查
|
||||
|
||||
### Unity编辑器
|
||||
- `Ctrl + S`: 保存场景
|
||||
- `Ctrl + Shift + S`: 另存场景
|
||||
- `Ctrl + P`: 播放/停止
|
||||
- `Ctrl + Shift + P`: 暂停
|
||||
- `F`: 聚焦到选中对象
|
||||
- `Ctrl + D`: 复制对象
|
||||
- `Ctrl + Z`: 撤销
|
||||
- `Ctrl + Y`: 重做
|
||||
|
||||
### Visual Studio
|
||||
- `F5`: 启动调试
|
||||
- `F9`: 设置断点
|
||||
- `F10`: 单步跳过
|
||||
- `F11`: 单步进入
|
||||
- `Ctrl + K, Ctrl + C`: 注释
|
||||
- `Ctrl + K, Ctrl + U`: 取消注释
|
||||
- `Ctrl + .`: 快速操作
|
||||
|
||||
---
|
||||
|
||||
## 📞 获取帮助
|
||||
|
||||
如果遇到问题:
|
||||
|
||||
1. **查看Console窗口**:错误信息通常很有帮助
|
||||
2. **Google搜索错误信息**:加上"Unity"关键词
|
||||
3. **查看Unity文档**:官方API文档非常详细
|
||||
4. **提问时提供**:
|
||||
- 错误信息截图
|
||||
- 相关代码
|
||||
- Unity版本
|
||||
- 想达到的效果
|
||||
|
||||
---
|
||||
|
||||
**记住**:每个程序员都是从零开始的,遇到问题是正常的,坚持学习就能成功!💪
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,146 @@
|
|||
[
|
||||
{
|
||||
"aliases": null,
|
||||
"id": 1,
|
||||
"song_skin": {
|
||||
"background": "#219fbb",
|
||||
"bg_img": "bg_genre_0.png",
|
||||
"border": ["#7ec3d3", "#0b6773"],
|
||||
"info_fill": "#004d68",
|
||||
"outline": "#005058",
|
||||
"sort": 1
|
||||
},
|
||||
"title": "Pop",
|
||||
"title_lang": {
|
||||
"cn": "流行音乐",
|
||||
"en": "Pop",
|
||||
"ja": "J-POP",
|
||||
"ko": "POP",
|
||||
"tw": "流行音樂"
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliases": null,
|
||||
"id": 2,
|
||||
"song_skin": {
|
||||
"background": "#ff9700",
|
||||
"bg_img": "bg_genre_1.png",
|
||||
"border": ["#ffdb8c", "#e75500"],
|
||||
"info_fill": "#9c4002",
|
||||
"outline": "#9c4100",
|
||||
"sort": 2
|
||||
},
|
||||
"title": "Anime",
|
||||
"title_lang": {
|
||||
"cn": "卡通动画音乐",
|
||||
"en": "Anime",
|
||||
"ja": "アニメ",
|
||||
"ko": "애니메이션",
|
||||
"tw": "卡通動畫音樂"
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliases": ["ボーカロイド曲", "ボーカロイド", "vocaloid music", "vocaloid"],
|
||||
"id": 3,
|
||||
"song_skin": {
|
||||
"background": "#def2ef",
|
||||
"bg_img": "bg_genre_2.png",
|
||||
"border": ["#f7fbff", "#79919f"],
|
||||
"info_fill": "#546184",
|
||||
"outline": "#5a6584",
|
||||
"sort": 3
|
||||
},
|
||||
"title": "VOCALOID™ Music",
|
||||
"title_lang": {
|
||||
"en": "VOCALOID™ Music",
|
||||
"ja": "ボーカロイド™曲"
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliases": [
|
||||
"バラエティー",
|
||||
"どうよう",
|
||||
"童謡・民謡",
|
||||
"children",
|
||||
"children/folk",
|
||||
"children-folk"
|
||||
],
|
||||
"id": 4,
|
||||
"song_skin": {
|
||||
"background": "#8fd321",
|
||||
"bg_img": "bg_genre_3.png",
|
||||
"border": ["#f7fbff", "#587d0b"],
|
||||
"info_fill": "#3c6800",
|
||||
"outline": "#374c00",
|
||||
"sort": 4
|
||||
},
|
||||
"title": "Variety",
|
||||
"title_lang": {
|
||||
"cn": "综合音乐",
|
||||
"en": "Variety",
|
||||
"ja": "バラエティ",
|
||||
"ko": "버라이어티",
|
||||
"tw": "綜合音樂"
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliases": ["クラッシック", "classic"],
|
||||
"id": 5,
|
||||
"song_skin": {
|
||||
"background": "#d1a016",
|
||||
"bg_img": "bg_genre_4.png",
|
||||
"border": ["#e7cf6b", "#9a6b00"],
|
||||
"info_fill": "#865800",
|
||||
"outline": "#734d00",
|
||||
"sort": 5
|
||||
},
|
||||
"title": "Classical",
|
||||
"title_lang": {
|
||||
"cn": "古典音乐",
|
||||
"en": "Classical",
|
||||
"ja": "クラシック",
|
||||
"ko": "클래식",
|
||||
"tw": "古典音樂"
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliases": null,
|
||||
"id": 6,
|
||||
"song_skin": {
|
||||
"background": "#9c72c0",
|
||||
"bg_img": "bg_genre_5.png",
|
||||
"border": ["#bda2ce", "#63407e"],
|
||||
"info_fill": "#4f2886",
|
||||
"outline": "#4b1c74",
|
||||
"sort": 6
|
||||
},
|
||||
"title": "Video Game Series",
|
||||
"title_lang": {
|
||||
"cn": "游戏音乐",
|
||||
"en": "Video Game Series",
|
||||
"ja": "ゲームミュージック",
|
||||
"ko": "게임",
|
||||
"tw": "遊戲音樂"
|
||||
}
|
||||
},
|
||||
{
|
||||
"aliases": null,
|
||||
"id": 7,
|
||||
"song_skin": {
|
||||
"background": "#ff5716",
|
||||
"bg_img": "bg_genre_6.png",
|
||||
"border": ["#ffa66b", "#b53000"],
|
||||
"info_fill": "#961e00",
|
||||
"outline": "#941c00",
|
||||
"sort": 7
|
||||
},
|
||||
"title": "NAMCO Original",
|
||||
"title_lang": {
|
||||
"cn": "NAMCO原创音乐",
|
||||
"en": "NAMCO Original",
|
||||
"ja": "ナムコオリジナル",
|
||||
"ko": "남코 오리지널",
|
||||
"tw": "NAMCO原創音樂"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
{
|
||||
"_version": {
|
||||
"commit": "f7617c1b7492e30011a1f08e8f3a023839aa41bd",
|
||||
"commit_short": "f7617c1",
|
||||
"url": "https://github.com/bui/taiko-web/",
|
||||
"version": "8.31.23"
|
||||
},
|
||||
"accounts": false,
|
||||
"assets_baseurl": "https://cdn.glitch.global/db467c7c-4f64-417e-b597-01745ea525ee/",
|
||||
"assets_no_dir": true,
|
||||
"custom_js": "",
|
||||
"email": null,
|
||||
"google_credentials": {
|
||||
"api_key": "",
|
||||
"gdrive_enabled": true,
|
||||
"min_level": null,
|
||||
"oauth_client_id": "",
|
||||
"project_number": ""
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/default-patches.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/change-music-speed.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/change-timing-window.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/custom-scroll-speed.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/rainbow-crown.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/skip-results-in-multiplayer.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/spartan-mode.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/gameplay/multiplayer-custom-songs.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/song-select/change-song-select-speed.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/song-select/download-chart.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/workarounds/offline-account.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/languages/language-es-419.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/languages/language-fr.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/languages/language-pl.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/accessibility/disable-animations.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/accessibility/backup-and-restore-scores.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/accessibility/dpad-axis-input.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/custom-songs/green-notes.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/custom-songs/custom-barlines.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": true,
|
||||
"url": "/plugins/custom-songs/loading-background.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/for-fun/big-ok.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/debugging-testing/millisecond-accuracy.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/debugging-testing/show-bpm.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/debugging-testing/display-game-cache.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/debugging-testing/debug-button.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/debugging-testing/convert-lyrics-to-vtt.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/examples/language-en.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/plugins/examples/example-plugin.taikoweb.js"
|
||||
},
|
||||
{
|
||||
"hide": false,
|
||||
"start": false,
|
||||
"url": "/disable-judge-scores.taikoweb.js"
|
||||
}
|
||||
],
|
||||
"preview_type": "mp3",
|
||||
"songs_baseurl": "/songs/"
|
||||
}
|
||||
|
|
@ -0,0 +1,731 @@
|
|||
[
|
||||
{
|
||||
"id": 1,
|
||||
"order": 1,
|
||||
"title": "The Disappearance of Hatsune Miku -DEAD END-",
|
||||
"subtitle": "Hatsune Miku",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 106.7,
|
||||
"category_id": 3,
|
||||
"category": "VOCALOID™ Music",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"order": 3,
|
||||
"title": "PoPiPo",
|
||||
"subtitle": "Hatsune Miku",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 2,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 4,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 8,
|
||||
"branch": false
|
||||
},
|
||||
"ura": {
|
||||
"stars": 9,
|
||||
"branch": false
|
||||
}
|
||||
},
|
||||
"preview": 44.8,
|
||||
"category_id": 3,
|
||||
"category": "VOCALOID™ Music",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"order": 4,
|
||||
"title": "Deep Sea Girl",
|
||||
"subtitle": "Hatsune Miku",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 3,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 5,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 8,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 43,
|
||||
"category_id": 3,
|
||||
"category": "VOCALOID™ Music",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"order": 5,
|
||||
"title": "Last Goodbye",
|
||||
"subtitle": "Toby Fox",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 9,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 2.775,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"order": 7,
|
||||
"title": "Super Smash Bros. Brawl Main Theme",
|
||||
"subtitle": "Shogo Sakai/Nobuo Uematsu",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 3.9528,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"order": 8,
|
||||
"title": "Cirno's Perfect Math Class",
|
||||
"subtitle": "IOSYS",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 10.65,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"order": 10,
|
||||
"title": "FREEDOM D↓VE",
|
||||
"subtitle": "XI",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 3,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 5,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
},
|
||||
"ura": {
|
||||
"stars": 11,
|
||||
"branch": false
|
||||
}
|
||||
},
|
||||
"preview": 64.9,
|
||||
"category_id": 4,
|
||||
"category": "Variety",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"order": 11,
|
||||
"title": "Good Time",
|
||||
"subtitle": "Owl City & Carly Rae Jepsen",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": {
|
||||
"stars": 8,
|
||||
"branch": false
|
||||
},
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 64.9,
|
||||
"category_id": 1,
|
||||
"category": "Pop",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"order": 12,
|
||||
"title": "Nekozilla",
|
||||
"subtitle": "Different Heaven",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 4,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 7,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 9,
|
||||
"branch": false
|
||||
},
|
||||
"ura": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
}
|
||||
},
|
||||
"preview": 80.7,
|
||||
"category_id": 4,
|
||||
"category": "Variety",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"order": 13,
|
||||
"title": "Mottai Night Land",
|
||||
"subtitle": "Kyary Pamyu Pamyu",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 3,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 5,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 7,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 70.601,
|
||||
"category_id": 1,
|
||||
"category": "Pop",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"order": 14,
|
||||
"title": "Deja Vu",
|
||||
"subtitle": "INITIAL D / Dave Rodgers",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 3,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 5,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 5,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 8,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 63.805,
|
||||
"category_id": 2,
|
||||
"category": "Anime",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"order": 15,
|
||||
"title": "Sky High",
|
||||
"subtitle": "Jun Ishikawa",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": -0.55,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"order": 16,
|
||||
"title": "Brinstar (Melee)",
|
||||
"subtitle": "Hirokazu Ando, Shogo Sakai, Tadashi Ikegami, Takuto Kitsuta",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 8,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": -0.07,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"order": 18,
|
||||
"title": "LECIEL GLISSANDO",
|
||||
"subtitle": "--Yomii",
|
||||
"courses": {
|
||||
"easy": {
|
||||
"stars": 5,
|
||||
"branch": false
|
||||
},
|
||||
"hard": {
|
||||
"stars": 7,
|
||||
"branch": false
|
||||
},
|
||||
"normal": {
|
||||
"stars": 6,
|
||||
"branch": false
|
||||
},
|
||||
"oni": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": -4.246,
|
||||
"category_id": 7,
|
||||
"category": "Namco Originals",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
}, {
|
||||
"id": 19,
|
||||
"order": 19,
|
||||
"title": "SAVE the World",
|
||||
"subtitle": "Toby Fox",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 9,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 0.08,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
}, {
|
||||
"id": 20,
|
||||
"order": 20,
|
||||
"title": "U.N. Owen Was Her?",
|
||||
"subtitle": "Touhou Project",
|
||||
"courses": {
|
||||
"easy": null,
|
||||
"hard": null,
|
||||
"normal": null,
|
||||
"oni": {
|
||||
"stars": 10,
|
||||
"branch": false
|
||||
},
|
||||
"ura": null
|
||||
},
|
||||
"preview": 30.530,
|
||||
"category_id": 6,
|
||||
"category": "Video Game Series",
|
||||
"title_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"subtitle_lang": {
|
||||
"ja": null,
|
||||
"en": null,
|
||||
"cn": null,
|
||||
"tw": null,
|
||||
"ko": null
|
||||
},
|
||||
"type": "tja",
|
||||
"music_type": "ogg",
|
||||
"volume": 1.0,
|
||||
"lyrics": false,
|
||||
"offset": null,
|
||||
"song_skin": null,
|
||||
"maker": null,
|
||||
"hash": null
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Default patches"
|
||||
version = "23.01.11"
|
||||
description = "Opens the correct privacy file. Suppresses multiplayer errors. Allows importing assets through gdrive. Does not include the custom code in loader.js, which uses correct paths for api files."
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(CustomSongs.prototype, "openPrivacy").load(str => {
|
||||
return plugins.insertAfter(str, 'open("privacy', `.txt`)
|
||||
}),
|
||||
new EditFunction(Account.prototype, "openPrivacy").load(str => {
|
||||
return plugins.insertAfter(str, 'open("privacy', `.txt`)
|
||||
}),
|
||||
new EditFunction(ImportSongs.prototype, "load").load(str => {
|
||||
return plugins.strReplace(str, '!this.limited && (path.indexOf("/taiko-web assets/")', `(path.indexOf("/taiko-web assets/")`)
|
||||
}),
|
||||
new EditFunction(LoadSong.prototype, "run").load(str => {
|
||||
str = plugins.strReplace(str, ' + "img/touch_drum.png"', ` + (gameConfig.assets_no_dir ? "touch_drum.png" : "img/touch_drum.png")`)
|
||||
return plugins.strReplace(str, ' + "img/"', ` + (gameConfig.assets_no_dir ? "" : "img/")`)
|
||||
}),
|
||||
new EditFunction(LoadSong.prototype, "loadSongBg").load(str => {
|
||||
return plugins.strReplace(str, ' + "img/"', ` + (gameConfig.assets_no_dir ? "" : "img/")`)
|
||||
})
|
||||
)
|
||||
}
|
||||
start(){
|
||||
p2.disable()
|
||||
}
|
||||
stop(){
|
||||
p2.enable()
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Disable Judge Scores"
|
||||
version = "22.03.05"
|
||||
description = ""
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(CanvasDraw.prototype, "score").load(str => {
|
||||
return ""
|
||||
}),
|
||||
new EditFunction(View.prototype, "refresh").load(str => {
|
||||
return plugins.strReplace(str, 'this.assets.drawAssets("notes")', "")
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Obscure Taiko</title>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=yes" />
|
||||
<meta name="robots" content="noindex" />
|
||||
<meta name="robots" content="notranslate" />
|
||||
<meta name="robots" content="noimageindex" />
|
||||
<meta name="color-scheme" content="only light" />
|
||||
|
||||
<link rel="stylesheet" href="src/css/loader.css?f7617c1" />
|
||||
|
||||
<script>
|
||||
// if (location.protocol === "http:") {
|
||||
// var url = new URL(location.href);
|
||||
// url.protocol = "https:";
|
||||
// location.href = url.toString();
|
||||
// }
|
||||
</script>
|
||||
<script src="src/js/assets.js?f7617c1"></script>
|
||||
<script src="src/js/strings.js?f7617c1"></script>
|
||||
<script src="src/js/pageevents.js?f7617c1"></script>
|
||||
<script src="src/js/loader.js?f7617c1"></script>
|
||||
<script src="loader-patch.js?f7617c1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="assets"></div>
|
||||
<div id="screen" class="pattern-bg"></div>
|
||||
<div data-nosnippet id="version">
|
||||
<a
|
||||
href="https://github.com/bui/taiko-web/commit/f7617c1b7492e30011a1f08e8f3a023839aa41bd"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
id="version-link"
|
||||
class="stroke-sub"
|
||||
alt="obscure-taiko ver.8.31.23"
|
||||
>obscure-taiko ver.8.31.23</a
|
||||
>
|
||||
</div>
|
||||
<script src="src/js/browsersupport.js?f7617c1"></script>
|
||||
<script src="src/js/main.js?f7617c1"></script>
|
||||
<noscript>
|
||||
<div data-nosnippet id="unsupportedBrowser">
|
||||
<div id="unsupportedWarn">!</div>
|
||||
<span
|
||||
>太鼓ウェブはJavaScriptを有効にする必要があります。<br />Taiko Web
|
||||
requires JavaScript to be enabled in the browser.</span
|
||||
>
|
||||
</div>
|
||||
</noscript>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
;(() => {
|
||||
var initStr = Loader.prototype.init.toString()
|
||||
initStr = initStr.slice(initStr.indexOf("{") + 1, initStr.lastIndexOf("}"))
|
||||
initStr = initStr.replace('"api/config"', '"api/config.json"')
|
||||
Loader.prototype.init = Function("callback", initStr)
|
||||
|
||||
var runStr = Loader.prototype.run.toString()
|
||||
runStr = runStr.slice(runStr.indexOf("{") + 1, runStr.lastIndexOf("}"))
|
||||
runStr = runStr.replace('"api/categories"', '"api/categories.json"')
|
||||
runStr = runStr.replace('ajax("api/songs"', 'ajax("api/songs.json"')
|
||||
runStr = runStr.replace(' + "fonts/"', ' + (gameConfig.assets_no_dir ? "" : "fonts/")')
|
||||
runStr = runStr.replaceAll(' + "img/"', ' + (gameConfig.assets_no_dir ? "" : "img/")')
|
||||
runStr = runStr.replace('gameConfig.assets_baseurl + "img/vectors.json"', '(gameConfig.assets_no_dir ? "vectors.json" : gameConfig.assets_baseurl + "img/vectors.json")')
|
||||
runStr = runStr.replace('directory + "main." + songExt', '(gameConfig.assets_no_dir ? gameConfig.assets_baseurl + song.id + "." + songExt : directory + "main." + songExt)')
|
||||
Loader.prototype.run = Function(runStr)
|
||||
|
||||
var soundUrlStr = Loader.prototype.soundUrl.toString()
|
||||
soundUrlStr = soundUrlStr.slice(soundUrlStr.indexOf("{") + 1, soundUrlStr.lastIndexOf("}"))
|
||||
soundUrlStr = soundUrlStr.replace(' + "audio/"', ' + (gameConfig.assets_no_dir ? "" : "audio/")')
|
||||
Loader.prototype.soundUrl = Function("name", soundUrlStr)
|
||||
})()
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"systemParams": "win32-x64-115",
|
||||
"modulesFolders": [],
|
||||
"flags": [],
|
||||
"linkedModules": [],
|
||||
"topLevelPatterns": [],
|
||||
"lockfileEntries": {},
|
||||
"files": [],
|
||||
"artifacts": {}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
The author of this work hereby waives all claim of copyright (economic and moral)
|
||||
in this work and immediately places it in the public domain; it may be used,
|
||||
distorted or destroyed in any manner whatsoever without further attribution or
|
||||
notice to the creator.
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
## Taiko Web Plugins
|
||||
Expand the feature set of [Taiko Web](https://github.com/bui/taiko-web) with plugins. Save these .taikoweb.js files into a folder (right click and save as on the links below) and load them in-game via the Custom Song List button.
|
||||
|
||||
### Gameplay
|
||||
- [**Change Music Speed**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/change-music-speed.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/change-music-speed.taikoweb.js)
|
||||
Slow down or speed up the music in game
|
||||
- (ja) [音楽の速度を変更](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/change-music-speed.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/change-music-speed.taikoweb.js)
|
||||
音楽の速度を変更します
|
||||
|
||||
- [**Change Timing Window**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/change-timing-window.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/change-timing-window.taikoweb.js)
|
||||
Custom input interval for in-game notes
|
||||
|
||||
- [**Custom Scroll Speed**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/custom-scroll-speed.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/custom-scroll-speed.taikoweb.js)
|
||||
Changes the speed the notes scroll at in game
|
||||
|
||||
- [**Rainbow Crown**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/rainbow-crown.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/rainbow-crown.taikoweb.js)
|
||||
Donder-Full Combos will give rainbow crowns
|
||||
|
||||
- [**Skip Results in Multiplayer**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/skip-results-in-multiplayer.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/skip-results-in-multiplayer.taikoweb.js)
|
||||
Enables skipping the results screen in multiplayer, however, the other player will not get to see the full results screen without the plugin
|
||||
- [Userscript version](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/userscripts/skip-results-in-multiplayer.user.js)
|
||||
|
||||
- [**Spartan Mode**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/spartan-mode.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/spartan-mode.taikoweb.js)
|
||||
End song on first bad hit
|
||||
|
||||
- [**Multiplayer Custom Songs**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/multiplayer-custom-songs.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/gameplay/multiplayer-custom-songs.taikoweb.js)
|
||||
Extends netplay and session multiplayer to custom song lists, both players are required to have the same folders
|
||||
|
||||
### Song Select
|
||||
- [**Change Song Select Speed**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/song-select/change-song-select-speed.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/song-select/change-song-select-speed.taikoweb.js)
|
||||
Changes the song selection scroll speed
|
||||
|
||||
- [**Download Chart**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/song-select/download-chart.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/song-select/download-chart.taikoweb.js)
|
||||
Enables downloading chart and music files from the song select
|
||||
|
||||
### Workarounds
|
||||
- [**Offline Account**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/workarounds/offline-account.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/workarounds/offline-account.taikoweb.js)
|
||||
Allows setting your name and customizing your Don without logging in
|
||||
|
||||
- [**Old Song List**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/workarounds/old-song-list.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/workarounds/old-song-list.taikoweb.js)
|
||||
Restores the default taiko.bui.pm song list to show non-custom songs
|
||||
|
||||
- [**Plugins in Old Taiko Web (Userscript)**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/userscripts/plugins-in-old-taiko-web.user.js)
|
||||
Implements the plugin interface in older versions of taiko-web, a userscript manager extension is required
|
||||
|
||||
### Additional Languages
|
||||
- [**Language: Spanish (Latin America)**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-es-419.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-es-419.taikoweb.js)
|
||||
- (es-419) [Idioma: Español (Latinoamérica)](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-es-419.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-es-419.taikoweb.js)
|
||||
|
||||
- [**Language: French**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-fr.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-fr.taikoweb.js)
|
||||
- (fr) [Langue: Français](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-fr.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-fr.taikoweb.js)
|
||||
|
||||
- [**Language: Polish**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-pl.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-pl.taikoweb.js)
|
||||
- (pl) [Język: Polski](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-pl.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/languages/language-pl.taikoweb.js)
|
||||
|
||||
### Accessibility
|
||||
- [**Disable Animations**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/accessibility/disable-animations.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/accessibility/disable-animations.taikoweb.js)
|
||||
Turn off most of the animated elements in the game
|
||||
|
||||
- [**D-pad Axis Input**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/accessibility/dpad-axis-input.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/accessibility/dpad-axis-input.taikoweb.js)
|
||||
Binds axis input to D-pad for gamepads
|
||||
|
||||
- [**Backup and Restore Scores**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/accessibility/backup-and-restore-scores.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/accessibility/backup-and-restore-scores.taikoweb.js)
|
||||
Save and load score data to a file
|
||||
|
||||
### Custom Songs
|
||||
- [**Green Notes**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/green-notes.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/green-notes.taikoweb.js)
|
||||
Adds support for green notes (G) and ad-lib notes (F) in custom charts
|
||||
|
||||
- [**Custom Barlines**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/custom-barlines.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/custom-barlines.taikoweb.js)
|
||||
Adds #BARLINESCROLL and #BARLINE to the tja format. #BARLINESCROLL can be used to set independent speed values on the measure lines, can be set to a floating point value or off. #BARLINE can insert measure lines anywhere in the chart.
|
||||
|
||||
- [**Loading Background**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/loading-background.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/loading-background.taikoweb.js)
|
||||
Shows a custom loading background if a loading.png file is in the same directory as the chart
|
||||
|
||||
- [**Fumen File Format**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/fumen-file-format.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/custom-songs/fumen-file-format.taikoweb.js)
|
||||
Adds support for using Fumen files in the custom song list
|
||||
|
||||
### For Fun
|
||||
- [**Big OK**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/for-fun/big-ok.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/for-fun/big-ok.taikoweb.js)
|
||||
When you get an OK judge score, the whole screen becomes a big OK
|
||||
|
||||
### Debugging and Testing
|
||||
- [**Millisecond Accuracy**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/millisecond-accuracy.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/millisecond-accuracy.taikoweb.js)
|
||||
Replaces the judge score with the accuracy in milliseconds
|
||||
- (ja) [ミリ秒単位の精度](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/millisecond-accuracy.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/millisecond-accuracy.taikoweb.js)
|
||||
判定点数をミリ秒単位の精度に置き換えます
|
||||
|
||||
- [**Show BPM**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/show-bpm.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/show-bpm.taikoweb.js)
|
||||
Displays the current BPM in game
|
||||
- (ja) [BPMを表示する](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/show-bpm.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/show-bpm.taikoweb.js)
|
||||
ゲーム中のBPMを表示します
|
||||
|
||||
- [**Display Game Cache**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/display-game-cache.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/display-game-cache.taikoweb.js)
|
||||
Appends cached assets below the game
|
||||
|
||||
- [**Debug Button**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/debug-button.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/debug-button.taikoweb.js)
|
||||
Adds a button to access the debug window
|
||||
|
||||
- [**Convert Lyrics to vtt**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/convert-lyrics-to-vtt.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/debugging-testing/convert-lyrics-to-vtt.taikoweb.js)
|
||||
Adds an option to the pause screen to download converted lyrics in WEBVTT format
|
||||
|
||||
### Examples for Developers
|
||||
- [**Language: English**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/examples/language-en.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/examples/language-en.taikoweb.js)
|
||||
Example language plugin for translators
|
||||
|
||||
- [**Example Plugin**](https://github.com/KatieFrogs/taiko-web-plugins/raw/main/examples/example-plugin.taikoweb.js) [(⬇️)](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/KatieFrogs/taiko-web-plugins/raw/main/examples/example-plugin.taikoweb.js)
|
||||
Replaces the judge score with great/cool/miss
|
||||
|
|
@ -0,0 +1,221 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Backup and Restore Scores"
|
||||
version = "23.01.05"
|
||||
description = "Save and load score data to a file"
|
||||
author = "Katie Frogs"
|
||||
|
||||
settingsOpts = {
|
||||
saveScores: {
|
||||
name: "Save Scores",
|
||||
name_lang: {},
|
||||
description: "Exports all the crowns and scores to a .json file",
|
||||
description_lang: {},
|
||||
options: ["Download"],
|
||||
options_lang: {},
|
||||
setItem: this.export.bind(this)
|
||||
},
|
||||
loadScores: {
|
||||
name: "Load Scores",
|
||||
name_lang: {},
|
||||
description: "Imports all the scores from a .json file, merging with existing ones",
|
||||
description_lang: {},
|
||||
options: ["Browse..."],
|
||||
options_lang: {},
|
||||
setItem: this.import.bind(this)
|
||||
}
|
||||
}
|
||||
|
||||
strings = {
|
||||
scoresInvalid: "Selected file is not a valid scores file",
|
||||
scoresInvalid_lang: {},
|
||||
noScores: "No scores were found in the provided file",
|
||||
noScores_lang: {},
|
||||
scoresImported: "%s scores imported",
|
||||
scoresImported_lang: {},
|
||||
scoresNotImported: "Scores could not be imported, please try again",
|
||||
scoresNotImported_lang: {}
|
||||
}
|
||||
|
||||
selectSupported = SettingsView.prototype.getValue.toString().indexOf("current.options_lang") !== -1
|
||||
|
||||
export(){
|
||||
var obj = {}
|
||||
if(account.loggedIn){
|
||||
obj.display_name = account.displayName
|
||||
obj.don = account.don
|
||||
}else{
|
||||
obj.display_name = strings.defaultName
|
||||
obj.don = defaultDon
|
||||
}
|
||||
obj.scores = scoreStorage.prepareScores(scoreStorage.scoreStrings)
|
||||
obj.status = "ok"
|
||||
if(account.loggedIn){
|
||||
obj.username = account.username
|
||||
}else{
|
||||
obj.username = allStrings.en.defaultName
|
||||
}
|
||||
|
||||
var text = JSON.stringify(obj) + "\n"
|
||||
var blob = new Blob([text], {
|
||||
type: "application/octet-stream"
|
||||
})
|
||||
|
||||
var url = URL.createObjectURL(blob)
|
||||
var link = document.createElement("a")
|
||||
link.href = url
|
||||
if("download" in HTMLAnchorElement.prototype){
|
||||
link.download = "taiko-web scores.json"
|
||||
}else{
|
||||
link.target = "_blank"
|
||||
}
|
||||
link.innerText = "."
|
||||
link.style.opacity = "0"
|
||||
document.body.appendChild(link)
|
||||
setTimeout(() => {
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
setTimeout(() => {
|
||||
URL.revokeObjectURL(url)
|
||||
}, 5000)
|
||||
})
|
||||
}
|
||||
|
||||
import(){
|
||||
this.cleanup()
|
||||
pageEvents.add(window, "song-select", this.cleanup.bind(this), this)
|
||||
var browse = document.createElement("input")
|
||||
this.browseButton = browse
|
||||
pageEvents.add(browse, "change", this.browseChange.bind(this))
|
||||
browse.type = "file"
|
||||
browse.style.width = "1px"
|
||||
browse.style.height = "1px"
|
||||
browse.style.opacity = "0"
|
||||
document.body.appendChild(browse)
|
||||
setTimeout(() => {
|
||||
browse.click()
|
||||
})
|
||||
}
|
||||
|
||||
browseChange(event){
|
||||
if(event.target.files.length){
|
||||
var file = new LocalFile(event.target.files[0])
|
||||
file.read().then(data => {
|
||||
try{
|
||||
var obj = JSON.parse(data)
|
||||
}catch(e){
|
||||
alert(plugins.getLocalTitle(this.strings.scoresInvalid, this.strings.scoresInvalid_lang))
|
||||
}
|
||||
if(Array.isArray(obj.scores) && obj.scores.length){
|
||||
var scores = {}
|
||||
obj.scores.forEach(scoreObj => {
|
||||
var hash = scoreObj.hash
|
||||
var scoreString = scoreObj.score
|
||||
if(typeof hash === "string" && typeof scoreString === "string" && hash && scoreString){
|
||||
var songAdded = false
|
||||
var diffArray = scoreString.split(";")
|
||||
for(var i in scoreStorage.difficulty){
|
||||
if(diffArray[i]){
|
||||
var crown = parseInt(diffArray[i].slice(0, 1)) || 0
|
||||
var score = {
|
||||
crown: scoreStorage.crownValue[crown] || ""
|
||||
}
|
||||
var scoreArray = diffArray[i].slice(1).split(",")
|
||||
for(var j in scoreStorage.scoreKeys){
|
||||
var name = scoreStorage.scoreKeys[j]
|
||||
var value = parseInt(scoreArray[j] || 0, 36) || 0
|
||||
if(value < 0){
|
||||
value = 0
|
||||
}
|
||||
score[name] = value
|
||||
}
|
||||
if(!songAdded){
|
||||
scores[hash] = {title: null}
|
||||
songAdded = true
|
||||
}
|
||||
scores[hash][scoreStorage.difficulty[i]] = score
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
var amount = 0
|
||||
for(var hash in scores){
|
||||
var oldScore = scoreStorage.scores[hash]
|
||||
if(oldScore){
|
||||
var increased = false
|
||||
for(var i in scoreStorage.difficulty){
|
||||
var diff = scoreStorage.difficulty[i]
|
||||
var oldDiff = scoreStorage.scores[hash][diff]
|
||||
var newDiff = scores[hash][diff]
|
||||
if(oldDiff && newDiff){
|
||||
if(oldDiff.points < newDiff.points){
|
||||
if(oldDiff.crown === "gold" || oldDiff.crown === "silver" && !newDiff.crown){
|
||||
newDiff.crown = oldDiff.crown
|
||||
}
|
||||
scoreStorage.scores[hash][diff] = newDiff
|
||||
increased = true
|
||||
}else if(newDiff.crown === "gold" && oldDiff.crown !== "gold" || newDiff.crown && !oldDiff.crown){
|
||||
oldDiff.crown = newDiff.crown
|
||||
increased = true
|
||||
}
|
||||
}else if(!oldDiff && newDiff){
|
||||
scoreStorage.scores[hash][diff] = newDiff
|
||||
increased = true
|
||||
}
|
||||
}
|
||||
if(increased){
|
||||
amount++
|
||||
}
|
||||
}else{
|
||||
scoreStorage.scores[hash] = scores[hash]
|
||||
amount++
|
||||
}
|
||||
}
|
||||
if(amount){
|
||||
return scoreStorage.save().then(() => {
|
||||
alert(plugins.getLocalTitle(this.strings.scoresImported, this.strings.scoresImported_lang).replace("%s", amount.toString()))
|
||||
}, () => {
|
||||
alert(plugins.getLocalTitle(this.strings.scoresNotImported, this.strings.scoresNotImported_lang))
|
||||
})
|
||||
}else{
|
||||
alert(plugins.getLocalTitle(this.strings.scoresImported, this.strings.scoresImported_lang).replace("%s", amount.toString()))
|
||||
}
|
||||
}else{
|
||||
alert(plugins.getLocalTitle(this.strings.noScores, this.strings.noScores_lang))
|
||||
}
|
||||
}).finally(() => {
|
||||
this.cleanup()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
cleanup(){
|
||||
pageEvents.remove(window, "song-select", this)
|
||||
if(this.browseButton){
|
||||
pageEvents.remove(this.browseButton, "change")
|
||||
this.browseButton.remove()
|
||||
this.browseButtons = null
|
||||
}
|
||||
}
|
||||
|
||||
unload(){
|
||||
this.cleanup()
|
||||
}
|
||||
|
||||
settings(){
|
||||
return Object.keys(this.settingsOpts).map(name => {
|
||||
var str = this.settingsOpts[name]
|
||||
return {
|
||||
name: str.name,
|
||||
name_lang: str.name_lang,
|
||||
description: str.description,
|
||||
description_lang: str.description_lang,
|
||||
type: this.selectSupported ? "select" : "toggle",
|
||||
options: str.options,
|
||||
options_lang: str.options_lang,
|
||||
default: this.selectSupported ? str.options[0] : false,
|
||||
getItem: () => this.selectSupported ? str.options[0] : false,
|
||||
setItem: str.setItem
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,344 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Disable Animations"
|
||||
version = "22.03.16"
|
||||
description = "Turn off most of the animated elements in the game"
|
||||
author = "Katie Frogs"
|
||||
|
||||
disabledAnimations = {
|
||||
"title screen proceed": true,
|
||||
"highlight": true,
|
||||
"dropzone fade": true,
|
||||
"loading gif": true,
|
||||
// song select
|
||||
"song select background": true,
|
||||
"song select background fade": true,
|
||||
"song select move": true,
|
||||
"song select fade in": true,
|
||||
"song select ura fade": true,
|
||||
"song select ura arrow": true,
|
||||
// in-game
|
||||
"pause don": true,
|
||||
"don background": true,
|
||||
"song background": true,
|
||||
"taiko pressed keys": true,
|
||||
"taiko pressed keys fade": true,
|
||||
"combo change": true,
|
||||
"bar pressed keys": true,
|
||||
"judge score jump": true,
|
||||
"judge score fade": false,
|
||||
"note faces": true,
|
||||
"note explosion": true,
|
||||
"pause note explosion": true,
|
||||
"note shadow": true,
|
||||
"note shadow fade out": true,
|
||||
"flying notes": true,
|
||||
"flying note fade": true,
|
||||
"go go time fire fade": true,
|
||||
"pause go go time fire": true,
|
||||
"go go time fireworks": true,
|
||||
"pause go go time fireworks": true,
|
||||
"branch bar change": false,
|
||||
"branch text change": true,
|
||||
// results
|
||||
"results fade in": true,
|
||||
"results object fade in": true,
|
||||
"results crown": true,
|
||||
"results countup": true,
|
||||
"results tetsuo and hana": true,
|
||||
"results mikoshi": true,
|
||||
"results flowers": true,
|
||||
"results fade out": true,
|
||||
}
|
||||
|
||||
load(){
|
||||
var d = this.disabledAnimations
|
||||
this.addEdits(
|
||||
new EditFunction(SongSelect.prototype, "init").load(str => {
|
||||
if(d["song select move"])
|
||||
str = plugins.strReplace(str, 'speed: 400', `speed: 0`)
|
||||
return str
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "redraw").load(str => {
|
||||
if(d["song select move"]){
|
||||
str = plugins.strReplace(str,
|
||||
'(key === "right" || key === "left") ? 20',
|
||||
`(key === "right" || key === "left") ? 150`)
|
||||
str = plugins.insertBefore(str, `resize && `, 'this.state.moveMS && ms < this.state.moveMS + changeSpeed')
|
||||
str = plugins.insertAfter(str,
|
||||
'var elapsed = ms - this.state.moveMS', `
|
||||
if(this.state.move){
|
||||
this.state.waitPreview = ms + 400
|
||||
if(this.previewing !== null){
|
||||
this.endPreview()
|
||||
}
|
||||
}`)
|
||||
}
|
||||
if(d["song select fade in"]){
|
||||
str = plugins.strReplace(str,
|
||||
'if(screen === "titleFadeIn"){',
|
||||
`if(false){`)
|
||||
}
|
||||
if(d["song select ura fade"])
|
||||
str = plugins.insertBefore(str,
|
||||
`alphaFade = alphaFade < 0.5 ? 0 : 1
|
||||
`, 'this.draw.alpha(alphaFade, ctx, ctx => {')
|
||||
if(d["song select ura arrow"])
|
||||
str = plugins.strReplace(str, '((ms - this.state.screenMS) % 1200) / 1200', `0`)
|
||||
if(d["highlight"]){
|
||||
str = plugins.strReplace(str, 'highlight = 1', `highlight = 2`, 6)
|
||||
str = plugins.insertBefore(str, `false && `, '!p2.session && screen === "song"){')
|
||||
str = plugins.strReplace(str,
|
||||
'highlight: highlight,',
|
||||
`highlight: highlight ? 1 : 0,`, 3)
|
||||
}
|
||||
return str
|
||||
}),
|
||||
new EditFunction(View.prototype, "refresh").load(str => {
|
||||
if(d["highlight"])
|
||||
str = plugins.strReplace(str, 'highlight = 1', `highlight = 2`, 2)
|
||||
if(d["combo change"])
|
||||
str = plugins.insertBefore(str,
|
||||
`comboScale = 0
|
||||
`, 'var glyphW = 51')
|
||||
if(d["taiko pressed keys"])
|
||||
str = plugins.strReplace(str,
|
||||
'for(var i = 0; i < keys.length; i++){',
|
||||
`for(var i = 0; i < 0; i++){`)
|
||||
if(d["taiko pressed keys fade"])
|
||||
str = plugins.strReplace(str, 'keyMS > 70 && !this.touchEnabled', `false`)
|
||||
if(d["judge score jump"])
|
||||
str = plugins.insertAfter(str, 'var fadeOut = scoreMS > 250 && !this.touchEnabled', `
|
||||
yOffset = 0`)
|
||||
if(d["judge score fade"])
|
||||
str = plugins.insertAfter(str, 'var fadeOut = scoreMS > 250 && !this.touchEnabled', `
|
||||
fadeOut = 0`)
|
||||
if(d["branch bar change"])
|
||||
str = plugins.strReplace(str, 'this.branchAnimate && ms <= this.branchAnimate.ms + 300', `false`)
|
||||
if(d["branch text change"])
|
||||
str = plugins.strReplace(str, 'this.branchAnimate && ms - this.branchAnimate.ms < 310 && ms >= this.branchAnimate.ms', `false`)
|
||||
if(d["bar pressed keys"])
|
||||
str = plugins.strReplace(str, 'keyTime[sound] > ms - 130', `false`)
|
||||
if(d["note explosion"])
|
||||
str = plugins.strReplace(str, 'this.assets.drawAssets("notes")', ``)
|
||||
if(d["note shadow"])
|
||||
str = plugins.strReplace(str, 'scoreMS < 300 && this.currentScore.type', `false`)
|
||||
if(d["note shadow fade out"])
|
||||
str = plugins.strReplace(str, 'scoreMS > 120 && !this.touchEnabled', `false`)
|
||||
if(d["go go time fireworks"])
|
||||
str = plugins.strReplace(str,
|
||||
'!this.touchEnabled && !this.portrait && !this.multiplayer',
|
||||
`false`)
|
||||
return str
|
||||
}),
|
||||
new EditFunction(View.prototype, "drawAnimatedCircles").load(str => {
|
||||
if(d["flying notes"]){
|
||||
str = plugins.insertAfter(str,
|
||||
`if(circle.fixedPos`, ' || typeof circle.fixedPos === "undefined"')
|
||||
str = plugins.insertBefore(str,
|
||||
`else{
|
||||
continue
|
||||
}`, 'var animPoint = (ms - animT) / 490')
|
||||
str = plugins.insertAfter(str,
|
||||
'if(ms < animT + 810){', `
|
||||
continue;`)
|
||||
}
|
||||
if(d["flying notes"] || d["flying note fade"]){
|
||||
str = plugins.strReplace(str, 'circle.animationEnded = true', ``)
|
||||
}
|
||||
return str
|
||||
}),
|
||||
new EditFunction(View.prototype, "updateNoteFaces").load(str => {
|
||||
if(d["note faces"])
|
||||
str = plugins.strReplace(str, 'this.controller.getCombo() >= 50', `false`)
|
||||
return str
|
||||
}),
|
||||
new EditFunction(View.prototype, "updateCombo").load(str => {
|
||||
if(d["pause don"])
|
||||
str = `return;` + str
|
||||
return str
|
||||
}),
|
||||
new EditFunction(ViewAssets.prototype, "init").load(str => {
|
||||
if(d["pause don"])
|
||||
str = plugins.insertAfter(str, '"background", frame => {', `
|
||||
frame = 0`)
|
||||
if(d["pause note explosion"])
|
||||
str = plugins.insertAfter(str, '"notes", frame => {', `
|
||||
frame = 0`)
|
||||
if(d["go go time fire fade"]){
|
||||
str = plugins.strReplace(str, '3 - Math.min(200, elapsed) / 100', `1`)
|
||||
str = plugins.strReplace(str, 'Math.min(200, elapsed) / 200', `1`)
|
||||
str = plugins.strReplace(str, '1 - Math.min(100, elapsed) / 100', `0`)
|
||||
}
|
||||
if(d["pause go go time fire"])
|
||||
str = plugins.insertAfter(str, '"bar", frame => {', `
|
||||
frame = 0`)
|
||||
if(d["pause go go time fireworks"])
|
||||
str = plugins.insertAfter(str, '"foreground", frame => {', `
|
||||
frame = 0`)
|
||||
return str
|
||||
}),
|
||||
new EditFunction(Scoresheet.prototype, "redraw").load(str => {
|
||||
if(d["results fade in"])
|
||||
str = plugins.insertBefore(str,
|
||||
`bgOffset = (bgOffset < winH / 4) ? 0 : winH / 2
|
||||
`, 'if(bgOffset){')
|
||||
if(d["results object fade in"]){
|
||||
str = plugins.insertAfter(str, 'this.draw.alpha(Math.min(1, elapsed / 400)', ` < 0.5 ? 0 : 1`)
|
||||
str = plugins.insertAfter(str, 'this.draw.alpha(Math.min(1, (elapsed - 800) / 500)', ` < 0.5 ? 0 : 1`)
|
||||
str = plugins.strReplace(str,
|
||||
'ctx.globalAlpha = Math.min(1, Math.max(0, (elapsed - (3100 + failedOffset)) / 500)) * 0.5',
|
||||
`ctx.globalAlpha = 0.5`)
|
||||
}
|
||||
if(d["results crown"]){
|
||||
str = plugins.strReplace(str, 'Math.min(1, (elapsed - 1200) / 450)', `1`)
|
||||
str = plugins.insertBefore(str,
|
||||
`crownScale = 1
|
||||
shine = 0
|
||||
`, 'if(this.state.screen === "fadeIn" && elapsed >= 1200')
|
||||
}
|
||||
return str
|
||||
}),
|
||||
new EditFunction(Scoresheet.prototype, "getNumber").load(str => {
|
||||
if(d["results countup"])
|
||||
str = plugins.strReplace(str, 'this.numbers[numberPos % 30]', `"."`)
|
||||
return str
|
||||
}),
|
||||
new EditFunction(Account.prototype, "accountForm").load(str => {
|
||||
if(d["pause don"])
|
||||
str = plugins.strReplace(str, 'matchMedia("(prefers-reduced-motion: reduce)").matches', `true`)
|
||||
return str
|
||||
})
|
||||
)
|
||||
if(d["loading gif"]){
|
||||
var image = assets.image["dancing-don"]
|
||||
var canvas = document.createElement("canvas")
|
||||
canvas.width = image.width
|
||||
canvas.height = image.height
|
||||
var ctx = canvas.getContext("2d")
|
||||
ctx.drawImage(image, 0, 0)
|
||||
var promise = new Promise(resolve => {
|
||||
try{
|
||||
canvas.toBlob(resolve)
|
||||
}catch(e){
|
||||
resolve()
|
||||
}
|
||||
}).then(blob => {
|
||||
if(blob){
|
||||
var image = document.createElement("img")
|
||||
var promise = pageEvents.load(image)
|
||||
image.id = "dancing-don2.gif"
|
||||
image.src = URL.createObjectURL(blob)
|
||||
return promise.then(() => {
|
||||
loader.assetsDiv.appendChild(image)
|
||||
this.newDancingDon = image
|
||||
this.addEdits(
|
||||
new EditValue(assets.image, "dancing-don").load(() => this.newDancingDon)
|
||||
)
|
||||
}, () => Promise.resolve())
|
||||
}
|
||||
})
|
||||
}else{
|
||||
var promise = Promise.resolve()
|
||||
}
|
||||
return promise.then(() => {
|
||||
var css = []
|
||||
var playState = []
|
||||
if(d["song select background"])
|
||||
playState.push("#song-select")
|
||||
if(d["don background"])
|
||||
playState.push(".donbg>div")
|
||||
if(d["song background"])
|
||||
playState.push("#layer2")
|
||||
if(d["title screen proceed"])
|
||||
playState.push("#title-proceed")
|
||||
if(d["results tetsuo and hana"])
|
||||
playState.push("#tetsuo", "#tetsuo-in", "#hana", "#hana-in")
|
||||
if(d["results mikoshi"])
|
||||
playState.push("#mikoshi", "#mikoshi-in")
|
||||
if(playState.length)
|
||||
css.push(loader.cssRuleset({
|
||||
[playState.join(", ")]: {
|
||||
"animation-play-state": "paused !important"
|
||||
}
|
||||
}))
|
||||
var animation = []
|
||||
if(d["highlight"])
|
||||
animation.push(".setting-box", ".setting-value")
|
||||
if(d["results mikoshi"])
|
||||
animation.push("#mikoshi-out")
|
||||
if(d["results flowers"])
|
||||
animation.push("#flowers1-in", "#flowers2-in")
|
||||
if(animation.length)
|
||||
css.push(loader.cssRuleset({
|
||||
[animation.join(", ")]: {
|
||||
"animation": "none !important"
|
||||
}
|
||||
}))
|
||||
var transition = []
|
||||
if(d["song select background fade"])
|
||||
transition.push("#song-select")
|
||||
if(d["dropzone fade"])
|
||||
transition.push("#dropzone")
|
||||
if(d["results tetsuo and hana"])
|
||||
transition.push("#tetsuo", "#hana")
|
||||
if(d["results flowers"])
|
||||
transition.push("#flowers1", "#flowers2")
|
||||
if(transition.length){
|
||||
css.push(loader.cssRuleset({
|
||||
[transition.join(", ")]: {
|
||||
"transition": "none !important"
|
||||
}
|
||||
}))
|
||||
}
|
||||
if(d["highlight"])
|
||||
css.push(loader.cssRuleset({
|
||||
".view-content:not(:hover) .setting-box.selected, .setting-box:hover": {
|
||||
"border-color": "#ff0"
|
||||
},
|
||||
".setting-value.selected": {
|
||||
"border-color": "#e29e06"
|
||||
}
|
||||
}))
|
||||
if(d["results flowers"])
|
||||
css.push(loader.cssRuleset({
|
||||
"#tetsuohana.dance #flowers1-in, #tetsuohana.dance #flowers2-in": {
|
||||
"background-position-y": "calc(-318px * var(--scale)) !important"
|
||||
}
|
||||
}))
|
||||
if(d["results fade out"])
|
||||
css.push(loader.cssRuleset({
|
||||
"#fade-screen": {
|
||||
"display": "none"
|
||||
}
|
||||
}))
|
||||
if(d["loading gif"])
|
||||
css.push(loader.cssRuleset({
|
||||
"#loading-don": {
|
||||
"background-image": this.newDancingDon ? `url("${this.newDancingDon.src}")` : "none"
|
||||
}
|
||||
}))
|
||||
if(css.length){
|
||||
this.style = document.createElement("style")
|
||||
this.style.appendChild(document.createTextNode(css.join("\n")))
|
||||
}
|
||||
})
|
||||
}
|
||||
start(){
|
||||
if(this.style){
|
||||
document.head.appendChild(this.style)
|
||||
}
|
||||
}
|
||||
stop(){
|
||||
if(this.style && this.style.parentNode){
|
||||
this.style.parentNode.removeChild(this.style)
|
||||
}
|
||||
}
|
||||
unload(){
|
||||
if(this.newDancingDon && this.newDancingDon.parentNode){
|
||||
URL.revokeObjectURL(this.newDancingDon.src)
|
||||
this.newDancingDon.parentNode.removeChild(this.newDancingDon)
|
||||
}
|
||||
delete this.newDancingDon
|
||||
delete this.style
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "D-pad Axis Input"
|
||||
version = "22.06.07"
|
||||
description = "Binds axis input to D-pad for gamepads"
|
||||
author = "Katie Frogs"
|
||||
|
||||
leftRightAxis = 0
|
||||
upDownAxis = 1
|
||||
|
||||
strings = {
|
||||
leftRightAxis: {
|
||||
name: "Left-Right Axis",
|
||||
name_lang: {},
|
||||
description: "The number for the left-right axis, can be checked on gamepad-tester.com",
|
||||
description_lang: {}
|
||||
},
|
||||
upDownAxis: {
|
||||
name: "Up-Down Axis",
|
||||
name_lang: {},
|
||||
description: "The number for the up-down axis, can be checked on gamepad-tester.com",
|
||||
description_lang: {}
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(Gamepad.prototype, "play").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`var leftRightAxis = this.getLeftRightAxis()
|
||||
var upDownAxis = this.getUpDownAxis()
|
||||
if(axes.length >= leftRightAxis){
|
||||
force.l = force.l || axes[leftRightAxis] <= -0.5
|
||||
force.r = force.r || axes[leftRightAxis] >= 0.5
|
||||
}
|
||||
if(axes.length >= upDownAxis){
|
||||
force.u = force.u || axes[upDownAxis] <= -0.5
|
||||
force.d = force.d || axes[upDownAxis] >= 0.5
|
||||
}
|
||||
if(leftRightAxis === 0 || upDownAxis === 0){
|
||||
force.lsl = false
|
||||
force.lsr = false
|
||||
}
|
||||
if(leftRightAxis === 1 || upDownAxis === 1){
|
||||
force.lsu = false
|
||||
force.lsd = false
|
||||
}
|
||||
`, 'if(axes.length >= 10){')
|
||||
}),
|
||||
new EditValue(Gamepad.prototype, "getLeftRightAxis").load(() => this.getLeftRightAxis.bind(this)),
|
||||
new EditValue(Gamepad.prototype, "getUpDownAxis").load(() => this.getUpDownAxis.bind(this))
|
||||
)
|
||||
}
|
||||
getLeftRightAxis(){
|
||||
return this.leftRightAxis
|
||||
}
|
||||
getUpDownAxis(){
|
||||
return this.upDownAxis
|
||||
}
|
||||
settings(){
|
||||
return Object.keys(this.strings).map(name => {
|
||||
var str = this.strings[name]
|
||||
return {
|
||||
name: str.name,
|
||||
name_lang: str.name_lang,
|
||||
description: str.description,
|
||||
description_lang: str.description_lang,
|
||||
type: "number",
|
||||
min: 0,
|
||||
default: this[name],
|
||||
getItem: () => this[name],
|
||||
setItem: value => {
|
||||
this[name] = value
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Custom Barlines"
|
||||
version = "22.06.02"
|
||||
description = "Adds #BARLINESCROLL and #BARLINE to the tja format. #BARLINESCROLL can be used to set independent speed values on the measure lines, can be set to a floating point value or off. #BARLINE can insert measure lines anywhere in the chart."
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(ParseTja.prototype, "parseCircles").load(str => {
|
||||
str = plugins.insertAfter(str, 'var lyricsLine = null', `
|
||||
var barlineScroll = null
|
||||
var customBarLine = false`)
|
||||
str = plugins.strReplace(str,
|
||||
'var speed = note.bpm * note.scroll / 60',
|
||||
`var speed = note.bpm * (note.barlineScroll === null ? note.scroll : note.barlineScroll) / 60`)
|
||||
str = plugins.strReplace(str,
|
||||
'var speed = bpm * scroll / 60',
|
||||
`var speed = bpm * (barlineScroll === null ? scroll : barlineScroll) / 60`)
|
||||
str = plugins.insertBefore(str,
|
||||
`if(i !== 0 && note.customBarLine){
|
||||
this.measures.push({
|
||||
ms: note.start,
|
||||
originalMS: note.start,
|
||||
speed: note.bpm * (note.barlineScroll === null ? note.scroll : note.barlineScroll) / 60,
|
||||
visible: barLine,
|
||||
branch: currentBranch,
|
||||
branchFirst: false
|
||||
})
|
||||
}
|
||||
`, 'if("lyricsLine" in note){')
|
||||
str = plugins.insertBefore(str,
|
||||
`case "barlinescroll":
|
||||
var valueLower = value.toLowerCase().trim()
|
||||
if(!valueLower || valueLower === "off"){
|
||||
barlineScroll = null
|
||||
}else{
|
||||
barlineScroll = Math.max(0, parseFloat(value) || 0)
|
||||
}
|
||||
break
|
||||
case "barline":
|
||||
customBarLine = true
|
||||
break
|
||||
`, 'case "lyric":')
|
||||
str = plugins.insertBefore(str,
|
||||
`circleObj.barlineScroll = barlineScroll
|
||||
circleObj.customBarLine = customBarLine
|
||||
customBarLine = false
|
||||
`, 'currentMeasure.push(circleObj)')
|
||||
return plugins.insertBefore(str,
|
||||
`circleObj2.barlineScroll = barlineScroll
|
||||
circleObj2.customBarLine = customBarLine
|
||||
customBarLine = false
|
||||
`, 'currentMeasure.push(circleObj2)')
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,261 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Green Notes"
|
||||
version = "22.02.28"
|
||||
description = "Adds support for green notes (G) and ad-lib notes (F) in custom charts"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
var promise = snd.sfxGain.load(new RemoteFile(se_hidden())).then(sound => {
|
||||
assets.sounds["se_hidden"] = sound
|
||||
assets.sounds["se_hidden_p1"] = sound.copy(snd.sfxGainL)
|
||||
assets.sounds["se_hidden_p2"] = sound.copy(snd.sfxGainR)
|
||||
})
|
||||
|
||||
this.addEdits(
|
||||
new EditFunction(CanvasDraw.prototype, "score").load(str => {
|
||||
str = plugins.insertAfter(str, 'strings.good === "良"', ` && config.score !== "adlib"`)
|
||||
return plugins.insertBefore(str,
|
||||
`else if(config.score === "adlib"){
|
||||
if(config.results){
|
||||
ctx.textAlign = "right"
|
||||
}
|
||||
ctx.strokeStyle = "#ef9100"
|
||||
ctx.fillStyle = "#fff"
|
||||
ctx.strokeText("AD-LIB", 0, 4)
|
||||
ctx.fillText("AD-LIB", 0, 4)
|
||||
}
|
||||
`, '}\n\t\tctx.restore()')
|
||||
}),
|
||||
new EditFunction(Controller.prototype, "init").load(str => {
|
||||
return plugins.insertAfter(str, '["don", "ka", "daiDon", "daiKa"', `, "green"`)
|
||||
}),
|
||||
new EditFunction(Controller.prototype, "displayScore").load((str, args) => {
|
||||
args.push("adlib")
|
||||
return plugins.insertAfter(str, 'bigNote', `, adlib`)
|
||||
}),
|
||||
new EditFunction(Game.prototype, "init").load(str => {
|
||||
str = plugins.insertAfter(str, 'gauge: 0,', `
|
||||
adlib: 0,
|
||||
adlibTotal: 0,`)
|
||||
return plugins.insertAfter(str, 'type === "daiKa"', ` || type === "green"`)
|
||||
}),
|
||||
new EditFunction(Game.prototype, "skipNote").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`if(circle.type !== "adlib"){
|
||||
`, 'this.sectionNotes.push(0)')
|
||||
return plugins.insertAfter(str,
|
||||
'this.updateGlobalScore(0, 1)', `
|
||||
}`)
|
||||
}),
|
||||
new EditFunction(Game.prototype, "checkPlays").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`if((don_l || don_r) && (ka_l || ka_r)){
|
||||
this.checkKey(["don_l", "don_r", "ka_l", "ka_r"], circle, "green")
|
||||
}else `, 'if(keyTime["don"] >= keyTime["ka"]){')
|
||||
}),
|
||||
new EditFunction(Game.prototype, "checkScore").load(str => {
|
||||
str = plugins.insertAfter(str, 'var typeDai = type === "daiDon" || type === "daiKa"', ` || type === "green"
|
||||
var keyGreen = check === "green"
|
||||
typeDon = type === "don" || type === "daiDon" || type === "adlib"
|
||||
typeKa = type === "ka" || type === "daiKa" || type === "adlib"
|
||||
var typeAdlib = type === "adlib"
|
||||
var typeGreen = type === "green"`)
|
||||
str = plugins.insertAfter(str, 'typeDon || typeKa', ` || typeGreen`)
|
||||
str = plugins.insertAfter(str, 'keysDon && typeDon || keysKa && typeKa', ` || typeGreen`)
|
||||
str = plugins.insertBefore(str, `typeGreen ? !keyGreen : `, 'typeDai && !keyDai')
|
||||
str = plugins.insertBefore(str,
|
||||
` if(typeGreen){
|
||||
return true
|
||||
}else`, '{\n\t\t\t\t\t\tcircleStatus = circle.daiFailed.status')
|
||||
str = plugins.strReplace(str,
|
||||
'circle.played(score, score === 0 ? typeDai : keyDai)\n\t\t\t\tthis.controller.displayScore(score, false, typeDai && keyDai)',
|
||||
`circle.played(score, score === 0 ? typeDai : (keyDai || typeGreen))
|
||||
if(!typeAdlib || score){
|
||||
this.controller.displayScore(score, false, typeDai && keyDai || typeGreen, typeAdlib)
|
||||
}`)
|
||||
str = plugins.strReplace(str,
|
||||
'this.updateCombo(score)\n\t\t\tthis.updateGlobalScore(score, typeDai && keyDai ? 2 : 1, circle.gogoTime)',
|
||||
`if(!typeAdlib || score){
|
||||
this.updateCombo(score)
|
||||
var doubleScore = typeDai && keyDai || typeGreen
|
||||
this.updateGlobalScore(score, doubleScore ? 2 : 1, circle.gogoTime)
|
||||
this.sectionNotes.push(score === 450 ? 1 : (score === 230 ? 0.5 : 0))
|
||||
}
|
||||
if(typeAdlib && score){
|
||||
this.globalScore.adlib++
|
||||
}`)
|
||||
str = plugins.strReplace(str,
|
||||
'dai: typeDai ? (keyDai ? 2 : 1) : 0',
|
||||
`dai: typeDai ? (keyDai ? 2 : 1) : (typeGreen ? 2 : 0)`)
|
||||
str = plugins.strReplace(str, 'keysDon && type === "balloon"', `(keysDon || keyGreen) && type === "balloon"`)
|
||||
str = plugins.insertBefore(str, ` || keyGreen`, ') && (type === "drumroll" || type === "daiDrumroll")')
|
||||
return plugins.strReplace(str,
|
||||
'if(keyDai){\n\t\t\t\t\tthis.checkDrumroll(circle, keysKa)',
|
||||
`if(keyDai || keyGreen){
|
||||
this.checkDrumroll(circle, keysKa || keyGreen)`)
|
||||
}),
|
||||
new EditFunction(Game.prototype, "updateCurrentCircle").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`if(circles[this.currentCircle] && circles[this.currentCircle].type === "adlib"){
|
||||
this.globalScore.adlibTotal++
|
||||
}
|
||||
`, 'do{')
|
||||
}),
|
||||
new EditFunction(GameInput.prototype, "checkKeySound").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`if(circle.type === "adlib"){
|
||||
var relative = Math.abs(currentTime - circle.ms)
|
||||
if(relative < this.game.rules.ok){
|
||||
this.controller.playSound("se_hidden")
|
||||
return
|
||||
}
|
||||
}else `, 'if(circle.type === "balloon"){')
|
||||
}),
|
||||
new EditFunction(Mekadon.prototype, "playNow").load(str => {
|
||||
str = plugins.insertAfter(str, 'if(type === "don" || type === "daiDon"', ` || type === "adlib"`)
|
||||
str = plugins.insertBefore(str,
|
||||
`else if(type === "adlib"){
|
||||
type = "don"
|
||||
}
|
||||
`, 'if(type === "daiDon" && playDai){')
|
||||
str = plugins.insertAfter(str, 'this.lr = !this.lr', `
|
||||
}else if(type === "green"){
|
||||
this.setKey("ka_l", ms)
|
||||
this.setKey("don_r", ms)
|
||||
this.lr = false
|
||||
keyDai = true`)
|
||||
str = plugins.insertAfter(str, 'this.controller.displayScore(score, false, keyDai', `, circle.type === "adlib"`)
|
||||
return plugins.insertBefore(str,
|
||||
`if(circle.type === "adlib" && score){
|
||||
this.game.globalScore.adlib++
|
||||
}
|
||||
`, 'this.game.sectionNotes.push')
|
||||
}),
|
||||
new EditFunction(ParseTja.prototype, "init").load(str => {
|
||||
return plugins.insertAfter(str, '"B": {name: "daiKa", txt: strings.note.daiKa}', `,
|
||||
"F": {name: "adlib", txt: false},
|
||||
"G": {name: "green", txt: strings.note.green}`)
|
||||
}),
|
||||
new EditFunction(ParseTja.prototype, "parseCircles").load(str => {
|
||||
return plugins.insertAfter(str, 'case "A": case "B":', ` case "F": case "G":`)
|
||||
}),
|
||||
new EditFunction(Scoresheet.prototype, "redraw").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`var showAdlib = false
|
||||
for(var p = 0; p < players; p++){
|
||||
var results = this.results[p]
|
||||
if(results.adlibTotal > 0){
|
||||
showAdlib = true
|
||||
}
|
||||
}
|
||||
`, 'var rules = this.controller.game.rules')
|
||||
str = plugins.insertAfter(str, '{fill: "#ffc700"}\n\t\t\t\t\t])', `
|
||||
if(showAdlib){
|
||||
this.draw.score({
|
||||
ctx: ctx,
|
||||
score: "adlib",
|
||||
x: 1149,
|
||||
y: 273,
|
||||
results: true
|
||||
})
|
||||
this.draw.layeredText({
|
||||
ctx: ctx,
|
||||
text: "%",
|
||||
x: 971 + 270,
|
||||
y: 196 + 80,
|
||||
fontSize: 26,
|
||||
fontFamily: this.numbersFont,
|
||||
align: "right"
|
||||
}, [
|
||||
{outline: "#000", letterBorder: 9},
|
||||
{fill: "#fff"}
|
||||
])
|
||||
}`)
|
||||
str = plugins.insertBefore(str,
|
||||
`if(showAdlib){
|
||||
printNumbers.push("adlib")
|
||||
}
|
||||
`, 'if(!this.state["countupTime0"]){')
|
||||
str = plugins.strReplace(str,
|
||||
'var currentTime = lastTime + 500 + results[printNumbers[i]].length * 30 * this.frame',
|
||||
`if(printNumbers[i] === "adlib"){
|
||||
var resultsNumber = (results.adlibTotal > 0 ? Math.floor(results.adlib / results.adlibTotal * 100) : 0).toString()
|
||||
}else{
|
||||
var resultsNumber = results[printNumbers[i]]
|
||||
}
|
||||
var currentTime = lastTime + 500 + resultsNumber.length * 30 * this.frame`)
|
||||
str = plugins.insertAfter(str,
|
||||
'var start = this.state["countupTime" + p][printNumbers[i]]', `
|
||||
var isAdlib = printNumbers[i] === "adlib"
|
||||
if(isAdlib){
|
||||
var resultsNumber = (results.adlibTotal > 0 ? Math.floor(results.adlib / results.adlibTotal * 100) : 0).toString()
|
||||
}else{
|
||||
var resultsNumber = results[printNumbers[i]]
|
||||
}`)
|
||||
str = plugins.strReplace(str,
|
||||
'text: this.getNumber(results[printNumbers[i]], start, elapsed),',
|
||||
`text: this.getNumber(resultsNumber, start, elapsed),`)
|
||||
str = plugins.insertAfter(str, 'x: 971 + 270 * Math.floor(i / 3)', ` - (isAdlib ? 25 : 0)`)
|
||||
return plugins.strReplace(str,
|
||||
'letterSpacing: 1,',
|
||||
`letterSpacing: isAdlib ? -1 : 1,`)
|
||||
}),
|
||||
new EditValue(allStrings.en.note, "green").load(() => "Green"),
|
||||
new EditValue(allStrings.ja.note, "green").load(() => "グリーン"),
|
||||
new EditValue(allStrings.cn.note, "green").load(() => "绿"),
|
||||
new EditValue(allStrings.tw.note, "green").load(() => "綠"),
|
||||
new EditValue(allStrings.ko.note, "green").load(() => "녹색"),
|
||||
new EditFunction(View.prototype, "refresh").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`var drawScore = this.currentScore.adlib ? "adlib" : scores[this.currentScore.type]
|
||||
`, 'var yOffset = scoreMS < 70 ? scoreMS * (13 / 70) : 0')
|
||||
return plugins.strReplace(str, 'score: scores[this.currentScore.type],', `score: drawScore,`)
|
||||
}),
|
||||
new EditFunction(View.prototype, "drawCircle").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`}else if(type === "green"){
|
||||
fill = "#5eb956"
|
||||
size = bigCircleSize
|
||||
faceID = noteFace.big
|
||||
`, '}else if(type === "balloon"){')
|
||||
}),
|
||||
new EditFunction(View.prototype, "displayScore").load((str, args) => {
|
||||
args.push("adlib")
|
||||
return plugins.insertAfter(str,
|
||||
'this.currentScore.bigNote = bigNote', `
|
||||
this.currentScore.adlib = adlib`)
|
||||
})
|
||||
)
|
||||
return promise
|
||||
}
|
||||
unload(){
|
||||
delete assets.sounds["se_hidden"]
|
||||
delete assets.sounds["se_hidden_p1"]
|
||||
delete assets.sounds["se_hidden_p2"]
|
||||
}
|
||||
}
|
||||
|
||||
function se_hidden(){
|
||||
return "data:audio/ogg;base64,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"
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Loading Background"
|
||||
version = "22.05.15"
|
||||
description = "Shows a custom loading background if a loading.png file is in the same directory as the chart"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(ImportSongs.prototype, "addTja").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`songObj.loadingBg = this.otherFiles[file.path.slice(0, file.path.lastIndexOf("/") + 1).toLowerCase() + "loading.png"]
|
||||
`, 'if(titleLangAdded){')
|
||||
}),
|
||||
new EditFunction(ImportSongs.prototype, "addOsu").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`songObj.loadingBg = this.otherFiles[file.path.slice(0, file.path.lastIndexOf("/") + 1).toLowerCase() + "loading.png"]
|
||||
`, 'if(title){')
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "toLoadSong").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`var loadingBg
|
||||
if(selectedSong.loadingBg){
|
||||
var promise = selectedSong.loadingBg.blob().then(blob => {
|
||||
var blobUrl = URL.createObjectURL(blob)
|
||||
var img = document.createElement("img")
|
||||
var promise2 = pageEvents.load(img).then(() => {
|
||||
assets.image["loading.png"] = img
|
||||
loader.assetsDiv.appendChild(img)
|
||||
loadingBg = blobUrl
|
||||
}, () => Promise.resolve())
|
||||
img.id = "loading.png"
|
||||
img.src = blobUrl
|
||||
return promise2
|
||||
}, () => Promise.resolve())
|
||||
}else{
|
||||
var promise = Promise.resolve()
|
||||
}
|
||||
promise.then(() => {
|
||||
`, 'new LoadSong({')
|
||||
str = plugins.insertAfter(str, '"lyrics": selectedSong.lyrics', `,
|
||||
loadingBg: loadingBg`)
|
||||
return str + `
|
||||
})`
|
||||
}),
|
||||
new EditFunction(LoadSong.prototype, "run").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`if(song.loadingBg){
|
||||
this.loadingBg = song.loadingBg
|
||||
var loadSongDiv = document.getElementById("load-song")
|
||||
loadSongDiv.style.backgroundImage = "url('" + this.loadingBg + "')"
|
||||
loadSongDiv.style.backgroundSize = "cover"
|
||||
this.addPromise(new Promise(resolve => setTimeout(resolve, 1000)))
|
||||
}
|
||||
`, 'this.songObj = songObj')
|
||||
}),
|
||||
new EditFunction(LoadSong.prototype, "clean").load(str => {
|
||||
return str + `
|
||||
if(this.loadingBg){
|
||||
loader.assetsDiv.removeChild(assets.image["loading.png"])
|
||||
delete assets.image["loading.png"]
|
||||
URL.revokeObjectURL(this.loadingBg)
|
||||
}`
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Convert Lyrics to vtt"
|
||||
version = "22.11.11"
|
||||
description = "Adds an option to the pause screen to download converted lyrics in WEBVTT format"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(View.prototype, "init").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'this.pauseOptions = strings.pauseOptions', `
|
||||
if(controller.lyrics){
|
||||
this.pauseOptions = [...this.pauseOptions, "Convert Lyrics"]
|
||||
this.pauseLyrics = this.pauseOptions.length - 1
|
||||
}`)
|
||||
}),
|
||||
new EditFunction(View.prototype, "pauseConfirm").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'switch(pos){', `
|
||||
case this.pauseLyrics:
|
||||
this.getVtt()
|
||||
break`)
|
||||
}),
|
||||
new EditValue(View.prototype, "timeSeconds").load(() => this.timeSeconds),
|
||||
new EditValue(View.prototype, "getVtt").load(() => this.getVtt)
|
||||
)
|
||||
}
|
||||
timeSeconds(ms){
|
||||
var s = ms / 1000
|
||||
var m = Math.floor(s / 60)
|
||||
var h = Math.floor(m / 60)
|
||||
s = (s % 60).toFixed(3).padStart(6, "0")
|
||||
m = (m % 60).toString().padStart(2, "0")
|
||||
if(h === 0){
|
||||
return [m, s].join(":")
|
||||
}else{
|
||||
return [h.toString().padStart(2, "0"), m, s].join(":")
|
||||
}
|
||||
}
|
||||
getVtt(){
|
||||
if(!this.controller.lyrics){
|
||||
return
|
||||
}
|
||||
var lyricsText = [
|
||||
["WEBVTT Offset: 0"],
|
||||
...this.controller.lyrics.lines.filter(line => line.text).map(line => [
|
||||
this.timeSeconds(line.start) + " --> " + this.timeSeconds(line.end),
|
||||
line.text
|
||||
].join("\n"))
|
||||
].join("\n\n") + "\n"
|
||||
|
||||
var blob = new Blob([lyricsText], {
|
||||
type: "application/octet-stream"
|
||||
})
|
||||
|
||||
var url = URL.createObjectURL(blob)
|
||||
var link = document.createElement("a")
|
||||
link.href = url
|
||||
if("download" in HTMLAnchorElement.prototype){
|
||||
link.download = this.controller.selectedSong.title + ".vtt"
|
||||
}else{
|
||||
link.target = "_blank"
|
||||
}
|
||||
link.innerText = "."
|
||||
link.style.opacity = "0"
|
||||
document.body.appendChild(link)
|
||||
setTimeout(() => {
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
setTimeout(() => {
|
||||
URL.revokeObjectURL(url)
|
||||
}, 5000)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Debug Button"
|
||||
version = "22.11.03"
|
||||
description = "Adds a button to access the debug window"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
var promises = []
|
||||
var css = []
|
||||
|
||||
promises.push(this.loadCssBackground("touch_debug.png", touch_debug()).then(image => {
|
||||
this.touchDebug = image
|
||||
css.push(loader.cssRuleset({
|
||||
"#touch-debug-btn": {
|
||||
"background-image": "url(\"" + this.touchDebug.src + "\")",
|
||||
"cursor": "pointer"
|
||||
}
|
||||
}))
|
||||
this.addEdits(
|
||||
new EditValue(assets.image, "touch_debug").load(() => image)
|
||||
)
|
||||
}))
|
||||
|
||||
this.addEdits(
|
||||
new EditFunction(View.prototype, "init").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`this.touchButtons = document.getElementById("touch-buttons")
|
||||
if(!this.controller.touchEnabled){
|
||||
this.touchButtons.style.display = "block"
|
||||
document.getElementById("touch-full-btn").style.display = "none"
|
||||
document.getElementById("touch-pause-btn").style.display = "none"
|
||||
}
|
||||
this.debugButton = document.createElement("div")
|
||||
this.debugButton.id = "touch-debug-btn"
|
||||
pageEvents.add(this.debugButton, ["click", "touchend"], debug)
|
||||
this.touchButtons.insertBefore(this.debugButton, this.touchButtons.firstChild)
|
||||
`, 'if(this.controller.touchEnabled){')
|
||||
}),
|
||||
new EditFunction(View.prototype, "clean").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'if(this.multiplayer !== 2){', `
|
||||
pageEvents.remove(this.debugButton, ["click", "touchend"])
|
||||
this.touchButtons.removeChild(this.debugButton)
|
||||
delete this.debugButton
|
||||
delete this.touchButtons`)
|
||||
})
|
||||
)
|
||||
return Promise.all(promises).then(() => {
|
||||
this.style = document.createElement("style")
|
||||
this.style.appendChild(document.createTextNode(css.join("\n")))
|
||||
})
|
||||
}
|
||||
start(){
|
||||
document.head.appendChild(this.style)
|
||||
}
|
||||
stop(){
|
||||
document.head.removeChild(this.style)
|
||||
}
|
||||
unload(){
|
||||
delete this.style
|
||||
loader.assetsDiv.removeChild(this.touchDebug)
|
||||
URL.revokeObjectURL(this.touchDebug.src)
|
||||
delete this.touchDebug
|
||||
}
|
||||
loadCssBackground(filename, url){
|
||||
return loader.ajax(url, request => {
|
||||
request.responseType = "blob"
|
||||
}).then(blob => {
|
||||
var image = document.createElement("img")
|
||||
var promise = pageEvents.load(image)
|
||||
image.id = filename
|
||||
image.src = URL.createObjectURL(blob)
|
||||
loader.assetsDiv.appendChild(image)
|
||||
return promise.then(() => image)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function touch_debug(){
|
||||
return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAQAAACSR7JhAAACvUlEQVR4Ae2ZA4wkWxhGv2cHz7Zt22b8bK85tj0TjD0TrW0jXtu2rbPhTbo66OlbuTuoc9qlL9XF/1dAQEBAQEBAhJyvL9WkDTohLD2hDWrSlzpf1jyp+eJ6viOGJEtj+I7rEZqvJ2XF5zpyK42cwS/O0Mit6Ig+t1lTR55hG3CUYaSTaGk6wzgKbOMZdERPRrtNzb+VbcB4buMR/qK7pX/xCLcxHtjGrWh+dNvYl6IRGM+V1HHSJ+u4kvFAI0JfKgqarucMR7mNGo76aA23cZQzXI+aFAUbvgOG8RAHffYhhgHfoQ2KghMxQDo/s9dnfyYdiEEnFAUkAwn0ZafP9iERSEIoCkgCEunNVp/t7UesXmzy2V5dOtZ8hJEF7SXWMISR4e0lVjHCSMm5jDWbKebzXwgjf5nfpzDbdaw3EC9Qxh\
|
||||
ReRx7fYAplvIB4w22sGhShte5ireVuFKF3sMZVrBjUBmPdxFrBVcjjo9SyhCXU8AjyeBUr3Kytak+wV1hthq3mZU+oaneb/AweMAu+kLmeQ8cFZtgDzHB7gBhtFv102LAnzbDRro9bg82i3wkb9rYZNth1rCqz6DvDht1uhlW5jZXGRcjYEDKsDhkvIs1VrNV8g0K8BrMNMZprUIjfsNpFrHU8gDxeyFfkkM2XXIg8PsA6N39iK2qDre62rQ9RhH7ocpOfxcUIcRkPonB5kMsQ4mJmuT1A/MMDpLKEjeRyI8LITeSykSWk8gD/OD5uhWzGcQgjcZ6xnMYKO7Qaq9rLLcZEhJFJ7SXWSj7FyMrgrrr9xerpfywSgGSERdntR7b57I+kAbHohFWRcrfP2hQpTUn3VirY76MV3GpKupYF8GqO+GS1pwBu2S54mD+It/QPHrZvF3ibK2l0tzTNvrniqBVl37iLpcjSWIvGXTtoc7Z7AgICAg\
|
||||
ICAs4CX8F1TdER+6wAAAAASUVORK5CYII="
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Display Game Cache"
|
||||
version = "22.02.11"
|
||||
description = "Appends cached assets below the game"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(CanvasCache.prototype, "resize").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'this.ctx = this.canvas.getContext("2d")', `
|
||||
document.body.appendChild(this.canvas)`)
|
||||
}),
|
||||
new EditFunction(CanvasCache.prototype, "clean").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'this.resize(1, 1, 1)', `
|
||||
document.body.removeChild(this.canvas)`)
|
||||
}),
|
||||
new EditValue(document.body.style, "overflow").load(() => "auto")
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Millisecond Accuracy"
|
||||
name_lang = {
|
||||
ja: "ミリ秒単位の精度"
|
||||
}
|
||||
version = "22.02.22"
|
||||
description = "Replaces the judge score with the accuracy in milliseconds"
|
||||
description_lang = {
|
||||
ja: "判定点数をミリ秒単位の精度に置き換えます"
|
||||
}
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(CanvasDraw.prototype, "score").load(str => {
|
||||
str = plugins.insertBefore(str, `!config.text && `, 'strings.good ===')
|
||||
return str.replace(/strings\.(good|ok|bad),/g, "config.text || $&")
|
||||
}),
|
||||
new EditFunction(Game.prototype, "checkScore").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`this.lastRelative = relative
|
||||
`, 'relative = Math.abs(relative)')
|
||||
}),
|
||||
new EditFunction(View.prototype, "refresh").load(str => {
|
||||
return plugins.insertAfter(str, "scale: 1.35 * mul,",`
|
||||
text: (this.controller.game.lastRelative >= 0 ? "+" : "") + Math.floor(this.controller.game.lastRelative).toString(),`)
|
||||
}),
|
||||
new EditFunction(Mekadon.prototype, "playNow").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`this.game.lastRelative = this.getMS() - ms
|
||||
`, 'this.controller.displayScore')
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Show BPM"
|
||||
name_lang = {
|
||||
ja: "BPMを表示する"
|
||||
}
|
||||
version = "22.02.22"
|
||||
description = "Displays the current BPM in game"
|
||||
description_lang = {
|
||||
ja: "ゲーム中のBPMを表示します"
|
||||
}
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(View.prototype, "refresh").load(str => {
|
||||
return plugins.insertBefore(str, `
|
||||
this.draw.layeredText({
|
||||
ctx: ctx,
|
||||
text: "BPM: " + (Math.floor(1000 / this.beatInterval * 60 * 1000) / 1000).toString(),
|
||||
fontSize: 30,
|
||||
fontFamily: this.font,
|
||||
x: 10,
|
||||
y: frameTop + (this.portrait ? 500 : 400),
|
||||
width: 600,
|
||||
align: "left"
|
||||
}, [
|
||||
{outline: "#000", letterBorder: 10},
|
||||
{fill: "#fff"}
|
||||
])
|
||||
`, '// Pause screen')
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Example Plugin"
|
||||
version = "22.02.11"
|
||||
description = "Replaces the judge score with great/cool/miss"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.log("load")
|
||||
this.addEdits(
|
||||
new EditValue(allStrings.en, "good").load(() => "GREAT"),
|
||||
new EditValue(allStrings.en, "ok").load(() => "COOL"),
|
||||
new EditValue(allStrings.en, "bad").load(() => "MISS")
|
||||
)
|
||||
}
|
||||
start(){
|
||||
this.log("start")
|
||||
}
|
||||
stop(){
|
||||
this.log("stop")
|
||||
}
|
||||
unload(){
|
||||
this.log("unload")
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,320 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Language: English"
|
||||
name_lang = {
|
||||
en: "Language: English"
|
||||
}
|
||||
version = "22.03.26"
|
||||
description = ""
|
||||
author = ""
|
||||
|
||||
strings = {
|
||||
id: "en2",
|
||||
name: "English",
|
||||
regex: /^en$|^en-/,
|
||||
font: "TnT, Meiryo, sans-serif",
|
||||
intl: "en-GB",
|
||||
preferEn: true,
|
||||
|
||||
taikoWeb: "Taiko Web",
|
||||
titleProceed: "Click or Press Enter!",
|
||||
titleDisclaimer: "This unofficial simulator is unaffiliated with BANDAI NAMCO.",
|
||||
titleCopyright: "Taiko no Tatsujin ©&™ 2011 BANDAI NAMCO Entertainment Inc.",
|
||||
selectSong: "Select Song",
|
||||
selectDifficulty: "Select Difficulty",
|
||||
back: "Back",
|
||||
random: "Random",
|
||||
randomSong: "Random Song",
|
||||
howToPlay: "How to Play",
|
||||
aboutSimulator: "About Simulator",
|
||||
gameSettings: "Game Settings",
|
||||
songOptions: "Song Options",
|
||||
none: "None",
|
||||
auto: "Auto",
|
||||
netplay: "Netplay",
|
||||
easy: "Easy",
|
||||
normal: "Normal",
|
||||
hard: "Hard",
|
||||
oni: "Extreme",
|
||||
songBranch: "Diverge Notes",
|
||||
defaultName: "Don-chan",
|
||||
default2PName: "Katsu-chan",
|
||||
notLoggedIn: "Not logged in",
|
||||
sessionStart: "Begin an Online Session!",
|
||||
sessionEnd: "End Online Session",
|
||||
scoreSaveFailed: "Could not connect to the server, your score has not been saved.\n\nPlease log in or refresh the page to try saving the score again.",
|
||||
loadSongError: "Could not load song %s with ID %s.\n\n%s",
|
||||
accessNotGrantedError: "Permission to access the file was not granted",
|
||||
loading: "Loading...",
|
||||
waitingForP2: "Waiting for Another Player...",
|
||||
cancel: "Cancel",
|
||||
note: {
|
||||
don: "Don",
|
||||
ka: "Ka",
|
||||
daiDon: "DON",
|
||||
daiKa: "KA",
|
||||
drumroll: "Drum rollー!!",
|
||||
daiDrumroll: "DRUM ROLLー!!",
|
||||
balloon: "Balloon"
|
||||
},
|
||||
ex_note: {
|
||||
don: ["Do", "Do"],
|
||||
ka: ["Ka"],
|
||||
daiDon: ["DON", "DON"],
|
||||
daiKa: ["KA"]
|
||||
},
|
||||
combo: "Combo",
|
||||
clear: "Clear",
|
||||
good: "GOOD",
|
||||
ok: "OK",
|
||||
bad: "BAD",
|
||||
branch: {
|
||||
normal: "Normal",
|
||||
advanced: "Professional",
|
||||
master: "Master"
|
||||
},
|
||||
pauseOptions: [
|
||||
"Continue",
|
||||
"Retry",
|
||||
"Back to Select Song"
|
||||
],
|
||||
results: "Results",
|
||||
points: "pts",
|
||||
maxCombo: "MAX Combo",
|
||||
drumroll: "Drumroll",
|
||||
errorOccured: "An error occurred, please refresh",
|
||||
tutorial: {
|
||||
basics: [
|
||||
"When a note overlaps the frame, that is your cue to hit the drum!",
|
||||
"For red notes, hit the surface of the drum (%s or %s)...",
|
||||
"...and for blue notes, hit the rim! (%s or %s)",
|
||||
"USB controllers are also supported!"
|
||||
],
|
||||
otherControls: "Other controls",
|
||||
otherTutorial: [
|
||||
"%s — pause game",
|
||||
"%s and %s while selecting song — navigate categories",
|
||||
"%s while selecting difficulty — enable autoplay mode",
|
||||
"%s while selecting difficulty — enable 2P mode"
|
||||
],
|
||||
ok: "OK",
|
||||
key: {
|
||||
ctrl: "CTRL",
|
||||
shift: "⇧ SHIFT",
|
||||
leftArrow: "←",
|
||||
rightArrow: "→",
|
||||
esc: "ESC",
|
||||
join: "+",
|
||||
or: " or "
|
||||
}
|
||||
},
|
||||
about: {
|
||||
bugReporting: [
|
||||
"This simulator is still in development.",
|
||||
"Please report any bugs you find.",
|
||||
"You can report bugs either via our Git repository or email."
|
||||
],
|
||||
diagnosticWarning: "Be sure to include the following diagnostic data!",
|
||||
issueTemplate: "###### Describe the problem you are having below. Please include a screenshot and the diagnostic information.",
|
||||
issues: "Issues"
|
||||
},
|
||||
session: {
|
||||
multiplayerSession: "Multiplayer Session",
|
||||
linkTutorial: "Share this link with your friend to start playing together! Do not leave this screen while they join.",
|
||||
cancel: "Cancel"
|
||||
},
|
||||
settings: {
|
||||
language: {
|
||||
name: "Language"
|
||||
},
|
||||
resolution: {
|
||||
name: "Game Resolution",
|
||||
high: "High",
|
||||
medium: "Medium",
|
||||
low: "Low",
|
||||
lowest: "Lowest"
|
||||
},
|
||||
touchAnimation: {
|
||||
name: "Touch Animation"
|
||||
},
|
||||
keyboardSettings: {
|
||||
name: "Keyboard Settings",
|
||||
ka_l: "Left Rim",
|
||||
don_l: "Left Surface",
|
||||
don_r: "Right Surface",
|
||||
ka_r: "Right Rim"
|
||||
},
|
||||
gamepadLayout: {
|
||||
name: "Gamepad Layout",
|
||||
a: "Type A",
|
||||
b: "Type B",
|
||||
c: "Type C"
|
||||
},
|
||||
latency: {
|
||||
name: "Latency",
|
||||
value: "Audio: %s, Video: %s",
|
||||
calibration: "Latency Calibration",
|
||||
audio: "Audio",
|
||||
video: "Video",
|
||||
drumSounds: "Drum Sounds"
|
||||
},
|
||||
easierBigNotes: {
|
||||
name: "Easier Big Notes"
|
||||
},
|
||||
showLyrics: {
|
||||
name: "Show Lyrics"
|
||||
},
|
||||
on: "On",
|
||||
off: "Off",
|
||||
default: "Reset to Defaults",
|
||||
ok: "OK"
|
||||
},
|
||||
calibration: {
|
||||
title: "Latency Calibration",
|
||||
ms: "%sms",
|
||||
back: "Back to Settings",
|
||||
retryPrevious: "Retry Previous",
|
||||
start: "Start",
|
||||
finish: "Finish",
|
||||
audioHelp: {
|
||||
title: "Audio Latency Calibration",
|
||||
content: "Listen to a sound playing in the background.\n\nHit the surface of the drum (%s or %s) as you hear it!",
|
||||
contentAlt: "Listen to a sound playing in the background.\n\nHit the surface of the drum as you hear it!"
|
||||
},
|
||||
audioComplete: "Audio Latency Calibration completed!",
|
||||
videoHelp: {
|
||||
title: "Video Latency Calibration",
|
||||
content: "This time there will be no sounds.\n\nInstead, watch for notes blinking on the circle-shaped frame, hit the drum as they appear!"
|
||||
},
|
||||
videoComplete: "Video Latency Calibration completed!",
|
||||
results: {
|
||||
title: "Latency Calibration Results",
|
||||
content: "Audio latency: %s\nVideo latency: %s\n\nYou can configure these latency values in the settings."
|
||||
}
|
||||
},
|
||||
account: {
|
||||
username: "Username",
|
||||
enterUsername: "Enter Username",
|
||||
password: "Password",
|
||||
enterPassword: "Enter Password",
|
||||
repeatPassword: "Repeat Password",
|
||||
remember: "Remember me",
|
||||
login: "Log In",
|
||||
register: "Register",
|
||||
privacy: "Privacy",
|
||||
registerAccount: "Register account",
|
||||
passwordsDoNotMatch: "Passwords do not match",
|
||||
newPasswordsDoNotMatch: "New passwords do not match",
|
||||
cannotBeEmpty: "%s cannot be empty",
|
||||
error: "An error occurred while processing your request",
|
||||
logout: "Log Out",
|
||||
back: "Back",
|
||||
cancel: "Cancel",
|
||||
save: "Save",
|
||||
displayName: "Displayed Name",
|
||||
customdon: {
|
||||
bodyFill: "Body",
|
||||
faceFill: "Face",
|
||||
reset: "Reset"
|
||||
},
|
||||
changePassword: "Change Password",
|
||||
currentNewRepeat: [
|
||||
"Current Password",
|
||||
"New Password",
|
||||
"Repeat New Password"
|
||||
],
|
||||
deleteAccount: "Delete Account",
|
||||
verifyPassword: "Verify password to delete this account"
|
||||
},
|
||||
serverError: {
|
||||
not_logged_in: "Not logged in",
|
||||
invalid_username: "Invalid username, a username can only contain letters, numbers, and underscores, and must be between 3 and 20 characters long",
|
||||
username_in_use: "A user already exists with that username",
|
||||
invalid_password: "Cannot use this password, please check that your password is at least 6 characters long",
|
||||
invalid_username_password: "Invalid Username or Password",
|
||||
invalid_display_name: "Cannot use this name, please check that your new name is at most 25 characters long",
|
||||
invalid_don: "Could not save your custom Don",
|
||||
current_password_invalid: "Current password does not match",
|
||||
invalid_new_password: "Cannot use this password, please check that your new password is at least 6 characters long",
|
||||
verify_password_invalid: "Verification password does not match",
|
||||
invalid_csrf: "Security token expired. Please refresh the page."
|
||||
},
|
||||
browserSupport: {
|
||||
browserWarning: "You are running an unsupported browser (%s)",
|
||||
details: "Details...",
|
||||
failedTests: "The following tests have failed:",
|
||||
supportedBrowser: "Please use a supported browser such as %s"
|
||||
},
|
||||
creative: {
|
||||
creative: "Creative",
|
||||
maker: "Maker:"
|
||||
},
|
||||
withLyrics: "With lyrics",
|
||||
customSongs: {
|
||||
title: "Custom Song List",
|
||||
default: "Creative Song List",
|
||||
description: [
|
||||
"Pick a folder with Taiko chart files in TJA format to play on a custom song list!"
|
||||
],
|
||||
localFolder: "Local Folder...",
|
||||
gdriveFolder: "Google Drive...",
|
||||
gdriveAccount: "Switch Accounts",
|
||||
dropzone: "Drop files here",
|
||||
importError: "Import Error",
|
||||
noSongs: "No Taiko chart files have been found in the provided folder."
|
||||
},
|
||||
gpicker: {
|
||||
locale: "en-GB",
|
||||
myDrive: "My Drive",
|
||||
starred: "Starred",
|
||||
sharedWithMe: "Shared with me",
|
||||
authError: "Auth error: %s",
|
||||
cookieError: "This function requires third party cookies."
|
||||
},
|
||||
plugins: {
|
||||
title: "Plugins",
|
||||
unloadAll: "Unload All",
|
||||
warning: "You are about to load %s. Plugins should only be loaded if you trust them. Continue?",
|
||||
// The next string uses the following code to select the correct string:
|
||||
// new Intl.PluralRules(strings.intl).select(number)
|
||||
plugin: {
|
||||
one: "%s plugin",
|
||||
other: "%s plugins"
|
||||
},
|
||||
author: "By %s",
|
||||
version: "Version %s",
|
||||
browse: "Browse...",
|
||||
noPlugins: "No .taikoweb.js plugin files have been found in the provided file list."
|
||||
},
|
||||
search: {
|
||||
search: "Search Songs",
|
||||
searchInput: "Search for songs...",
|
||||
noResults: "No results found.",
|
||||
tip: "Tip:",
|
||||
tips: [
|
||||
"Open the search window by pressing CTRL+F!",
|
||||
"Mix and match as many search filters as you want!",
|
||||
"Filter by genre by using the \"genre:\" keyword! (e.g. \"genre:variety\", \"genre:namco\")",
|
||||
"Use filters like \"oni:10\" to search for songs with a particular difficulty!",
|
||||
"Difficulty filters support ranges, too! Try \"ura:1-5\"!",
|
||||
"Want to see your full combos? Try \"gold:any\", \"gold:oni\", etc.!",
|
||||
"Only want to see creative songs? Use the \"creative:yes\" filter!",
|
||||
"Find songs with lyrics enabled with the \"lyrics:yes\" filter!",
|
||||
"Feel like trying something new? Use the \"played:no\" filter to only see songs you haven't played yet!",
|
||||
"Looking for creative courses from a specific creator? Use the \"maker:<name>\" filter!"
|
||||
]
|
||||
},
|
||||
categories: {
|
||||
"Pop": "Pop",
|
||||
"Anime": "Anime",
|
||||
"VOCALOID™ Music": "VOCALOID™ Music",
|
||||
"Variety": "Variety",
|
||||
"Classical": "Classical",
|
||||
"Game Music": "Game Music",
|
||||
"NAMCO Original": "NAMCO Original"
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addLanguage(this.strings)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Big OK"
|
||||
version = "22.02.11"
|
||||
description = "When you get an OK judge score, the whole screen becomes a big OK"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(View.prototype, "refresh").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`if(this.currentScore.type === 230){
|
||||
this.showOk = true
|
||||
}
|
||||
if(this.showOk && !this.multiplayer){
|
||||
ctx.fillStyle = "#000"
|
||||
ctx.fillRect(0, 0, winW + frameLeft, winH + frameTop)
|
||||
this.draw.score({
|
||||
ctx: ctx,
|
||||
score: "ok",
|
||||
x: winW / 2,
|
||||
y: frameTop + winH / 2 - 600 / 2,
|
||||
scale: 720 / 40,
|
||||
align: "center"
|
||||
})
|
||||
}
|
||||
`, '// Pause screen')
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Change Music Speed"
|
||||
name_lang = {
|
||||
ja: "音楽の速度を変更"
|
||||
}
|
||||
version = "22.02.22"
|
||||
description = "Slow down or speed up the music in game"
|
||||
description_lang = {
|
||||
ja: "音楽の速度を変更します"
|
||||
}
|
||||
author = "Katie Frogs"
|
||||
|
||||
playbackRate = 1.25
|
||||
disableMultiplayer = true
|
||||
|
||||
strings = {
|
||||
playbackRate: {
|
||||
name: "Music Speed Multiplier",
|
||||
name_lang: {
|
||||
ja: "音楽の速度倍率"
|
||||
},
|
||||
description: null,
|
||||
description_lang: {},
|
||||
format: "%sx",
|
||||
format_lang: {}
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
var playbackRate = this.playbackRate
|
||||
this.addEdits(
|
||||
new EditFunction(Sound.prototype, "play").load((str, args) => {
|
||||
args.push("playbackRate")
|
||||
return plugins.insertBefore(str,
|
||||
`if(playbackRate){
|
||||
source.playbackRate.value = playbackRate
|
||||
}
|
||||
`, 'source.start')
|
||||
}),
|
||||
new EditFunction(Sound.prototype, "playLoop").load((str, args) => {
|
||||
args.push("playbackRate")
|
||||
str = plugins.strReplace(str,
|
||||
'started: time + until - seek1',
|
||||
`started: time + (until - seek1) / (playbackRate || 1),
|
||||
playbackRate: (playbackRate || 1)`)
|
||||
return plugins.insertAfter(str, 'this.play(time, true, seek1, until', `, playbackRate`)
|
||||
}),
|
||||
new EditFunction(Sound.prototype, "addLoop").load(str => {
|
||||
str = plugins.insertAfter(str, ', this.loop.until', `, this.loop.playbackRate`)
|
||||
return plugins.strReplace(str,
|
||||
'this.loop.until - this.loop.seek',
|
||||
`(this.loop.until - this.loop.seek) / this.loop.playbackRate`)
|
||||
}),
|
||||
new EditFunction(Game.prototype, "playMainMusic").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`ms = this.elapsedTime * this.controller.getPlaybackRate() + this.controller.offset
|
||||
`, 'this.mainAsset.play(')
|
||||
return plugins.insertAfter(str,
|
||||
'this.mainAsset.play((ms < 0 ? -ms : 0) / 1000, false, Math.max(0, ms / 1000)', `, undefined, this.controller.getPlaybackRate()`)
|
||||
}),
|
||||
new EditFunction(Controller.prototype, "init").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`var playbackRate = this.getPlaybackRate()
|
||||
this.parsedSongData.beatInfo.beatInterval /= playbackRate
|
||||
this.parsedSongData.circles.forEach(circle => {
|
||||
circle.beatMS /= playbackRate
|
||||
circle.ms /= playbackRate
|
||||
circle.originalMS /= playbackRate
|
||||
circle.endTime /= playbackRate
|
||||
circle.originalEndTime /= playbackRate
|
||||
circle.lastFrame = circle.ms + 100
|
||||
circle.speed *= playbackRate
|
||||
})
|
||||
this.parsedSongData.measures.forEach(measure => {
|
||||
measure.ms /= playbackRate
|
||||
measure.originalMS /= playbackRate
|
||||
measure.speed *= playbackRate
|
||||
})
|
||||
this.parsedSongData.events.forEach(event => {
|
||||
if(event.type === "event"){
|
||||
event.beatMS /= playbackRate
|
||||
event.ms /= playbackRate
|
||||
event.originalMS /= playbackRate
|
||||
event.endTime /= playbackRate
|
||||
event.originalEndTime /= playbackRate
|
||||
event.endTime /= playbackRate
|
||||
event.speed *= playbackRate
|
||||
}
|
||||
})
|
||||
this.offset /= playbackRate
|
||||
this.parsedSongData.offset /= playbackRate
|
||||
this.parsedSongData.soundOffset /= playbackRate
|
||||
|
||||
if(this.lyrics){
|
||||
this.lyrics.vttOffset /= playbackRate
|
||||
this.lyrics.lines.forEach(line => {
|
||||
line.start /= playbackRate
|
||||
line.end /= playbackRate
|
||||
})
|
||||
}
|
||||
if(playbackRate < 1){
|
||||
this.saveScore = false
|
||||
}
|
||||
`, 'this.game = new Game')
|
||||
}),
|
||||
new EditValue(Controller.prototype, "getPlaybackRate").load(() => this.getPlaybackRate.bind(this)),
|
||||
new EditFunction(SongSelect.prototype, "previewLoaded").load(str => {
|
||||
return plugins.insertAfter(str, 'this.preview.playLoop(delay / 1000, false, prvTime', `, undefined, undefined, this.getPlaybackRate()`)
|
||||
}),
|
||||
new EditValue(SongSelect.prototype, "getPlaybackRate").load(() => this.getPlaybackRate.bind(this))
|
||||
)
|
||||
}
|
||||
getPlaybackRate(){
|
||||
return this.playbackRate
|
||||
}
|
||||
start(){
|
||||
if(this.disableMultiplayer){
|
||||
p2.disable()
|
||||
}
|
||||
}
|
||||
stop(){
|
||||
if(this.disableMultiplayer){
|
||||
p2.enable()
|
||||
}
|
||||
}
|
||||
settings(){
|
||||
var str = this.strings.playbackRate
|
||||
return [{
|
||||
name: str.name,
|
||||
name_lang: str.name_lang,
|
||||
description: str.description,
|
||||
description_lang: str.description_lang,
|
||||
format: str.format,
|
||||
format_lang: str.format_lang,
|
||||
type: "number",
|
||||
min: 0.05,
|
||||
max: 5,
|
||||
fixedPoint: 2,
|
||||
step: 5,
|
||||
default: this.playbackRate,
|
||||
getItem: () => this.playbackRate,
|
||||
setItem: value => {
|
||||
this.playbackRate = value
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Change Timing Window"
|
||||
version = "22.02.28"
|
||||
description = "Custom input interval for in-game notes"
|
||||
author = "Katie Frogs"
|
||||
|
||||
score = {
|
||||
good: 25,
|
||||
ok: 75,
|
||||
bad: 108
|
||||
}
|
||||
disableMultiplayer = true
|
||||
|
||||
strings = {
|
||||
good: {
|
||||
name: "GOOD",
|
||||
name_lang: {},
|
||||
description: "Default: 25ms",
|
||||
description_lang: {},
|
||||
format: "%sms",
|
||||
format_lang: {}
|
||||
},
|
||||
ok: {
|
||||
name: "OK",
|
||||
name_lang: {},
|
||||
description: "Default: 75ms",
|
||||
description_lang: {},
|
||||
format: "%sms",
|
||||
format_lang: {}
|
||||
},
|
||||
bad: {
|
||||
name: "BAD",
|
||||
name_lang: {},
|
||||
description: "Default: 108ms",
|
||||
description_lang: {},
|
||||
format: "%sms",
|
||||
format_lang: {}
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
languageList.forEach(lang => {
|
||||
Object.keys(this.strings).forEach(name => {
|
||||
this.strings[name].name_lang[lang] = allStrings[lang][name]
|
||||
this.strings[name].format_lang[lang] = allStrings[lang].calibration.ms
|
||||
})
|
||||
})
|
||||
|
||||
this.addEdits(
|
||||
new EditFunction(GameRules.prototype, "init").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`this.good = this.getTiming("good")
|
||||
this.ok = this.getTiming("ok")
|
||||
this.bad = this.getTiming("bad")
|
||||
if(this.good > 25 || this.ok > 75){
|
||||
game.controller.saveScore = false
|
||||
}
|
||||
`, 'this.daiLeniency')
|
||||
}),
|
||||
new EditValue(GameRules.prototype, "getTiming").load(() => this.getTiming.bind(this))
|
||||
)
|
||||
}
|
||||
getTiming(name){
|
||||
if(name === "bad"){
|
||||
return Math.max(...Object.values(this.score))
|
||||
}else{
|
||||
return this.score[name]
|
||||
}
|
||||
}
|
||||
start(){
|
||||
if(this.disableMultiplayer){
|
||||
p2.disable()
|
||||
}
|
||||
}
|
||||
stop(){
|
||||
if(this.disableMultiplayer){
|
||||
p2.enable()
|
||||
}
|
||||
}
|
||||
settings(){
|
||||
return Object.keys(this.strings).map(name => {
|
||||
var str = this.strings[name]
|
||||
return {
|
||||
name: str.name,
|
||||
name_lang: str.name_lang,
|
||||
description: str.description,
|
||||
description_lang: str.description_lang,
|
||||
format: str.format,
|
||||
format_lang: str.format_lang,
|
||||
type: "number",
|
||||
min: 0,
|
||||
default: this.score[name],
|
||||
getItem: () => this.score[name],
|
||||
setItem: value => {
|
||||
this.score[name] = value
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Custom Scroll Speed"
|
||||
version = "22.02.22"
|
||||
description = "Changes the speed the notes scroll at in game"
|
||||
author = "Katie Frogs"
|
||||
|
||||
scrollRate = 0.5
|
||||
|
||||
strings = {
|
||||
scrollRate: {
|
||||
name: "Scroll Speed Multiplier",
|
||||
name_lang: {},
|
||||
description: null,
|
||||
description_lang: {},
|
||||
format: "%sx",
|
||||
format_lang: {}
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(Controller.prototype, "init").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'this.view = new View(this)', `
|
||||
if(this.view.getScrollRate() < 1){
|
||||
this.saveScore = false
|
||||
}`)
|
||||
}),
|
||||
new EditFunction(View.prototype, "drawCircles").load(str => {
|
||||
return plugins.insertAfter(str, 'circle.speed', ` * this.getScrollRate()`)
|
||||
}),
|
||||
new EditFunction(View.prototype, "drawCircle").load(str => {
|
||||
return plugins.insertAfter(str, 'circle.speed', ` * this.getScrollRate()`)
|
||||
}),
|
||||
new EditFunction(View.prototype, "drawMeasures").load(str => {
|
||||
str = plugins.strReplace(str, 'measure.speed)', `measure.speed * this.getScrollRate())`)
|
||||
str = plugins.strReplace(str, 'measure.speed)', `measure.speed * this.getScrollRate())`)
|
||||
return plugins.strReplace(str, 'measure.speed)', `measure.speed * this.getScrollRate())`)
|
||||
}),
|
||||
new EditValue(View.prototype, "getScrollRate").load(() => this.getScrollRate.bind(this))
|
||||
)
|
||||
}
|
||||
getScrollRate(){
|
||||
return this.scrollRate
|
||||
}
|
||||
settings(){
|
||||
var str = this.strings.scrollRate
|
||||
return [{
|
||||
name: str.name,
|
||||
name_lang: str.name_lang,
|
||||
description: str.description,
|
||||
description_lang: str.description_lang,
|
||||
format: str.format,
|
||||
format_lang: str.format_lang,
|
||||
type: "number",
|
||||
min: 0,
|
||||
fixedPoint: 2,
|
||||
step: 1,
|
||||
default: this.scrollRate,
|
||||
getItem: () => this.scrollRate,
|
||||
setItem: value => {
|
||||
this.scrollRate = value
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Multiplayer Custom Songs"
|
||||
version = "23.01.10"
|
||||
description = "Extends netplay and session multiplayer to custom song lists, both players are required to have the same folders"
|
||||
author = "Katie Frogs"
|
||||
|
||||
strings = {
|
||||
customSessionTutorial: {
|
||||
en: "Share this code with your friend to start playing together! Your friend should import the exact same folder as you, and use the Join Invite button on the session screen with the provided code."
|
||||
},
|
||||
joinInvite: {
|
||||
en: "Join Invite"
|
||||
},
|
||||
inviteDescription: {
|
||||
en: "Provide the invite code from your friend"
|
||||
},
|
||||
incorrectFolder: {
|
||||
en: "Folders do not match. To connect, both players must import the exact same folders."
|
||||
},
|
||||
incorrectInvite: {
|
||||
en: "The invite is not in the correct format."
|
||||
},
|
||||
customSessionError: {
|
||||
en: "Session Disconnected\n\nTo connect, both players must import the exact same folders."
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(SongSelect.prototype, "init").load(str => {
|
||||
return plugins.strReplace(str, 'if(!assets.customSongs)', ``)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "mouseDown").load(str => {
|
||||
return plugins.strReplace(str, ' && !assets.customSongs', ``)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "mouseMove").load(str => {
|
||||
return plugins.strReplace(str, ' && !assets.customSongs', ``)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "toSession").load(str => {
|
||||
return plugins.strReplace(str, ' || assets.customSongs', ``)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "redraw").load(str => {
|
||||
str = plugins.strReplace(str, ' && !assets.customSongs', ``)
|
||||
return plugins.insertBefore(str,
|
||||
`}else if(this.showWarning.name === "customSessionError"){
|
||||
var text = this.customMpStr("customSessionError")
|
||||
`, '}else if(this.showWarning.name === "loadSongError"){')
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "toLoadSong").load(str => {
|
||||
return plugins.strReplace(str, ' && !assets.customSongs', ``)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "onusers").load(str => {
|
||||
return plugins.strReplace(str, ' |0', ``)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "toOptions").load(str => {
|
||||
return plugins.strReplace(str, ' || assets.customSongs', ``)
|
||||
}),
|
||||
new EditFunction(ImportSongs.prototype, "addTja").load(str => {
|
||||
return plugins.insertAfter(str, 'songObj.hash = hash', `
|
||||
songObj.id = hash`)
|
||||
}),
|
||||
new EditFunction(ImportSongs.prototype, "addOsu").load(str => {
|
||||
return plugins.insertAfter(str, 'songObj.hash = hash', `
|
||||
songObj.id = hash`)
|
||||
}),
|
||||
new EditFunction(Session.prototype, "init").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`if(assets.customSongs){
|
||||
this.customSongsHash = p2.customSongsHash()
|
||||
var leftButtons = document.createElement("div")
|
||||
leftButtons.classList.add("left-buttons")
|
||||
this.joinInvite = document.createElement("div")
|
||||
this.joinInvite.classList.add("taibtn", "stroke-sub", "link-btn")
|
||||
this.joinInvite.innerText = this.customMpStr("joinInvite")
|
||||
leftButtons.appendChild(this.joinInvite)
|
||||
this.endButton.parentNode.insertBefore(leftButtons, this.endButton)
|
||||
}
|
||||
`, 'if(touchEnabled){')
|
||||
str = plugins.strReplace(str, 'strings.session.linkTutorial', `assets.customSongs ? this.customMpStr("customSessionTutorial") : strings.session.linkTutorial`)
|
||||
str = plugins.insertAfter(str,
|
||||
'}else if(response.type === "songsel"){', `
|
||||
var nameMsg = p2.getMessage("name")
|
||||
if(assets.customSongs && (!nameMsg.value?.don?.customSongs || nameMsg.value.don.customSongs !== this.customSongsHash) || !assets.customSongs && nameMsg.value?.don?.customSongs){
|
||||
p2.otherConnected = false
|
||||
p2.session = false
|
||||
this.onEnd(false, true)
|
||||
}else{
|
||||
`)
|
||||
str = plugins.insertAfter(str,
|
||||
'pageEvents.send("session-start", "host")', `
|
||||
}`)
|
||||
str = plugins.insertBefore(str,
|
||||
`if(response.type === "gameend" && assets.customSongs){
|
||||
this.sendInviteRequest()
|
||||
}else if(response.type === "invite" && assets.customSongs){
|
||||
if(response.value){
|
||||
this.inviteCode = response.value
|
||||
this.sessionInvite.innerText = response.value + "-" + this.customSongsHash.slice(0, 5).toLowerCase()
|
||||
p2.hash(response.value)
|
||||
}else{
|
||||
p2.clearMessage("users")
|
||||
this.onEnd()
|
||||
pageEvents.send("session-start", "host")
|
||||
}
|
||||
}else `, 'if(response.type === "invite"){')
|
||||
return plugins.strReplace(str, 'p2.send("invite", {\n\t\t\tid: null,\n\t\t\tname: account.loggedIn ? account.displayName : null,\n\t\t\tdon: account.loggedIn ? account.don : null\n\t\t})', `this.sendInviteRequest()`)
|
||||
}),
|
||||
new EditFunction(Session.prototype, "mouseDown").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`if(event.target === this.joinInvite){
|
||||
var code = prompt(this.customMpStr("inviteDescription"), "").trim()
|
||||
if(code){
|
||||
if(code.length === 11){
|
||||
code = code.toLowerCase().split("-")
|
||||
if(code[0].length === code[1].length && code[0] !== this.inviteCode){
|
||||
if(code[1] === this.customSongsHash.slice(0, 5).toLowerCase()){
|
||||
this.sessionInvite.innerText = ""
|
||||
p2.send("leave")
|
||||
p2.hash(code[0])
|
||||
return this.sendInviteRequest(code[0])
|
||||
}else{
|
||||
return alert(this.customMpStr("incorrectFolder"))
|
||||
}
|
||||
}
|
||||
}
|
||||
alert(this.customMpStr("incorrectInvite"))
|
||||
}
|
||||
}else `, 'if(event.target === this.endButton){')
|
||||
}),
|
||||
new EditFunction(Session.prototype, "onEnd").load((str, args) => {
|
||||
args.push("p2Disconnect")
|
||||
str = plugins.insertAfter(str, 'setTimeout(() => {', `
|
||||
if(p2Disconnect){
|
||||
p2.send("gameend")
|
||||
p2.otherConnected = false
|
||||
p2.session = false
|
||||
new SongSelect(false, false, this.touchEnabled, null, {
|
||||
name: "customSessionError"
|
||||
})
|
||||
}else{`)
|
||||
return plugins.insertBefore(str, `}`, '}, 500)')
|
||||
}),
|
||||
new EditFunction(Session.prototype, "clean").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'delete this.sessionInvite', `
|
||||
if(assets.customSongs){
|
||||
delete this.joinInvite
|
||||
}`)
|
||||
}),
|
||||
new EditFunction(Search.prototype, "onClick").load(str => {
|
||||
return plugins.strReplace(str,
|
||||
'var songId = parseInt(songEl.dataset.songId)',
|
||||
`var songId = Number(songEl.dataset.songId)
|
||||
if(isNaN(songId)){
|
||||
songId = songEl.dataset.songId
|
||||
}`)
|
||||
}),
|
||||
new EditFunction(Search.prototype, "keyPress").load(str => {
|
||||
return plugins.strReplace(str,
|
||||
'this.proceed(parseInt(this.results[this.active].dataset.songId))',
|
||||
`var songId = Number(this.results[this.active].dataset.songId)
|
||||
if(isNaN(songId)){
|
||||
songId = this.results[this.active].dataset.songId
|
||||
}
|
||||
this.proceed(songId)`)
|
||||
}),
|
||||
new EditValue(p2, "customSongsHash").load(() => this.customSongsHash),
|
||||
new EditValue(Session.prototype, "customMpStr").load(() => this.customMpStr.bind(this)),
|
||||
new EditValue(Session.prototype, "sendInviteRequest").load(() => this.sendInviteRequest),
|
||||
new EditValue(SongSelect.prototype, "customMpStr").load(() => this.customMpStr.bind(this))
|
||||
)
|
||||
}
|
||||
customSongsHash(){
|
||||
return md5.base64(assets.songs.map(song => song.hash).join("")).slice(0, -2)
|
||||
}
|
||||
customMpStr(name){
|
||||
var str = this.strings[name]
|
||||
return plugins.getLocalTitle(str.en, str)
|
||||
}
|
||||
sendInviteRequest(id){
|
||||
var don = account.loggedIn ? {...account.don} : (assets.customSongs ? {} : null)
|
||||
if(assets.customSongs){
|
||||
don.customSongs = this.customSongsHash
|
||||
}
|
||||
p2.send("invite", {
|
||||
id: id || null,
|
||||
name: account.loggedIn ? account.displayName : null,
|
||||
don: don
|
||||
})
|
||||
}
|
||||
start(){
|
||||
if(assets.customSongs){
|
||||
assets.songs.forEach(song => song.id = song.hash)
|
||||
}
|
||||
}
|
||||
stop(){
|
||||
if(assets.customSongs){
|
||||
assets.songs.forEach(song => song.id = song.order)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,819 @@
|
|||
export default class Plugin extends Patch {
|
||||
name = "Rainbow Crown"
|
||||
version = "22.03.02"
|
||||
description = "Donder-Full Combos will give rainbow crowns"
|
||||
author = "purerosefallen, Katie Frogs"
|
||||
|
||||
load() {
|
||||
//Donder Promise
|
||||
var promise = snd.sfxGain.load(new RemoteFile(v_donderfulcombo())).then(sound => {
|
||||
assets.sounds["v_donderfulcombo"] = sound
|
||||
|
||||
})
|
||||
|
||||
this.addEdits(
|
||||
// Rainbow Crown #1
|
||||
new EditFunction(Scoresheet.prototype, "redraw").load(str => {
|
||||
str = plugins.strReplace(str, `crownType = results.bad === "0" ? "gold" : "silver"`, `crownType = results.bad === "0" ? (results.ok === "0" ? "rainbow" : "gold") : "silver"`)
|
||||
str = plugins.strReplace(str, `if(crownType === "gold"){`, `if(crownType === "gold" || crownType === "rainbow"){ // TODO: sound effect of donder full combo`)
|
||||
return str
|
||||
}),
|
||||
// Rainbow Crown #2
|
||||
new EditFunction(Scoresheet.prototype, "saveScore").load(str => {
|
||||
str = plugins.strReplace(str, `crown = this.resultsObj.bad === 0 ? "gold" : "silver"`, `crown = this.resultsObj.bad === 0 ? (this.resultsObj.ok === 0 ? "rainbow" : "gold") : "silver"`)
|
||||
str = plugins.strReplace(str, `if(oldScore && (oldScore.crown === "gold" || oldScore.crown === "silver" && !crown)){`, `if(oldScore && (oldScore.crown === "rainbow" || oldScore.crown === "gold" && (crown === "silver" || !crown) || oldScore.crown === "silver" && !crown)){`)
|
||||
str = plugins.strReplace(str, `}else if(oldScore && (crown === "gold" && oldScore.crown !== "gold" || crown && !oldScore.crown)){`, `}else if(oldScore && ((crown === "rainbow" && oldScore.crown !== "rainbow") || crown === "gold" && (oldScore.crown === "silver" ||!oldScore.crown) || crown && !oldScore.crown)){`)
|
||||
return str
|
||||
}),
|
||||
// Rainbow Crown #3 (<3 Katie)
|
||||
new EditFunction(ScoreStorage.prototype, "init").load(str => {
|
||||
str = plugins.insertAfter(str,
|
||||
'this.crownValue = ["", "silver", "gold"', `, "rainbow"`)
|
||||
return plugins.insertAfter(str,
|
||||
'this.scoreKeys = ["points", "good", "ok", "bad", "maxCombo", "drumroll"', `, "rainbow"`)
|
||||
}),
|
||||
new EditFunction(ScoreStorage.prototype, "load").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`if(name === "rainbow" && value){
|
||||
score.crown = "rainbow"
|
||||
}
|
||||
`, 'score[name] = value')
|
||||
str = plugins.insertAfter(str, 'parseInt(scoreArray[j]', ` || 0`)
|
||||
return plugins.insertBefore(str,
|
||||
`if(score.crown === "gold" && score.good >= 1 && score.ok === 0 && score.bad === 0){
|
||||
score.crown = "rainbow"
|
||||
}
|
||||
`, 'if(!songAdded){')
|
||||
}),
|
||||
new EditFunction(ScoreStorage.prototype, "writeString").load(str => {
|
||||
str = plugins.insertAfter(str, 'var scoreArray = []', `
|
||||
score[diff].rainbow = score[diff].crown === "rainbow"`)
|
||||
return plugins.insertBefore(str,
|
||||
`score[diff].crown === "rainbow" ? "2" : `, 'this.crownValue')
|
||||
}),
|
||||
// Rainbow Crown #4 (<3 Katie)
|
||||
new EditValue(window, "scoreStorage").load(() => {
|
||||
this.oldScoreStoage = scoreStorage
|
||||
this.newScoreStorage = new ScoreStorage()
|
||||
this.newScoreStorage.load(scoreStorage.prepareScores(scoreStorage.scoreStrings))
|
||||
return this.newScoreStorage
|
||||
}),
|
||||
// Rainbow Crown #5
|
||||
new EditFunction(CanvasDraw.prototype, "crown").load(str => {
|
||||
str = plugins.strReplace(str, `if(config.type === "gold"){`, `if(config.type === "rainbow"){ // TODO
|
||||
grd.addColorStop(0,"#0000ff")
|
||||
grd.addColorStop(0.15,"#00ffff")
|
||||
grd.addColorStop(0.35,"#00ff88")
|
||||
grd.addColorStop(0.5,"#ffffff")
|
||||
grd.addColorStop(0.65,"#ffff00")
|
||||
grd.addColorStop(0.85,"#ff8800")
|
||||
grd.addColorStop(1,"#ff00ff")
|
||||
}else if(config.type === "gold"){`)
|
||||
return str
|
||||
}),
|
||||
// Rainbow Crown #6
|
||||
new EditFunction(Controller.prototype, "gameEnded").load(str => {
|
||||
str = plugins.strReplace(str, `if(score.bad === 0){
|
||||
vp = "fullcombo"
|
||||
this.playSound("v_fullcombo", 1.350)
|
||||
}else{
|
||||
vp = "clear"
|
||||
}
|
||||
}else{
|
||||
vp = "fail"
|
||||
}
|
||||
this.playSound("se_game" + vp)`, `if(score.ok === 0 && score.bad === 0){ // TODO: donder fullcombo
|
||||
this.playSound("v_donderfulcombo", 0.050)
|
||||
}else if(score.bad === 0){
|
||||
vp = "fullcombo"
|
||||
this.playSound("v_fullcombo", 1.350)
|
||||
}else{
|
||||
vp = "clear"
|
||||
}
|
||||
}else{
|
||||
vp = "fail"
|
||||
}
|
||||
if(vp){
|
||||
this.playSound("se_game" + vp)
|
||||
}`)
|
||||
return str
|
||||
}),
|
||||
|
||||
)
|
||||
return promise
|
||||
}
|
||||
stop() {
|
||||
if (this.oldScoreStoage && this.newScoreStorage) {
|
||||
this.oldScoreStoage.load(this.newScoreStorage.prepareScores(this.newScoreStorage.scoreStrings))
|
||||
}
|
||||
delete this.oldScoreStoage
|
||||
delete this.newScoreStorage
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Add Donderful Audio
|
||||
function v_donderfulcombo() {
|
||||
return "data:audio/ogg;base64,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\
|
||||
Zaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaSymllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSAdgFGw6A0RNGElJnGVYaceMJGCKQQkNWAgBpAQCAMYwx5hh0EEpJKaUKIecghE5CKq3FFmOEkHMQQiglpdZiizF4DkIIIZTSUmwxxlg8ByGEEFJqLcYYYwyyhVBKKSm11mKMtRbZQiillJRaizHWWoMxppSSUmqt1VhjrMUYE0pIqbXWYsy11mJ8rCWl1GKMscZYazHGthRSiS3GWGuNtRhhjGqtxVhjrbHWWowxwpUWYoq11lpzLUYIY3OLMdZYa665FmGM0bmVWmqNsdZaiy/GGGFrrDXGWmvOxRgjhLC1thprzTXXYowxxggfY6\
|
||||
y11txzMcYYY4SQMcYaa865AIDcCAcAxAUjCamzDCuNuPEEDBFIoSGrAIAYAIAhAIRisgEAgAkOAAABVrArs7Rqo7ipk7zog8AndMRmZMilVMzkRNAjNdRiJdihFdzgBWChISsBADIAAMRZzTnHnCvkpLXYaiwVUg5SijF2yCDlJMVaMmQQg9Ri6hQyiEFqqXQMGQQlxlQ6hQyDXGMroWMOWquxpRI6CAAAgCAAwECEzAQCBVBgIAMADhASpACAwgJDx3AREJBLyCgwKBwTzkmnDQBAECIzRCJiMUhMqAaKiukAYHGBIR8AMjQ20i4uoMsAF3Rx14EQghCEIBYHUEACDk644Yk3POEGJ+gUlToQAAAAAAAIAHgAAEg2gIhoZuY4Ojw+QEJERkhKTE5QUlQEAAAAAAAQAD4AAJIVICKamTmODo8PkBCREZISkxOUFJUAAEAAAQAAAAAQQAACAgIAAAAAAAEAAAACAk9nZ1MAAEASAAAAAA\
|
||||
AA5GQAAAIAAACECYOBGAH//xr/////pv////9v/////1z/////bgC6U3vu7QOqgQLON7b72u/gGijgzKqqqrqIKAAAD+ABMoAH8ADGhOMMBQAAeLR8EO12OxFJkiSJ4K31Y93yuRBCiCRpg2hvnpu2AN5q+b7vc+631o91C0TS3rSTJEkSIcBfPx7rFockabVavu/7vs9Fe/N8btqbTTsRQggAv7V+rAHgDeveqlPorvV+dNqez0AcnWwaVTzuC23Bmr1sboeN9/21M4LB3R3b29sG3/fdzQDf9x3b29tm8N0BM+zv77vb9vZmcAC2Gfb39/cdtm0GALa9beb7+/vuMAPcsb29vW3w9313AL7vO2x7e3szuLsD8P39fcf29va2GQCYwd/f398d27aZAWYYBoPx/O3b6DDGANjb29ub+f7+/r474O4ww8uXLwfj4zi6u4/n8+jm9PLlaTBwAPDx/O3bCDOcToMxxgyDwXj+9u3b6GYYjD\
|
||||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Skip Results in Multiplayer"
|
||||
version = "22.05.23"
|
||||
description = "Enables skipping the results screen in multiplayer, however, the other player will not get to see the full results screen without the plugin"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "init").load(str => {
|
||||
str = plugins.insertAfter(str, 'if(this.session){', `
|
||||
var noteValue = p2.getMessage("note")
|
||||
if(noteValue){
|
||||
if(noteValue.skipResults){
|
||||
this.toScoresShown(true)
|
||||
}else if(noteValue.donSound){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 1 : 0)
|
||||
}
|
||||
}`)
|
||||
return plugins.insertBefore(str,
|
||||
`if(response.type === "note" && response.value){
|
||||
if(response.value.skipResults){
|
||||
this.toScoresShown(true)
|
||||
}else if(response.value.donSound){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 1 : 0)
|
||||
}
|
||||
}else `, 'if(response.type === "songsel"){')
|
||||
})
|
||||
),
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "redraw").load(str => {
|
||||
return plugins.strReplace(str, 'this.session ? "" : "pointer"', `"pointer"`)
|
||||
})
|
||||
),
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "toScoresShown").load((str, args) => {
|
||||
args.push("fromP2")
|
||||
str = plugins.strReplace(str, '!p2.session', `this.state.screen === "fadeIn"`)
|
||||
str = plugins.insertBefore(str,
|
||||
`if(!p2.session)
|
||||
`, 'this.controller.playSound')
|
||||
return str + `
|
||||
if(p2.session){
|
||||
if(fromP2){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 1 : 0)
|
||||
}else{
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 0 : 1)
|
||||
p2.send("note", {
|
||||
score: 450,
|
||||
ms: 0,
|
||||
dai: 0,
|
||||
skipResults: true
|
||||
})
|
||||
}
|
||||
}`
|
||||
})
|
||||
),
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "toSongsel").load(str => {
|
||||
str = plugins.insertAfter(str, 'if(!fromP2', ` && !p2.session`)
|
||||
return str + `
|
||||
if(p2.session && !fromP2){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 0 : 1)
|
||||
p2.send("note", {
|
||||
score: 450,
|
||||
ms: 0,
|
||||
dai: 0,
|
||||
donSound: true
|
||||
})
|
||||
p2.send("songsel")
|
||||
}`
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Spartan Mode"
|
||||
version = "22.12.16"
|
||||
description = "End song on first bad hit"
|
||||
author = "Katie Frogs"
|
||||
|
||||
actions = {
|
||||
good: "continue",
|
||||
ok: "continue",
|
||||
bad: "results"
|
||||
}
|
||||
|
||||
actionOptions = [
|
||||
"continue",
|
||||
"results",
|
||||
"retry",
|
||||
"back_to_select_song"
|
||||
]
|
||||
strings = {
|
||||
continue: ["pauseOptions", 0],
|
||||
results: ["results"],
|
||||
retry: ["pauseOptions", 1],
|
||||
back_to_select_song: ["pauseOptions", 2]
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(Game.prototype, "skipNote").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`this.checkSpartanMode(-1)
|
||||
`, 'circle.played(-1')
|
||||
}),
|
||||
new EditFunction(Game.prototype, "checkScore").load(str => {
|
||||
str = plugins.insertBefore(str,
|
||||
`this.checkSpartanMode(score)
|
||||
`, 'circle.played(score')
|
||||
return plugins.insertBefore(str,
|
||||
`this.checkSpartanMode(-1)
|
||||
`, 'circle.played(-1')
|
||||
}),
|
||||
new EditValue(Game.prototype, "checkSpartanMode").load(() => this.checkSpartanMode),
|
||||
new EditValue(Game.prototype, "spartanActions").load(() => this.actions)
|
||||
)
|
||||
}
|
||||
checkSpartanMode(score){
|
||||
if(this.multiplayer || this.controller.autoPlayEnabled){
|
||||
return
|
||||
}
|
||||
var scoreConversion = {
|
||||
"450": "good",
|
||||
"230": "ok",
|
||||
"0": "bad",
|
||||
"-1": "bad"
|
||||
}
|
||||
switch(this.spartanActions[scoreConversion[score]]){
|
||||
case "results":
|
||||
var remainingNotes = this.songData.circles.filter(circle => {
|
||||
var type = circle.type
|
||||
return (type === "don" || type === "ka" || type === "daiDon" || type === "daiKa") && (!circle.branch || circle.branch.active) && !circle.isPlayed
|
||||
}).length
|
||||
this.globalScore.bad += remainingNotes
|
||||
this.fadeOutStarted = -Infinity
|
||||
break
|
||||
case "retry":
|
||||
if(!debugObj.debug || !debugObj.debug.measureNum){
|
||||
setTimeout(() => this.controller.restartSong())
|
||||
}
|
||||
break
|
||||
case "back_to_select_song":
|
||||
setTimeout(() => this.controller.songSelection())
|
||||
break
|
||||
}
|
||||
}
|
||||
settings(){
|
||||
var options_lang = {}
|
||||
this.actionOptions.forEach(opt => {
|
||||
options_lang[opt] = {}
|
||||
languageList.forEach(lang => {
|
||||
var str = allStrings[lang]
|
||||
this.strings[opt].forEach(string => {
|
||||
str = str[string]
|
||||
})
|
||||
options_lang[opt][lang] = str
|
||||
})
|
||||
})
|
||||
return Object.keys(this.actions).map(name => {
|
||||
var name_lang = {}
|
||||
languageList.forEach(lang => name_lang[lang] = allStrings[lang][name])
|
||||
return {
|
||||
name: strings[name],
|
||||
name_lang: name_lang,
|
||||
description: null,
|
||||
description_lang: {},
|
||||
type: "select",
|
||||
options: this.actionOptions,
|
||||
options_lang: options_lang,
|
||||
default: this.actions[name],
|
||||
getItem: () => this.actions[name],
|
||||
setItem: value => {
|
||||
this.actions[name] = value
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
If you are looking for an example English language file, see [examples/language-en.taikoweb.js](https://github.com/KatieFrogs/taiko-web-plugins/blob/main/examples/language-en.taikoweb.js)
|
||||
|
|
@ -0,0 +1,332 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Language: Spanish (Latin America)"
|
||||
name_lang = {
|
||||
"es-419": "Idioma: Español (Latinoamérica)"
|
||||
}
|
||||
version = "22.03.11"
|
||||
description = ""
|
||||
author = "Glas, Katie Frogs"
|
||||
|
||||
strings = {
|
||||
id: "es-419",
|
||||
name: "Español (Latinoamérica)",
|
||||
regex: /^es$|^es-(?!ES$)/,
|
||||
font: "spanishFont, TnT, Meiryo, sans-serif",
|
||||
intl: "es-419",
|
||||
preferEn: true,
|
||||
|
||||
taikoWeb: "Taiko Web",
|
||||
titleProceed: "Has clic o presiona Enter!",
|
||||
titleDisclaimer: "Este simulador no-oficial no está afiliado a BANDAI NAMCO.",
|
||||
titleCopyright: null,
|
||||
selectSong: "Seleccionar canción",
|
||||
selectDifficulty: "Seleccionar dificultad",
|
||||
back: "Regresar",
|
||||
random: "Aleatoria",
|
||||
randomSong: "Canción Aleatoria",
|
||||
howToPlay: "Como Jugar",
|
||||
aboutSimulator: "Acerca del simulador",
|
||||
gameSettings: "Opciones del juego",
|
||||
songOptions: "Opciones de canción",
|
||||
none: "Ninguno",
|
||||
auto: "Auto",
|
||||
netplay: "Multijugador",
|
||||
easy: "Fácil",
|
||||
normal: "Normal",
|
||||
hard: "Difícil",
|
||||
oni: "Extremo",
|
||||
songBranch: "Notas Divergentes",
|
||||
defaultName: "Don-chan",
|
||||
default2PName: "Katsu-chan",
|
||||
notLoggedIn: "No Conectado",
|
||||
sessionStart: "Comienza una sesión en linea",
|
||||
sessionEnd: "Terminar sesión",
|
||||
scoreSaveFailed: "No se pudo conectar con el servidor, tu puntaje no ha sido guardado. \n\n Por favor inicia sesión nuevamente o recarga la pagina para guardar tu puntaje nuevamente",
|
||||
loadSongError: "No se pudo cargar la canción %s con el id %s.\n\n%s",
|
||||
accessNotGrantedError: "No se otorgaron permisos para acceder a este archivo.",
|
||||
loading: "Cargando",
|
||||
waitingForP2: "Esperando al otro jugador...",
|
||||
cancel: "Cancelar",
|
||||
note: {
|
||||
don: "Don",
|
||||
ka: "Ka",
|
||||
daiDon: "DON",
|
||||
daiKa: "KA",
|
||||
drumroll: "¡Redobleー!",
|
||||
daiDrumroll: "REDOBLEー!!",
|
||||
balloon: "Globo"
|
||||
},
|
||||
ex_note: {
|
||||
don: ["Do", "Do"],
|
||||
ka: ["Ka"],
|
||||
daiDon: ["DON", "DON"],
|
||||
daiKa: ["KA"]
|
||||
},
|
||||
combo: "Combo",
|
||||
clear: "Completado",
|
||||
good: "BIEN",
|
||||
ok: "OK",
|
||||
bad: "MAL",
|
||||
branch: {
|
||||
normal: "Normal",
|
||||
advanced: "Profesional",
|
||||
master: "Maestro"
|
||||
},
|
||||
pauseOptions: [
|
||||
"Continuar",
|
||||
"Reintentar",
|
||||
"Regresar al menú principal"
|
||||
],
|
||||
results: "Resultados",
|
||||
points: "pts",
|
||||
maxCombo: "Combo máximo",
|
||||
drumroll: "Redobles",
|
||||
errorOccured: "Ha ocurrido un error, recarga la pagina por favor.",
|
||||
tutorial: {
|
||||
basics: [
|
||||
"Cuando una nota esté sobre el marco, es tu momento de golpear el tambor!",
|
||||
"Para las notas rojas, golpea el centro del tambor (%s or %s)...",
|
||||
"...y para las notas azules, golpea el borde!! (%s or %s)",
|
||||
"Se puede jugar con controles USB!"
|
||||
],
|
||||
otherControls: "Otros controles",
|
||||
otherTutorial: [
|
||||
"%s — pausa el juego",
|
||||
"%s y %s mientras escojes una canción — cambia de categoría",
|
||||
"%s mientras escojes dificultad — activa el modo automático",
|
||||
"%s mientras escojes dificultad — activa el modo 2 jugadores"
|
||||
],
|
||||
ok: "OK",
|
||||
key: {
|
||||
ctrl: null,
|
||||
shift: null,
|
||||
leftArrow: null,
|
||||
rightArrow: null,
|
||||
esc: null,
|
||||
join: null,
|
||||
or: " o "
|
||||
}
|
||||
},
|
||||
about: {
|
||||
bugReporting: [
|
||||
"Este Simulador aun esta en desarrollo.",
|
||||
"Por favor reporta cualquier error que encuentres.",
|
||||
"Puedes reportar los errores en nuestro repositorio de Git o vía email."
|
||||
],
|
||||
diagnosticWarning: "Asegurate de incluir los siguientes datos de diagnostico!",
|
||||
issueTemplate: "###### Describe el problema que tuviste abajo, También incluye in screenshot y la información de diagnostico.",
|
||||
issues: "Incidencias"
|
||||
},
|
||||
session: {
|
||||
multiplayerSession: "Sesión Multijugador",
|
||||
linkTutorial: "Comparte este enlace con tu amigo para jugar juntos! NO Cierres esta ventana mientras se conecta al juego.",
|
||||
cancel: "Cancelar"
|
||||
},
|
||||
settings: {
|
||||
language: {
|
||||
name: "Idioma"
|
||||
},
|
||||
resolution: {
|
||||
name: "Resolución del juego",
|
||||
high: "Alto",
|
||||
medium: "Medio",
|
||||
low: "Bajo",
|
||||
lowest: "Lo mas bajo"
|
||||
},
|
||||
touchAnimation: {
|
||||
name: "Animación de toque"
|
||||
},
|
||||
keyboardSettings: {
|
||||
name: "Mapeo del teclado",
|
||||
ka_l: "Borde izquierdo",
|
||||
don_l: "Superficie izquierda",
|
||||
don_r: "Superficie derecha",
|
||||
ka_r: "Borde derecho"
|
||||
},
|
||||
gamepadLayout: {
|
||||
name: "Configuración del Gamepad",
|
||||
a: "Tipo A",
|
||||
b: "Tipo B",
|
||||
c: "Tipo C"
|
||||
},
|
||||
latency: {
|
||||
name: "Latencia",
|
||||
value: "Audio: %s, Video: %s",
|
||||
calibration: "Calibración de latencia",
|
||||
audio: "Audio",
|
||||
video: "Video",
|
||||
drumSounds: "Sonidos del Tambor"
|
||||
},
|
||||
easierBigNotes: {
|
||||
name: "Notas grandes mas fáciles"
|
||||
},
|
||||
showLyrics: {
|
||||
name: "Mostrar letras"
|
||||
},
|
||||
on: "Encendido",
|
||||
off: "Apagado",
|
||||
default: "Reiniciar configuración",
|
||||
ok: "OK"
|
||||
},
|
||||
calibration: {
|
||||
title: "Calibración de latencia",
|
||||
ms: "%sms",
|
||||
back: "Regresar a opciones",
|
||||
retryPrevious: "Reintentar Anterior",
|
||||
start: "Comenzar",
|
||||
finish: "Terminar",
|
||||
audioHelp: {
|
||||
title: "Calibración de latencia de audio",
|
||||
content: "Escucha el sonido que suena en el fondo.\n\nGolpea la superficie del tambor (%s or %s) cuando lo escuches!",
|
||||
contentAlt: "Escucha un sonido de fondo.\n\nGolpea la superficie del tambor (%s or %s) cuando lo escuches!"
|
||||
},
|
||||
audioComplete: "Calibración de latencia de audio completada!",
|
||||
videoHelp: {
|
||||
title: "Calibración de latencia de video",
|
||||
content: "Esta vez no habrán sonidos.\n\nEn cambio, observa las notas parpadeantes con forma de circulo, golpea el tambor cuando según vayan apareciendo!"
|
||||
},
|
||||
videoComplete: "Calibración de latencia de video completada!",
|
||||
results: {
|
||||
title: "Resultados de calibración de latencia",
|
||||
content: "Latencia de Audio: %s\nLatencia de Video: %s\n\nPuedes configurar estos valores manualmente en el menú de opciones."
|
||||
}
|
||||
},
|
||||
account: {
|
||||
username: "Usuario",
|
||||
enterUsername: "Ingrese Usuario",
|
||||
password: "Contraseña",
|
||||
enterPassword: "Ingrese Contraseña",
|
||||
repeatPassword: "Repetir contraseña",
|
||||
remember: "Recordar datos",
|
||||
login: "Iniciar sesión",
|
||||
register: "Crear cuenta",
|
||||
privacy: "Privacidad",
|
||||
registerAccount: "Registrar Cuenta",
|
||||
passwordsDoNotMatch: "Las contraseñas no coinciden",
|
||||
newPasswordsDoNotMatch: "Las nuevas contraseñas no coinciden",
|
||||
cannotBeEmpty: "%s no puede estar vació",
|
||||
error: "Ha ocurrido un error mientras procesamos tu solicitud",
|
||||
logout: "Cerrar Sesión",
|
||||
back: "Regresar",
|
||||
cancel: "Cancelar",
|
||||
save: "Guardar",
|
||||
displayName: "Nombre a mostrar",
|
||||
customdon: {
|
||||
bodyFill: "Cuerpo",
|
||||
faceFill: "Cara",
|
||||
reset: "Reiniciar"
|
||||
},
|
||||
changePassword: "Cambiar Contraseña",
|
||||
currentNewRepeat: [
|
||||
"Contraseña Actual",
|
||||
"Nueva Contraseña",
|
||||
"Repetir nueva contraseña"
|
||||
],
|
||||
deleteAccount: "Eliminar cuenta",
|
||||
verifyPassword: "Verifica la contraseña para eliminar esta cuenta"
|
||||
},
|
||||
serverError: {
|
||||
not_logged_in: "No conectado",
|
||||
invalid_username: "Usuario Invalido, un usuario puede solo contener letras, números y guion-bajo. Ademas debe tener entre 3 y 20 caracteres de largo",
|
||||
username_in_use: "Ya existe un usuario con este nombre",
|
||||
invalid_password: "No se puede usar esta contraseña, por favor verifica que tu contraseña tenga al menos 6 caracteres de largo",
|
||||
invalid_username_password: "Usuario o contraseña inválidos",
|
||||
invalid_display_name: "No se puede usar este nombre, por favor verifica que tu nuevo nombre tenga hasta 25 caracteres de largo",
|
||||
invalid_don: "No se pudo guardar tu Don personalizado",
|
||||
current_password_invalid: "La contraseña actual no coincide",
|
||||
invalid_new_password: "No se puede usar este contraseña, por favor verifica que al menos tenga 6 caracteres de largo como minimo",
|
||||
verify_password_invalid: "La contraseña de verificación no coincide",
|
||||
invalid_csrf: "Ha expirado el Token de seguridad. Por favor recarga la pagina."
|
||||
},
|
||||
browserSupport: {
|
||||
browserWarning: "Estas usando un navegador no compatible (%s)",
|
||||
details: "Detalles...",
|
||||
failedTests: "Las siguientes pruebas han fallado:",
|
||||
supportedBrowser: "Por favor utilice un navegador compatible como %s"
|
||||
},
|
||||
creative: {
|
||||
creative: "Creativo",
|
||||
maker: "Creador:"
|
||||
},
|
||||
withLyrics: "Con letras",
|
||||
customSongs: {
|
||||
title: "Lista personalizada",
|
||||
default: "Lista de canciones por defecto",
|
||||
description: [
|
||||
"Escoje una carpeta con archivos de partitura Taiko en formato TJA para jugar tu lista personalizada!"
|
||||
],
|
||||
localFolder: "Carpeta Local...",
|
||||
gdriveFolder: "Google Drive...",
|
||||
gdriveAccount: "Cambiar cuentas",
|
||||
dropzone: "Arrastra tus archivos aquí",
|
||||
importError: "Error al importar",
|
||||
noSongs: "No se han encontrado archivos de partitura Taiko en la carpeta que entregaste."
|
||||
},
|
||||
gpicker: {
|
||||
locale: "es-419",
|
||||
myDrive: "Mi unidad",
|
||||
starred: "Destacados",
|
||||
sharedWithMe: "Compartidos conmigo",
|
||||
authError: "Error de Autenticación: %s",
|
||||
cookieError: "Esta función requiere Cookies de terceros."
|
||||
},
|
||||
plugins: {
|
||||
title: "Módulos",
|
||||
unloadAll: "Desactivar todos",
|
||||
warning: "Vas a cargar %s. Los módulos solo deberían ser cargados si confias en ellos, ¿Deseas continuar?",
|
||||
plugin: {
|
||||
one: "modulo de %s",
|
||||
other: "módulos de %s",
|
||||
many: "módulos de %s"
|
||||
},
|
||||
author: "por %s",
|
||||
version: "Versión %s"
|
||||
},
|
||||
search: {
|
||||
search: "Buscar Canciones",
|
||||
searchInput: "Busca canciones aquí...",
|
||||
noResults: "No se han encontrado resultados.",
|
||||
tip: "Tip:",
|
||||
tips: [
|
||||
"Abre la ventana de búsqueda presionando CTRL+F!",
|
||||
"Usa uno o mas filtros de búsqueda! Todos los que quieras!",
|
||||
"Filtra por genero musical utilizando la palabra clave \"genre:\"! (Ej: \"genre:variety\", \"genre:namco\")",
|
||||
"Usa filtros como \"oni:10\" para buscar canciones con una dificultad en particular!",
|
||||
"Los filtros de dificultad también soportan rangos! Intenta con: \"ura:1-5\"!",
|
||||
"¿Quieres ver solamente tus Full Combos? Intenta con: \"gold:any\", \"gold:oni\", etc.!",
|
||||
"¿Quieres solo ver canciones creativas/custom? Prueba con el filtro \"creative:yes\"!",
|
||||
"Busca canciones que tengan letras/lyrics disponibles con el filtro \"lyrics:yes\" !",
|
||||
"¿Te gustaría probar algo nuevo? Utiliza el filtro \"played:no\" para ver canciones que no hayas jugado nunca antes!",
|
||||
"¿Buscas canciones hechas por un creador en particular? Utiliza el filtro \"maker:<name>\"!"
|
||||
]
|
||||
},
|
||||
categories: {
|
||||
"Pop": "Pop",
|
||||
"Anime": "Anime",
|
||||
"VOCALOID™ Music": "Música VOCALOID™",
|
||||
"Variety": "Variados",
|
||||
"Classical": "Clásica",
|
||||
"Game Music": "Musica de Juegos",
|
||||
"NAMCO Original": "Originales de NAMCO"
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addLanguage(this.strings)
|
||||
|
||||
this.font = new FontFace("spanishFont", "url('" + spanishFont() + "')")
|
||||
return this.font.load().then(font => document.fonts.add(font))
|
||||
}
|
||||
unload(){
|
||||
if(this.font){
|
||||
document.fonts.delete(this.font)
|
||||
delete this.font
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function spanishFont(){
|
||||
return "data:font/woff2;base64,d09GMgABAAAAAAP4ABAAAAAAB4AAAAOgAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlYAglIICAkREQgKhVCEbAsOAAE2AiQDGAQgBYFAByAMExckGBgb9QVRlC1KGeIjtRuu8bK6wfP0Xu+5M9lsHoxKwBbkV5sG7CKo/PenasbS2MLco0wLeNIhXqDEOsYE6X3t1WVRaW7iFqReK1LZq25MFAdG2ES3bhHQBohaKtNxYCkUAH26gpycd1MaC+nHA2I5AfAFKN2gagmKs4Lvurvdnek6q1AAtG5EIpJSGY3wBtnnWVgoYAU3+G7bC4+2lnYuOxBBIyYIkYgCFL8v0NEgNA7Crxm5Q8gk23beZMmUGaY+DhDbRgFgAuAJmCBOkHsyXj+uhseFh0Y0Di/tqnpVRiTcrXc3ZpHHpBwu1B7usQeBs92fJG9M3yojMjZZXNoGOXM+7w7aEzJPRZG42n3i2tE/o\
|
||||
hNv5FLWVZOkBTBoXNSSsOFhC8Clbh6oO09G1L1Td7mTWiFiO3sh80KE1RH17jZL9FJZGjw3ea1vzdzkMamOC4GuOnpE+IiCB1VsHl6l0cmV8mQu/378LLGaK3Solqf23Tj0SJ0lqDP8xDN7JeeGLw32alVkhFAtPDvUrLoityOb9SSEFPGY1Iu5W09YWxu8UcTm/U/+Njp2rHzmvoB6Ma0SOuUrFhpaLKRS++k+k3ytQomex47FJiwr9LNQr/y5+/WLjT2UKzFx0D7PYpZvv1wWkb0aln3TwvDx98zSLDz4frBPy1WWj793t6jo4Ll0sUPb+jVLqqAgb4e3di+xxZVWN6JrXe1WrnPb+VO3Zam3oFLJtNzddieUjqyhsiQ+GjeKKQmRisbWJjn8Ax2hZZceSGnbLtBrc86YvOUTSsWmmu777s6636RANs9uhQMDNs+PLvKtfpaiwUz7XcJj0ykzIjbQOThbSrXUiFP5vCLiQgc586R+n\
|
||||
O1qmLdcqwKl81ul62kd60vxxIBaOetk5okaWmtDqN+D2rXNJ2XLZt336HYsk9ovSmXmulq0RHhFxIjSQhu6+Pr4mj57XwZFX1sbWAMABBB4ketYm2Y+hX9bHgYA6+td6g7wpOyNYyTbq3Ue3QKwUAAI/C2eggGAzoOQ+6YBtLfIK4brVmRVs0lGAJN+m6kBBdZmADhpiEYMNwBgCYJCgcLCBE1+fMFAUREc+FP1PBNFS6A1UJJudKMTUJZudKX3dHxP2tGGWHKSlewJChJL60YushQ+J9lTObcarksbetKLDmjFEmu9TAPAv+vkhN9ze/FKNesfEBsiDgA0mDIG8UXy/AeMbPZqjusWgHzRiu5+oZDdSMInIE9XAAA="
|
||||
}
|
||||
|
|
@ -0,0 +1,320 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Language: French"
|
||||
name_lang = {
|
||||
fr: "Langue: Français"
|
||||
}
|
||||
version = "22.03.30"
|
||||
description = ""
|
||||
author = "Nameless, lilyuwuu"
|
||||
|
||||
strings = {
|
||||
id: "fr",
|
||||
name: "Français",
|
||||
regex: /^fr$|^fr-/,
|
||||
font: "TnT, Meiryo, sans-serif",
|
||||
intl: "fr-CA",
|
||||
preferEn: true,
|
||||
|
||||
taikoWeb: "Taiko Web",
|
||||
titleProceed: "Cliquez ou appuyez sur ENTRÉE!",
|
||||
titleDisclaimer: "Ce simulateur non-officiel n'a pas d'affiliation avec BANDAI NAMCO.",
|
||||
titleCopyright: null,
|
||||
selectSong: "Choix de la chanson",
|
||||
selectDifficulty: "Choix de la difficulté",
|
||||
back: "Retour",
|
||||
random: "Aléatoire",
|
||||
randomSong: "Chanson Aléatoire",
|
||||
howToPlay: "Comment Jouer",
|
||||
aboutSimulator: "À Propos du Simulateur",
|
||||
gameSettings: "Paramètres de jeu",
|
||||
songOptions: "Options de Chanson",
|
||||
none: "Aucun",
|
||||
auto: "Auto",
|
||||
netplay: "Netplay",
|
||||
easy: "Facile",
|
||||
normal: "Normal",
|
||||
hard: "Difficile",
|
||||
oni: "Extrême",
|
||||
songBranch: "Notes Divergentes",
|
||||
defaultName: "Don-chan",
|
||||
default2PName: "Katsu-chan",
|
||||
notLoggedIn: "Pas connecté(e)",
|
||||
sessionStart: "Commencer une Session en Ligne!",
|
||||
sessionEnd: "Finir Session en Ligne",
|
||||
scoreSaveFailed: "Connection au serveur échouée, votre score ne sera pas sauvegardé.\n\nVeuillez vous connecter ou rafraîchissez la page pour renvoyer votre score.",
|
||||
loadSongError: "La chanson %s avec l'ID %s ne pouvait pas être chargée.\n\n%s",
|
||||
accessNotGrantedError: "La permission d'accéder le fichier ne pouvait pas être autorisée",
|
||||
loading: "Chargement...",
|
||||
waitingForP2: "Attente de l'autre joueur...",
|
||||
cancel: "Annuler",
|
||||
note: {
|
||||
don: "Don",
|
||||
ka: "Ka",
|
||||
daiDon: "DON",
|
||||
daiKa: "KA",
|
||||
drumroll: "Roul. tambourー!!",
|
||||
daiDrumroll: "ROUL. TAMBOURー!!",
|
||||
balloon: "Ballon"
|
||||
},
|
||||
ex_note: {
|
||||
don: ["Do", "Do"],
|
||||
ka: ["Ka"],
|
||||
daiDon: ["DON", "DON"],
|
||||
daiKa: ["KA"]
|
||||
},
|
||||
combo: "Combo",
|
||||
clear: "Terminé",
|
||||
good: "BON",
|
||||
ok: "OK",
|
||||
bad: "MAUVAIS",
|
||||
branch: {
|
||||
normal: "Normal",
|
||||
advanced: "Profesionnel",
|
||||
master: "Maître"
|
||||
},
|
||||
pauseOptions: [
|
||||
"Continuer",
|
||||
"Recommencer",
|
||||
"Retour au choix de chanson"
|
||||
],
|
||||
results: "Résultats",
|
||||
points: "pts",
|
||||
maxCombo: "Combo MAX",
|
||||
drumroll: "Roulements",
|
||||
errorOccured: "Une erreur s'est produite, veuillez rafraîchir la page",
|
||||
tutorial: {
|
||||
basics: [
|
||||
"Tu dois tambouriner au moment où la note passe sur le cadre!",
|
||||
"Pour les notes rouges, frappe la surface du tambour (%s or %s)...",
|
||||
"...et pour les notes bleues, frappe le rebord! (%s or %s)",
|
||||
"Les manettes USB sont également supportés!"
|
||||
],
|
||||
otherControls: "D'autres contrôles:",
|
||||
otherTutorial: [
|
||||
"%s — mettre jeu en pause",
|
||||
"%s et %s pendant la sélection d'une chanson — naviguer les catégories",
|
||||
"%s pendant la sélection d'une difficulté — activer mode Automatique",
|
||||
"%s pendant la sélection d'une difficulté — activer mode 2J"
|
||||
],
|
||||
ok: "OK",
|
||||
key: {
|
||||
ctrl: "CTRL",
|
||||
shift: "⇧ MAJ",
|
||||
leftArrow: "←",
|
||||
rightArrow: "→",
|
||||
esc: "ÉCHAP.",
|
||||
join: "+",
|
||||
or: " où "
|
||||
}
|
||||
},
|
||||
about: {
|
||||
bugReporting: [
|
||||
"Ce simulateur est encore en cours de développement.",
|
||||
"Veuillez rapporter tout sorte de bug que vous trouvez.",
|
||||
"Vous pouvez rapporter les bugs soit via notre repositoire Git ou par e-mail."
|
||||
],
|
||||
diagnosticWarning: "Soyez certain d'inclure les données diagnostiques suivantes!",
|
||||
issueTemplate: "###### Décrivez le problème que vous avez ci-dessous. Veuillez inclure une capture d'écran et l'information diagnostique.",
|
||||
issues: "Problèmes"
|
||||
},
|
||||
session: {
|
||||
multiplayerSession: "Session Multijoueur",
|
||||
linkTutorial: "Partagez ce lien avec votre ami pour commencer à jouer ensemble! Ne quittez pas cet écran pendant qu'il se joint à toi.",
|
||||
cancel: "Annuler"
|
||||
},
|
||||
settings: {
|
||||
language: {
|
||||
name: "Langue"
|
||||
},
|
||||
resolution: {
|
||||
name: "Résolution du Jeu",
|
||||
high: "Haute",
|
||||
medium: "Moyen",
|
||||
low: "Basse",
|
||||
lowest: "Plus basse"
|
||||
},
|
||||
touchAnimation: {
|
||||
name: "Animation tactile"
|
||||
},
|
||||
keyboardSettings: {
|
||||
name: "Paramètres du Jeu",
|
||||
ka_l: "Côté Gauche",
|
||||
don_l: "Surface Gauche",
|
||||
don_r: "Surface Droite",
|
||||
ka_r: "Côté Droit"
|
||||
},
|
||||
gamepadLayout: {
|
||||
name: "Configuration de la Manette",
|
||||
a: "Type A",
|
||||
b: "Type B",
|
||||
c: "Type C"
|
||||
},
|
||||
latency: {
|
||||
name: "Latence",
|
||||
value: "Audio: %s, Vidéo: %s",
|
||||
calibration: "Calibration de la Latence",
|
||||
audio: "Audio",
|
||||
video: "Vidéo",
|
||||
drumSounds: "Sons du Tambour"
|
||||
},
|
||||
easierBigNotes: {
|
||||
name: "Notes Grandes Faciles:"
|
||||
},
|
||||
showLyrics: {
|
||||
name: "Montrer Paroles"
|
||||
},
|
||||
on: "Activé",
|
||||
off: "Désactivé",
|
||||
default: "Remettre à Défauts",
|
||||
ok: "OK"
|
||||
},
|
||||
calibration: {
|
||||
title: "Calibration de la Latence",
|
||||
ms: "%sms",
|
||||
back: "Retourner aux Paramètres",
|
||||
retryPrevious: "Réessayer Précédent",
|
||||
start: "Commencer",
|
||||
finish: "Terminer",
|
||||
audioHelp: {
|
||||
title: "Calibration de la Latence Audio",
|
||||
content: "Écoute le son qui joue dans l'arrière-plan.\n\nFrappe la surface du tambour au rythme (%s or %s) pendant que vous l'entendiez!",
|
||||
contentAlt: "Écoute le son qui joue dans l'arrière-plan.\n\nFrappe la surface du tambour au rythme pendant que vous l'entendiez"
|
||||
},
|
||||
audioComplete: "Calibration de la Latence Audio complétée!",
|
||||
videoHelp: {
|
||||
title: "Calibration de la Latence Vidéo",
|
||||
content: "Cette fois-ci, il n'y aura pas de son.\n\nAu lieu de cela, surveillez les notes qui clignotent sur le cadre en forme de cercle, frappez le tambour lorsqu'elles apparaissent!"
|
||||
},
|
||||
videoComplete: "Calibration de la Latence Vidéo complétée!",
|
||||
results: {
|
||||
title: "Résultats de calibration de la latence",
|
||||
content: "Latence sonore: %s\nLatence vidéo: %s\n\nVous pouvez modifier ces chiffres de latence dans les paramètres."
|
||||
}
|
||||
},
|
||||
account: {
|
||||
username: "Nom d'utilisateur",
|
||||
enterUsername: "Entrer nom d'util",
|
||||
password: "Mot de passe",
|
||||
enterPassword: "Entrer mot de passe",
|
||||
repeatPassword: "Répéter mot de passe",
|
||||
remember: "Se souvenir de moi",
|
||||
login: "Se connecter",
|
||||
register: "Enregistrer",
|
||||
privacy: "Confidentialité",
|
||||
registerAccount: "Enregistrer Compte",
|
||||
passwordsDoNotMatch: "Les mots de passe ne correspondent pas",
|
||||
newPasswordsDoNotMatch: "Les nouv. mot de passes ne correspond pas",
|
||||
cannotBeEmpty: "%s ne peut pas être vide",
|
||||
error: "Une erreur s'est produite lors de votre requête",
|
||||
logout: "Déconnecter",
|
||||
back: "Retour",
|
||||
cancel: "Annuler",
|
||||
save: "Sauvegarder",
|
||||
displayName: "Nom montré",
|
||||
customdon: {
|
||||
bodyFill: "Corps",
|
||||
faceFill: "Visage",
|
||||
reset: "Réinitialiser"
|
||||
},
|
||||
changePassword: "Changer mot de passe",
|
||||
currentNewRepeat: [
|
||||
"Mot de Passe Actuel",
|
||||
"Nouveau Mot de Passe",
|
||||
"Répéter Nouveau Mot de Passe"
|
||||
],
|
||||
deleteAccount: "Supprimer Compte",
|
||||
verifyPassword: "Vérifiez votre mot de passe pour confirmer la suppression du compte"
|
||||
},
|
||||
serverError: {
|
||||
not_logged_in: "Non connecté(e)",
|
||||
invalid_username: "Nom d'utilisateur invalide, un nom d'util. peut seulement contenir des chiffres, des lettres et des traits de soulignement, et doit comporter entre 3 et 20 caractères",
|
||||
username_in_use: "Un utilisateur existe déjà avec ce nom",
|
||||
invalid_password: "Impossible d'utiliser ce mot de passe, veuillez vérifier que votre mot de passe comporte au moins 6 caractères",
|
||||
invalid_username_password: "Nom d'util. ou mot de passe est invalide",
|
||||
invalid_display_name: "Impossible d'utiliser ce nom, veuillez vérifier que votre nouveau nom comporte au maximum 25 caractères",
|
||||
invalid_don: "La sauvegarde du Don perso a échoué",
|
||||
current_password_invalid: "Le mot de passe actuel ne correspond pas",
|
||||
invalid_new_password: "Impossible d'utiliser ce mot de passe, veuillez vérifier que votre nouveau mot de passe comporte au moins 6 caractères",
|
||||
verify_password_invalid: "Le mot de passe de vérification ne correspond pas",
|
||||
invalid_csrf: "Jeton de sécurité expiré. Veuillez rafraîchir la page."
|
||||
},
|
||||
browserSupport: {
|
||||
browserWarning: "Vous utilisez un navigateur non pris en charge (%s)",
|
||||
details: "Détails...",
|
||||
failedTests: "Les tests suivants ont échoué:",
|
||||
supportedBrowser: "Veuillez utiliser un navigateur pris en charge, tel que %s"
|
||||
},
|
||||
creative: {
|
||||
creative: "Créatif",
|
||||
maker: "Créateur:"
|
||||
},
|
||||
withLyrics: "Avec paroles",
|
||||
customSongs: {
|
||||
title: "Chansons Personnalisées",
|
||||
default: "Chansons Créatives",
|
||||
description: [
|
||||
"Choisissez un dossier contenant des fichiers Taiko au format TJA pour jouer sur une liste de chansons personnalisées!"
|
||||
],
|
||||
localFolder: "Fichier Local...",
|
||||
gdriveFolder: "Google Drive...",
|
||||
gdriveAccount: "Changer de Compte...",
|
||||
dropzone: "Mettre fichiers ici",
|
||||
importError: "Erreur d'Importation",
|
||||
noSongs: "Il n'y a pas de fichiers TJA qui sont trouvés."
|
||||
},
|
||||
gpicker: {
|
||||
locale: "fr-ca",
|
||||
myDrive: "Mon Drive",
|
||||
starred: "Marqués d'une étoile",
|
||||
sharedWithMe: "Partagés avec moi",
|
||||
authError: "Erreur d'auth: %s",
|
||||
cookieError: "Cette fonction nécessite des cookies tiers."
|
||||
},
|
||||
plugins: {
|
||||
title: "Plugins",
|
||||
unloadAll: "Décharger Tout",
|
||||
warning: "Vous êtes sur le point de charger %s. Les plugins ne doivent être chargés que si vous leur faites confiance. Continuer?",
|
||||
|
||||
plugin: {
|
||||
one: "%s plugin",
|
||||
other: "%s plugins",
|
||||
many: "%s plugins"
|
||||
},
|
||||
author: "Par %s",
|
||||
version: "Version %s",
|
||||
browse: "Parcourir...",
|
||||
noPlugins: "Aucun fichier plugin .taikoweb.js n'a été trouvé dans la liste de fichiers fournie."
|
||||
},
|
||||
search: {
|
||||
search: "Recherche de Chansons",
|
||||
searchInput: "Rechercher pour des chansons...",
|
||||
noResults: "Pas de résultat(s) trouvé(s).",
|
||||
tip: "Astuce:",
|
||||
tips: [
|
||||
"Ouvrez la fenêtre de recherche en appuyant sur CTRL+F!",
|
||||
"Mélangez et associez autant de filtres de recherche que vous le souhaitez!",
|
||||
"Triez par genre en utilisant le mot-clé \"genre:\"! (p. ex. \"genre:variety\", \"genre:namco\")",
|
||||
"Utilisez des filtres comme \"oni:10\" pour rechercher des chansons avec une difficulté particulière!",
|
||||
"Les filtres de difficulté prennent également en charge les portées! Essayez \"ura:1-5\"!",
|
||||
"Vous voulez voir vos combos complets? Essayez \"gold:any\", \"gold:oni\", etc.!",
|
||||
"Vous voulez seulement voir des chansons créatives? Utilisez le filtre \"creative:yes\"!",
|
||||
"Trouvez des chansons avec les paroles activées en utilisant le filtre \"lyrics:yes\"!",
|
||||
"Vous avez envie d'essayer quelque chose de nouveau? Utilisez le filtre \"played:no\" pour seulement voir des chansons que vous n'avez pas encore jouées!",
|
||||
"Vous recherchez des chansons créatives d'un créateur précis? Utilisez le filtre \"maker:<name>\"!"
|
||||
]
|
||||
},
|
||||
categories: {
|
||||
"Pop": "Pop",
|
||||
"Anime": "Anime",
|
||||
"VOCALOID™ Music": "Musique VOCALOID™",
|
||||
"Variety": "Variété",
|
||||
"Classical": "Classique",
|
||||
"Game Music": "Musique de Jeu",
|
||||
"NAMCO Original": "NAMCO Original"
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addLanguage(this.strings)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,486 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Language: Polish"
|
||||
name_lang = {
|
||||
pl: "Język: Polski"
|
||||
}
|
||||
version = "23.01.14"
|
||||
description = ""
|
||||
author = "hapaxant, Katie Frogs"
|
||||
|
||||
strings = {
|
||||
id: "pl",
|
||||
name: "Polski",
|
||||
regex: /^pl$|^pl-/,
|
||||
font: "Joan, TnT, Meiryo, sans-serif",
|
||||
intl: "pl",
|
||||
preferEn: true,
|
||||
condensedFont: true,
|
||||
|
||||
taikoWeb: "Taiko Web",
|
||||
titleProceed: "Kliknij lub naciśnij Enter!",
|
||||
titleDisclaimer: "Ten nieoficjalny symulator nie jest powiązany z BANDAI NAMCO.",
|
||||
titleCopyright: "Taiko no Tatsujin ©&™ 2011 BANDAI NAMCO Entertainment Inc.",
|
||||
selectSong: "Wybierz piosenkę",
|
||||
selectDifficulty: "Wybierz poziom",
|
||||
back: "Wstecz",
|
||||
random: "Różne",
|
||||
randomSong: "Losowa piosenka",
|
||||
howToPlay: "Jak grać",
|
||||
aboutSimulator: "O symulatorze",
|
||||
gameSettings: "Ustawienia gry",
|
||||
songOptions: "Opcje",
|
||||
none: "Brak",
|
||||
auto: "Samo rozgrywka",
|
||||
netplay: "Gra sieciowa",
|
||||
easy: "Łatwy",
|
||||
normal: "Średni",
|
||||
hard: "Trudny",
|
||||
oni: "Ekstremalny",
|
||||
songBranch: "Rozdzielająca notacja",
|
||||
defaultName: "Don-chan",
|
||||
default2PName: "Katsu-chan",
|
||||
notLoggedIn: "Niezalogowano",
|
||||
sessionStart: "Rozpocznij sesję online!",
|
||||
sessionEnd: "Zakończ sesję online",
|
||||
scoreSaveFailed: "Nie można połączyć się z serwerem, wynik gry nie został zapisany.\n\nZaloguj się lub odśwież stronę, aby spróbować zapisać wynik ponownie.",
|
||||
loadSongError: "Nie można wczytać utworu %s o ID %s.\n\n%s",
|
||||
accessNotGrantedError: "Nie udzielono dostępu do pliku",
|
||||
loading: "Trwa ładowanie...",
|
||||
waitingForP2: "Czekam na innego gracza...",
|
||||
cancel: "Anuluj",
|
||||
note: {
|
||||
don: "Don",
|
||||
ka: "Ka",
|
||||
daiDon: "DON",
|
||||
daiKa: "KA",
|
||||
drumroll: "Werbleー!!",
|
||||
daiDrumroll: "WERBLEー!!",
|
||||
balloon: "Balon"
|
||||
},
|
||||
ex_note: {
|
||||
don: ["Do", "Do"],
|
||||
ka: ["Ka"],
|
||||
daiDon: ["DON", "DON"],
|
||||
daiKa: ["KA"]
|
||||
},
|
||||
combo: "Combo",
|
||||
clear: "Warunek",
|
||||
good: "DOBRZE",
|
||||
ok: "OK",
|
||||
bad: "ŹLE",
|
||||
branch: {
|
||||
normal: "Normalny",
|
||||
advanced: "Profesjonalny",
|
||||
master: "Mistrzowski"
|
||||
},
|
||||
pauseOptions: [
|
||||
"Kontynuuj",
|
||||
"Powtórz",
|
||||
"Wróć do wyboru piosenki"
|
||||
],
|
||||
results: "Wyniki",
|
||||
points: "pkt",
|
||||
maxCombo: "Najw. combo",
|
||||
drumroll: "Werble",
|
||||
errorOccured: "Nastąpił błąd, proszę odśwież stronę",
|
||||
tutorial: {
|
||||
basics: [
|
||||
"Kiedy nuta zachodzi na ramkę, jest to właściwy moment uderzenia w bęben!",
|
||||
"W przypadku czerwonych nut, uderz w środek bębna (%s lub %s)...",
|
||||
"...a w przypadku niebieskich, uderz w bok! (%s lub %s)",
|
||||
"Kontrolery USB są również obsługiwane!"
|
||||
],
|
||||
otherControls: "Inne sterowania",
|
||||
otherTutorial: [
|
||||
"%s — pauza gry",
|
||||
"%s lub %s podczas wyboru piosenki — nawiguj po kategoriach",
|
||||
"%s podczas wyboru poziomu — włącz tryb samo rozgrywki",
|
||||
"%s podczas wyboru poziomu — włącz tryb dwóch graczy"
|
||||
],
|
||||
ok: "OK",
|
||||
key: {
|
||||
ctrl: "CTRL",
|
||||
shift: "⇧ SHIFT",
|
||||
leftArrow: "←",
|
||||
rightArrow: "→",
|
||||
esc: "ESC",
|
||||
join: "+",
|
||||
or: " lub "
|
||||
}
|
||||
},
|
||||
about: {
|
||||
bugReporting: [
|
||||
"Ten symulator wciąż jest w fazie rozwoju.",
|
||||
"Prosimy zgłaszać znalezione problemy.",
|
||||
"Możesz wysyłać raporty o błędach do naszego repozytorium Git lub emailem."
|
||||
],
|
||||
diagnosticWarning: "Prosimy dołączyć następujące dane diagnostyczne!",
|
||||
issueTemplate: "###### Opisz swoje problemy poniżej. Prosimy również dołączyć zrzut ekranu i dane diagnostyczne.",
|
||||
issues: "Zgłoszenia"
|
||||
},
|
||||
session: {
|
||||
multiplayerSession: "Sesja wieloosobowa",
|
||||
linkTutorial: "Udostępnij ten link znajomemu, aby zagrać razem! Nie zamykaj tego ekranu, dopóki twój znajomy nie dołączy.",
|
||||
cancel: "Anuluj"
|
||||
},
|
||||
settings: {
|
||||
language: {
|
||||
name: "Język"
|
||||
},
|
||||
resolution: {
|
||||
name: "Rozdzielczość gry",
|
||||
high: "Wysoka",
|
||||
medium: "Średnia",
|
||||
low: "Niska",
|
||||
lowest: "Najniższa"
|
||||
},
|
||||
touchAnimation: {
|
||||
name: "Animacja przy dotyku"
|
||||
},
|
||||
keyboardSettings: {
|
||||
name: "Ustawienia klawiatury",
|
||||
ka_l: "Lewy bok",
|
||||
don_l: "Lewa powierzchnia",
|
||||
don_r: "Prawa powierzchnia",
|
||||
ka_r: "Prawy bok"
|
||||
},
|
||||
gamepadLayout: {
|
||||
name: "Układ gamepada",
|
||||
a: "Typ A",
|
||||
b: "Typ B",
|
||||
c: "Typ C"
|
||||
},
|
||||
latency: {
|
||||
name: "Opóźnienie",
|
||||
value: "Dźwięk: %s, Obraz: %s",
|
||||
calibration: "Kalibracja opóźnienia",
|
||||
audio: "Dźwięk",
|
||||
video: "Obraz",
|
||||
drumSounds: "Dźwięki bębna"
|
||||
},
|
||||
easierBigNotes: {
|
||||
name: "Łatwiejsze duże nuty"
|
||||
},
|
||||
showLyrics: {
|
||||
name: "Pokaż teksty piosenek"
|
||||
},
|
||||
on: "Wł.",
|
||||
off: "Wył.",
|
||||
default: "Przywróć domyślne",
|
||||
ok: "OK"
|
||||
},
|
||||
calibration: {
|
||||
title: "Kalibracja opóźnienia",
|
||||
ms: "%sms",
|
||||
back: "Wróć do ustawień",
|
||||
retryPrevious: "Ponów poprzednie",
|
||||
start: "Rozpocznij",
|
||||
finish: "Zakończ",
|
||||
audioHelp: {
|
||||
title: "Kalibracja opóźnienia dźwięku",
|
||||
content: "Posłuchaj powtarzającego się w tle dźwięku.\n\nUderz w środek bębna (%s lub %s), gdy go usłyszysz!",
|
||||
contentAlt: "Posłuchaj powtarzającego się w tle dźwięku.\n\nUderz w środek bębna, gdy go usłyszysz!"
|
||||
},
|
||||
audioComplete: "Kalibracja opóźnienia dźwięku zakończona!",
|
||||
videoHelp: {
|
||||
title: "Kalibracja opóźnienia obrazu",
|
||||
content: "Tym razem nie będzie żadnych dźwięków.\n\nZamiast tego wypatruj nut migających na ramce w kształcie koła, uderzaj w bęben, gdy się pojawią!"
|
||||
},
|
||||
videoComplete: "Kalibracja opóźnienia obrazu zakończona!",
|
||||
results: {
|
||||
title: "Wyniki kalibracji opóźnienia",
|
||||
content: "Opóźnienie dźwięku: %s\nOpóźnienie obrazu: %s\n\nMożesz skonfigurować te wartości opóźnienia w ustawieniach."
|
||||
}
|
||||
},
|
||||
account: {
|
||||
username: "Nazwa użytkownika",
|
||||
enterUsername: "Wpisz nazwę użytkownika",
|
||||
password: "Hasło",
|
||||
enterPassword: "Wpisz hasło",
|
||||
repeatPassword: "Powtórz hasło",
|
||||
remember: "Zapamiętaj mnie",
|
||||
login: "Zaloguj się",
|
||||
register: "Zarejestruj się",
|
||||
privacy: "Prywatność",
|
||||
registerAccount: "Zarejestruj konto",
|
||||
passwordsDoNotMatch: "Hasła nie zgadzają się",
|
||||
newPasswordsDoNotMatch: "Nowe hasła nie zgadzają się",
|
||||
cannotBeEmpty: "%s nie może być puste",
|
||||
error: "Podczas przetwarzania żądania wystąpił błąd",
|
||||
logout: "Wyloguj",
|
||||
back: "Wstecz",
|
||||
cancel: "Anuluj",
|
||||
save: "Zapisz",
|
||||
displayName: "Wyświetlana nazwa",
|
||||
customdon: {
|
||||
bodyFill: "Ciało",
|
||||
faceFill: "Twarz",
|
||||
reset: "Zresetuj"
|
||||
},
|
||||
changePassword: "Zmień hasło",
|
||||
currentNewRepeat: [
|
||||
"Obecne hasło",
|
||||
"Nowe hasło",
|
||||
"Powtórz nowe hasło"
|
||||
],
|
||||
deleteAccount: "Usuń konto",
|
||||
verifyPassword: "Potwierdź hasło, aby usunąć konto"
|
||||
},
|
||||
serverError: {
|
||||
not_logged_in: "Niezalogowano",
|
||||
invalid_username: "Nieprawidłowa nazwa użytkownika, nazwa może zawierać tylko litery, cyfry i podkreślenia oraz musi mieć od 3 do 20 znaków",
|
||||
username_in_use: "Użytkownik o tej nazwie już istnieje",
|
||||
invalid_password: "Nie możesz użyć tego hasła, sprawdź, czy Twoje hasło ma co najmniej 6 znaków",
|
||||
invalid_username_password: "Nieprawidłowa nazwa użytkownika lub hasło",
|
||||
invalid_display_name: "Nie możesz użyć tej nazwy. Sprawdź, czy Twoja nowa nazwa ma co najwyżej 25 znaków",
|
||||
invalid_don: "Nie udało się zapisać własnego Dona",
|
||||
current_password_invalid: "Obecne hasło nie pasuje",
|
||||
invalid_new_password: "Nie możesz użyć tego hasła, sprawdź, czy nowe hasło ma co najmniej 6 znaków",
|
||||
verify_password_invalid: "Hasło weryfikacyjne nie pasuje",
|
||||
invalid_csrf: "Ważność tokena bezpieczeństwa wygasła. Odśwież stronę."
|
||||
},
|
||||
browserSupport: {
|
||||
browserWarning: "Używasz nieobsługiwanej przeglądarki (%s)",
|
||||
details: "Szczegóły...",
|
||||
failedTests: "Następujące testy zakończyły się niepowodzeniem:",
|
||||
supportedBrowser: "Prosimy o użycie obsługiwanej przeglądarki, na przykład %s"
|
||||
},
|
||||
creative: {
|
||||
creative: "Własna praca",
|
||||
maker: "Twórca:"
|
||||
},
|
||||
withLyrics: "Z tekstem",
|
||||
customSongs: {
|
||||
title: "Własna lista piosenek",
|
||||
default: "Domyślna lista piosenek",
|
||||
description: [
|
||||
"Wybierz folder z plikami Taiko w formacie TJA, aby zagrać na własnej liście utworów!"
|
||||
],
|
||||
localFolder: "Folder lokalny...",
|
||||
gdriveFolder: "Dysk Google...",
|
||||
gdriveAccount: "Przełącz konta",
|
||||
dropzone: "Upuść pliki tutaj",
|
||||
importError: "Błąd importu",
|
||||
noSongs: "W podanym folderze nie znaleziono żadnych plików Taiko."
|
||||
},
|
||||
gpicker: {
|
||||
locale: "pl",
|
||||
myDrive: "Mój dysk",
|
||||
starred: "Oznaczone gwiazdką",
|
||||
sharedWithMe: "Udostępnione dla mnie",
|
||||
authError: "Błąd autoryzacji: %s",
|
||||
cookieError: "Ta funkcja wymaga plików cookie stron trzecich."
|
||||
},
|
||||
plugins: {
|
||||
title: "Wtyczki",
|
||||
unloadAll: "Wyładuj wszystkie",
|
||||
warning: "Zamierzasz załadować %s. Wtyczki należy ładować tylko, jeśli im ufasz. Kontynuować?",
|
||||
// The next string uses the following code to select the correct string:
|
||||
// new Intl.PluralRules(strings.intl).select(number)
|
||||
plugin: {
|
||||
one: "%s wtyczkę",
|
||||
few: "%s wtyczki",
|
||||
many: "%s wtyczek",
|
||||
other: "%s wtyczek"
|
||||
},
|
||||
author: "Przez %s",
|
||||
version: "Wersja %s",
|
||||
browse: "Wybierz plik...",
|
||||
noPlugins: "Na podanej liście plików nie znaleziono żadnych plików wtyczek .taikoweb.js."
|
||||
},
|
||||
search: {
|
||||
search: "Szukaj piosenki",
|
||||
searchInput: "Szukaj piosenki...",
|
||||
noResults: "Nie znaleziono wyników.",
|
||||
tip: "Wskazówka:",
|
||||
tips: [
|
||||
"Otworz okno wyszukiwania, naciskając CTRL+F!",
|
||||
"Mieszaj i dopasowuj tyle filtrów wyszukiwania, ile chcesz!",
|
||||
"Filtruj według gatunku, używając słowa kluczowego \"genre:\"! (np. \"genre:variety\", \"genre:namco\")",
|
||||
"Użyj filtrów, takich jak \"oni:10\", aby wyszukać piosenki o określonym poziomie!",
|
||||
"Filtry poziomów również obsługują zakresy! Spróbuj \"ura:1-5\"!",
|
||||
"Chcesz zobaczyć swoje perfekcyjne zagrania? Spróbuj \"gold:any\", \"gold:oni\", itd.!",
|
||||
"Chcesz zobaczyć tylko piosenki własnej pracy? Użyj filtra \"creative:yes\"!",
|
||||
"Znajdź piosenki z tekstami za pomocą filtra \"lyrics:yes\"!",
|
||||
"Chcesz spróbować czegoś nowego? Użyj filtra \"played:no\", aby zobaczyć tylko piosenki, które nie były jeszcze grane!",
|
||||
"Szukasz poziomów własnej pracy od konkretnego twórcy? Użyj filtra \"maker:<nazwa>\"!"
|
||||
]
|
||||
},
|
||||
categories: {
|
||||
"Pop": "Pop",
|
||||
"Anime": "Anime",
|
||||
"VOCALOID™ Music": "VOCALOID™ Music",
|
||||
"Variety": "Różnorodna muzyka",
|
||||
"Classical": "Muzyka klasyczna",
|
||||
"Game Music": "Muzyka z gier",
|
||||
"NAMCO Original": "Utwory NAMCO"
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addLanguage(this.strings)
|
||||
|
||||
this.font = new FontFace("Joan", "url('" + joanFont() + "')")
|
||||
return this.font.load().then(font => document.fonts.add(font))
|
||||
}
|
||||
unload(){
|
||||
if(this.font){
|
||||
document.fonts.delete(this.font)
|
||||
delete this.font
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function joanFont(){
|
||||
return "data:font/woff;base64,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\
|
||||
AAANjlD8k="
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Change Song Select Speed"
|
||||
version = "22.02.22"
|
||||
description = "Changes the song selection scroll speed"
|
||||
author = "Katie Frogs"
|
||||
|
||||
selectRate = 0.5
|
||||
|
||||
strings = {
|
||||
selectRate: {
|
||||
name: "Song Select Speed",
|
||||
name_lang: {},
|
||||
description: null,
|
||||
description_lang: {},
|
||||
format: "%sx",
|
||||
format_lang: {}
|
||||
}
|
||||
}
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(SongSelect.prototype, "init").load(str => {
|
||||
return plugins.insertAfter(str, 'speed: 400', `/ this.getSelectRate()`)
|
||||
}),
|
||||
new EditValue(SongSelect.prototype, "getSelectRate").load(() => this.getSelectRate.bind(this))
|
||||
)
|
||||
}
|
||||
getSelectRate(){
|
||||
return this.selectRate
|
||||
}
|
||||
settings(){
|
||||
var str = this.strings.selectRate
|
||||
return [{
|
||||
name: str.name,
|
||||
name_lang: str.name_lang,
|
||||
description: str.description,
|
||||
description_lang: str.description_lang,
|
||||
format: str.format,
|
||||
format_lang: str.format_lang,
|
||||
type: "number",
|
||||
min: 0.25,
|
||||
fixedPoint: 2,
|
||||
step: 25,
|
||||
default: this.selectRate,
|
||||
getItem: () => this.selectRate,
|
||||
setItem: value => {
|
||||
this.selectRate = value
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,360 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Download Chart"
|
||||
version = "22.02.11"
|
||||
description = "Enables downloading chart and music files from the song select"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(SongSelect.prototype, "init").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
" letterSpacing: 0", `
|
||||
}, {
|
||||
text: "Download",
|
||||
fill: "#e7a9da",
|
||||
iconName: "download",
|
||||
iconFill: "#e7cbe1",
|
||||
letterSpacing: 4`)
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "keyPress").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`}else if(this.selectedDiff === 2){
|
||||
this.toDownload()
|
||||
`, '}else if(this.selectedDiff === 1){')
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "mouseDown").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
`}else if(moveBy === 2){
|
||||
this.toDownload()
|
||||
`, '}else if(moveBy === 1){')
|
||||
}),
|
||||
new EditValue(SongSelect.prototype, "toDownload").load(() => this.toDownload),
|
||||
new EditFunction(CanvasDraw.prototype, "diffOptionsIcon").load(str => {
|
||||
str = plugins.insertBefore(str, `config.iconName === "download" ||`, 'config.iconName === "back"')
|
||||
str = plugins.insertAfter(str, 'ctx.translate(config.x - 21, config.y - 21)', `
|
||||
if(config.iconName === "download"){
|
||||
ctx.rotate(Math.PI)
|
||||
ctx.translate(-42, -42)
|
||||
}`)
|
||||
return str.replaceAll('"#23a6e1"', 'config.iconName === "download" ? "#a08eea" : "#23a6e1"')
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
toDownload(){
|
||||
var jsZip = new JSZip()
|
||||
var zip = new jsZip()
|
||||
var song = this.songs[this.selectedSong]
|
||||
var promises = []
|
||||
var chartParsed = false
|
||||
var musicFilename
|
||||
var chartBlob
|
||||
var musicBlob
|
||||
var lyricsBlob
|
||||
var blobs = []
|
||||
if(song.chart){
|
||||
var charts = []
|
||||
if(song.chart.separateDiff){
|
||||
for(var i in song.chart){
|
||||
if(song.chart[i] && i !== "separateDiff"){
|
||||
charts.push(song.chart[i])
|
||||
}
|
||||
}
|
||||
}else{
|
||||
charts.push(song.chart)
|
||||
}
|
||||
charts.forEach(chart => {
|
||||
promises.push(chart.blob().then(blob => {
|
||||
var promise
|
||||
if(!chartParsed){
|
||||
chartParsed = true
|
||||
if(song.type === "tja"){
|
||||
promise = readFile(blob, false, "sjis").then(dataRaw => {
|
||||
var data = dataRaw ? dataRaw.replace(/\0/g, "").split("\n") : []
|
||||
var tja = new ParseTja(data, "oni", 0, 0, true)
|
||||
for(var diff in tja.metadata){
|
||||
var meta = tja.metadata[diff]
|
||||
if(meta.wave){
|
||||
musicFilename = meta.wave
|
||||
}
|
||||
}
|
||||
})
|
||||
}else if(song.type === "osu"){
|
||||
promise = readFile(blob).then(dataRaw => {
|
||||
var data = dataRaw ? dataRaw.replace(/\0/g, "").split("\n") : []
|
||||
var osu = new ParseOsu(data, "oni", 0, 0, true)
|
||||
if(osu.generalInfo.AudioFilename){
|
||||
musicFilename = osu.generalInfo.AudioFilename
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
var outputBlob = {
|
||||
name: chart.name,
|
||||
data: blob
|
||||
}
|
||||
if(song.type === "tja" && !song.chart.separateDiff){
|
||||
chartBlob = outputBlob
|
||||
}
|
||||
blobs.push(outputBlob)
|
||||
return promise
|
||||
}))
|
||||
})
|
||||
}
|
||||
if(song.music){
|
||||
promises.push(song.music.blob().then(blob => {
|
||||
musicBlob = {
|
||||
name: song.music.name,
|
||||
data: blob
|
||||
}
|
||||
blobs.push(musicBlob)
|
||||
}))
|
||||
}
|
||||
if(song.lyricsFile){
|
||||
promises.push(song.lyricsFile.blob().then(blob => {
|
||||
lyricsBlob = {
|
||||
name: song.lyricsFile.name,
|
||||
data: blob
|
||||
}
|
||||
blobs.push(lyricsBlob)
|
||||
}))
|
||||
}
|
||||
Promise.all(promises).then(() => {
|
||||
if(musicFilename){
|
||||
if(musicBlob){
|
||||
musicBlob.name = musicFilename
|
||||
}
|
||||
var filename = musicFilename
|
||||
var index = filename.lastIndexOf(".")
|
||||
if(index !== -1){
|
||||
filename = filename.slice(0, index)
|
||||
}
|
||||
if(chartBlob){
|
||||
chartBlob.name = filename + ".tja"
|
||||
}
|
||||
if(lyricsBlob){
|
||||
lyricsBlob.name = filename + ".vtt"
|
||||
}
|
||||
}
|
||||
blobs.forEach(blob => zip.file(blob.name, blob.data))
|
||||
}).then(() => zip.generateAsync({type: "blob"})).then(zip => {
|
||||
var url = URL.createObjectURL(zip)
|
||||
var link = document.createElement("a")
|
||||
link.href = url
|
||||
if("download" in HTMLAnchorElement.prototype){
|
||||
link.download = song.title + ".zip"
|
||||
}else{
|
||||
link.target = "_blank"
|
||||
}
|
||||
link.innerText = "."
|
||||
link.style.opacity = "0"
|
||||
document.body.appendChild(link)
|
||||
setTimeout(() => {
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
setTimeout(() => {
|
||||
URL.revokeObjectURL(url)
|
||||
}, 5000)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
JSZip v3.7.1 - A JavaScript class for generating and reading zip files
|
||||
<http://stuartk.com/jszip>
|
||||
|
||||
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
||||
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
|
||||
|
||||
JSZip uses the library pako released under the MIT license :
|
||||
https://github.com/nodeca/pako/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
function JSZip(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e="function"==typeof require&&require;if(!t&&e)return e(r,!0);if(l)return l(r,!0);var i=new Error("Cannot find module '"+r+"'");throw i.code="MODULE_NOT_FOUND",i;}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h)}return o[r].exports}for(var l="function"==typeof require&&require,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){var c=t("./utils"),d=
|
||||
t("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d="string"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u="data:";
|
||||
if(t.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(t=t.replace(/[^A-Za-z0-9\+\/=]/g,"")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),
|
||||
l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l}},{"./support":30,"./utils":32}],2:[function(t,e,r){var i=t("./external"),n=t("./stream/DataWorker"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n}o.prototype={getContentWorker:function(){var t=(new n(i.Promise.resolve(this.compressedContent))).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),
|
||||
e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch");}),t},getCompressedWorker:function(){return(new n(i.Promise.resolve(this.compressedContent))).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",
|
||||
e)},e.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){var i=t("./stream/GenericWorker");r.STORE={magic:"\x00\x00",compressWorker:function(t){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},r.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){var i=t("./utils");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&
|
||||
t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return-1^t}(0|e,t,t.length,0):0}},{"./utils":32}],5:[function(t,e,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,
|
||||
r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){var i=null;i="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:i}},{lie:37}],7:[function(t,e,r){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=i?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={}}r.magic=
|
||||
"\b\x00",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=
|
||||
function(t){e.push({data:t,meta:e.meta})}},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){function A(t,e){var r,i="";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),d=I.transformTo("string",O.utf8encode(h.name)),c=h.comment,p=I.transformTo("string",
|
||||
s(c)),m=I.transformTo("string",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),
|
||||
a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\x00",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+
|
||||
A(p.length,2)+"\x00\x00\x00\x00"+A(z,4)+A(i,4)+f+b+p}}var I=t("../utils"),n=t("../stream/GenericWorker"),O=t("../utf8"),B=t("../crc32"),R=t("../signature");function s(t,e,r,i){n.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||
|
||||
0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}))},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=
|
||||
!0},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=
|
||||
function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,n){var s=I.transformTo("string",n(i));return R.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),
|
||||
this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on("error",function(t){e.error(t)}),this},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||
|
||||
this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t$0){}return!0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,e,r){var u=t("../compressions"),i=t("./ZipFileWorker");r.generateWorker=
|
||||
function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+" is not a valid compression method !");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo("file",{name:t,dir:n,date:s,comment:e.comment||"",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o)}),o.entriesCount=
|
||||
h}catch(t$1){o.error(t$1)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,r){function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var t=new i;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t}}(i.prototype=t("./object")).loadAsync=t("./load"),
|
||||
i.support=t("./support"),i.defaults=t("./defaults"),i.version="3.7.1",i.loadAsync=function(t,e){return(new i).loadAsync(t,e)},i.external=t("./external"),e.exports=i},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,e,r){var i=t("./utils"),n=t("./external"),o=t("./utf8"),h=t("./zipEntries"),s=t("./stream/Crc32Probe"),u=t("./nodejsUtils");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on("error",function(t){e(t)}).on("end",
|
||||
function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),
|
||||
e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders})}return e.zipComment.length&&(a.comment=
|
||||
e.zipComment),a})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,e,r){var i=t("../utils"),n=t("../stream/GenericWorker");function s(t,e){n.call(this,"Nodejs stream input adapter for "+t),this._upstreamEnded=!1,this._bindStream(e)}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on("data",function(t){e.push({data:t,meta:{percent:0}})}).on("error",function(t){e.isPaused?this.generatedError=
|
||||
t:e.error(t)}).on("end",function(){e.isPaused?e._upstreamEnded=!0:e.end()})},s.prototype.pause=function(){return!!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,e,r){var n=t("readable-stream").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on("data",function(t,e){i.push(t)||
|
||||
i._helper.pause(),r&&r(e)}).on("error",function(t){i.emit("error",t)}).on("end",function(){i.push(null)})}t("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},{"../utils":32,"readable-stream":16}],14:[function(t,e,r){e.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if("number"==typeof t)throw new Error('The "data" argument must not be a number');return new Buffer(t,
|
||||
e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}}},{}],15:[function(t,e,r){function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,
|
||||
8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a="string"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e="",s.compression="STORE",n="string");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,
|
||||
s.base64);var h=new c(t,o,s);this.files[t]=h}var n=t("./utf8"),u=t("./utils"),l=t("./stream/GenericWorker"),a=t("./stream/StreamHelper"),f=t("./defaults"),d=t("./compressedObject"),c=t("./zipObject"),o=t("./generate"),p=t("./nodejsUtils"),m=t("./nodejs/NodejsStreamInputAdapter"),_=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return 0<e?t.substring(0,e):""},g=function(t){return"/"!==t.slice(-1)&&(t+="/"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,
|
||||
t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var i={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");},forEach:function(t){var e,r,i;for(e in this.files)i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i)},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e)}),
|
||||
i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||("/"!==r.slice(-1)&&(r+="/"),t=this.files[r]),
|
||||
t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].name];return this},generate:function(t){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");},generateInternalStream:function(t){var e,r={};try{if((r=u.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=
|
||||
r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var i=r.comment||this.comment||"";e=o.generateWorker(this,r,i)}catch(t$2){(e=new l("error")).error(t$2)}return new a(e,r.type||"string",r.mimeType)},generateAsync:function(t,
|
||||
e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return(t=t||{}).type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,e,r){e.exports=t("stream")},{stream:void 0}],17:[function(t,e,r){var i=t("./DataReader");
|
||||
function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),
|
||||
i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./DataReader":18}],18:[function(t,e,r){var i=t("../utils");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<
|
||||
this.zero+t||t<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+t+"). Corrupted zip ?");},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},
|
||||
readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{"../utils":32}],19:[function(t,e,r){var i=t("./Uint8ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./Uint8ArrayReader":21}],
|
||||
20:[function(t,e,r){var i=t("./DataReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,
|
||||
"./DataReader":18}],21:[function(t,e,r){var i=t("./ArrayReader");function n(t){i.call(this,t)}t("../utils").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":32,"./ArrayReader":17}],22:[function(t,e,r){var i=t("../utils"),n=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");
|
||||
e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),"string"!==e||n.uint8array?"nodebuffer"===e?new o(t):n.uint8array?new h(i.transformTo("uint8array",t)):new s(i.transformTo("array",t)):new a(t)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){r.LOCAL_FILE_HEADER="PK\u0003\u0004",r.CENTRAL_FILE_HEADER="PK\u0001\u0002",r.CENTRAL_DIRECTORY_END="PK\u0005\u0006",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=
|
||||
"PK\u0006\u0007",r.ZIP64_CENTRAL_DIRECTORY_END="PK\u0006\u0006",r.DATA_DESCRIPTOR="PK\u0007\b"},{}],24:[function(t,e,r){var i=t("./GenericWorker"),n=t("../utils");function s(t){i.call(this,"ConvertWorker to "+t),this.destType=t}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta})},e.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){var i=t("./GenericWorker"),n=t("../crc32");function s(){i.call(this,"Crc32Probe"),
|
||||
this.withStreamInfo("crc32",0)}t("../utils").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=
|
||||
e+t.data.length}n.prototype.processChunk.call(this,t)},e.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),
|
||||
this.data=null},s.prototype.resume=function(){return!!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=null,e=Math.min(this.max,this.index+16384);
|
||||
if(this.index>=this.max)return this.end();switch(this.type){case "string":t=this.data.substring(this.index,e);break;case "uint8array":t=this.data.subarray(this.index,e);break;case "array":case "nodebuffer":t=this.data.slice(this.index,e)}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){function i(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo=
|
||||
{},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}i.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t$3){this.emit("error",t$3)}return!0},error:function(t){return!this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},
|
||||
on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=
|
||||
t;var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.end()}),t.on("error",function(t){e.error(t)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},
|
||||
withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t="Worker "+this.name;return this.previous?this.previous+" -> "+t:t}},e.exports=i},{}],29:[function(t,
|
||||
e,r){var h=t("../utils"),n=t("./ConvertWorker"),s=t("./GenericWorker"),u=t("../base64"),i=t("../support"),a=t("../external"),o=null;if(i.nodestream)try{o=t("../nodejs/NodejsStreamOutputAdapter")}catch(t$4){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on("data",function(t,e){i.push(t),o&&o(e)}).on("error",function(t){i=[],r(t)}).on("end",function(){try{var t=function(t,e,r){switch(t){case "blob":return h.newBlob(h.transformTo("arraybuffer",
|
||||
e),r);case "base64":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case "string":return e.join("");case "array":return Array.prototype.concat.apply([],e);case "uint8array":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case "nodebuffer":return Buffer.concat(e);default:throw new Error("concat : unsupported type '"+t+"'");}}(n,i),a);e(t)}catch(t$5){r(t$5)}i=[]}).resume()})}
|
||||
function f(t,e,r){var i=e;switch(e){case "blob":case "arraybuffer":i="uint8array";break;case "base64":i="string"}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock()}catch(t$6){this._worker=new s("error"),this._worker.error(t$6)}}f.prototype={accumulate:function(t){return l(this,t)},on:function(t,e){var r=this;return"data"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){h.delay(e,arguments,r)}),
|
||||
this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],
|
||||
30:[function(t,e,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===(new Blob([i],{type:"application/zip"})).size}catch(t$8){try{var n=new (self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob("application/zip").size}catch(t$7){r.blob=
|
||||
!1}}}try{r.nodestream=!!t("readable-stream").Readable}catch(t$9){r.nodestream=!1}},{"readable-stream":16}],31:[function(t,e,s){for(var o=t("./utils"),h=t("./support"),r=t("./nodejsUtils"),i=t("./stream/GenericWorker"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,"utf-8 decode"),this.leftOver=null}function l(){i.call(this,"utf-8 encode")}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,"utf-8"):function(t){var e,
|
||||
r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),
|
||||
e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else{for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?
|
||||
"uint8array":"array",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=
|
||||
e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,
|
||||
"./support":30,"./utils":32}],32:[function(t,e,a){var o=t("./support"),h=t("./base64"),r=t("./nodejsUtils"),i=t("set-immediate-shim"),u=t("./external");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport("blob");try{return new Blob([e],{type:r})}catch(t$11){try{var i=new (self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t$10){throw new Error("Bug : can't construct the Blob.");
|
||||
}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)"array"===e||"nodebuffer"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join("")},stringifyByChar:function(t){for(var e="",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,
|
||||
new Uint8Array(1)).length}catch(t$12){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t$13){return!1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if("uint8array"===r?i=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t$14){e=Math.floor(e/2)}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}
|
||||
a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return(new Uint8Array(t)).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},
|
||||
array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},
|
||||
uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||"",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return"string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":o.nodebuffer&&r.isBuffer(t)?"nodebuffer":o.uint8array&&t instanceof Uint8Array?"uint8array":o.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+
|
||||
" is not supported by this platform");},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i="";for(r=0;r<(t||"").length;r++)i+="\\x"+((e=t.charCodeAt(r))<16?"0":"")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[])})},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===
|
||||
r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(i)))&&"undefined"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result)},t.onerror=function(t){r(t.target.error)},t.readAsArrayBuffer(i)}):i}).then(function(t){var e=a.getTypeOf(t);return e?("arraybuffer"===e?t=a.transformTo("uint8array",
|
||||
t):"string"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(t,e,r){var i=t("./reader/readerFor"),n=t("./utils"),s=t("./signature"),a=t("./zipEntry"),o=(t("./utf8"),t("./support"));function h(t){this.files=
|
||||
[],this.loadOptions=t}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+n.pretty(e)+", expected "+n.pretty(t)+")");}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=
|
||||
this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?"uint8array":"array",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),
|
||||
this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},
|
||||
readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported");},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},
|
||||
readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length);},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);
|
||||
if(t<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||
|
||||
this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&
|
||||
(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,
|
||||
s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.");},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(t,e,r){var i=t("./reader/readerFor"),s=t("./utils"),n=t("./compressedObject"),a=t("./crc32"),o=t("./utf8"),
|
||||
h=t("./compressions"),u=t("./support");function l(t,e){this.options=t,this.loadOptions=e}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");
|
||||
if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new n(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=
|
||||
t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),
|
||||
this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===
|
||||
s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,
|
||||
value:i};t.setIndex(n)},handleUTF8:function(){var t=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var n=s.transformTo(t,this.fileComment);this.fileCommentStr=
|
||||
this.loadOptions.decodeFileName(n)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l},{"./compressedObject":2,"./compressions":3,
|
||||
"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,e,r){function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=t("./stream/StreamHelper"),n=t("./stream/DataWorker"),a=t("./utf8"),o=t("./compressedObject"),h=t("./stream/GenericWorker");
|
||||
i.prototype={internalStream:function(t){var e=null,r="string";try{if(!t)throw new Error("No output type specified.");var i="string"===(r=t.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker))}catch(t$15){(e=new h("error")).error(t$15)}return new s(e,r,"")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||
|
||||
"nodebuffer").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],
|
||||
l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,l,e){(function(e){var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2}}else if(e.setImmediate||
|
||||
void 0===e.MessageChannel)r="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();
|
||||
r=h.length}i=!1}l.exports=function(t){1!==h.push(t)||i||r()}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(t,e,r){var n=t("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],i=["PENDING"];function o(t){if("function"!=typeof t)throw new TypeError("resolver must be a function");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t)}function h(t,e,r){this.promise=t,"function"==typeof e&&(this.onFulfilled=
|
||||
e,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(e,r,i){n(function(){var t;try{t=r(i)}catch(t$16){return l.reject(e,t$16)}t===e?l.reject(e,new TypeError("Cannot resolve promise with itself")):l.resolve(e,t)})}function d(t){var e=t&&t.then;if(t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof e)return function(){e.apply(t,arguments)}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t))}
|
||||
function n(t){r||(r=!0,l.resolve(e,t))}var s=p(function(){t(n,i)});"error"===s.status&&i(s.value)}function p(t,e){var r={};try{r.value=t(e),r.status="success"}catch(t$17){r.status="error",r.value=t$17}return r}(e.exports=o).prototype["finally"]=function(e){if("function"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t;})})},o.prototype["catch"]=function(t){return this.then(null,
|
||||
t)},o.prototype.then=function(t,e){if("function"!=typeof t&&this.state===a||"function"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t)},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t)},h.prototype.callRejected=function(t){l.reject(this.promise,t)},h.prototype.otherCallRejected=function(t){f(this.promise,
|
||||
this.onRejected,t)},l.resolve=function(t,e){var r=p(d,e);if("error"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else{t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e)}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=
|
||||
function(t){var r=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s))},function(t){n||(n=!0,l.reject(o,t))})}},o.race=function(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));
|
||||
var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t))},function(t){i||(i=!0,l.reject(s,t))});var a;return s}},{immediate:36}],38:[function(t,e,r){var i={};(0,t("./lib/utils/common").assign)(i,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),e.exports=i},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,r){var a=t("./zlib/deflate"),o=
|
||||
t("./utils/common"),h=t("./utils/strings"),n=t("./zlib/messages"),s=t("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=
|
||||
0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}
|
||||
p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?4:0,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,
|
||||
n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)))}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t)},p.prototype.onEnd=function(t){t===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=p,r.deflate=i,r.deflateRaw=
|
||||
function(t,e){return(e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return(e=e||{}).gzip=!0,i(t,e)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,r){var d=t("./zlib/inflate"),c=t("./utils/common"),p=t("./utils/strings"),m=t("./zlib/constants"),i=t("./zlib/messages"),n=t("./zlib/zstream"),s=t("./zlib/gzheader"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,
|
||||
windowBits:0,to:""},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,
|
||||
this.header)}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof t?h.input=p.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new c.Buf8(u),h.next_out=0,h.avail_out=
|
||||
u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,
|
||||
n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t)},a.prototype.onEnd=function(t){t===
|
||||
m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return(e=e||{}).raw=!0,o(t,e)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,e,r){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=
|
||||
typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,
|
||||
i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(i)},{}],42:[function(t,e,r){var h=t("./common"),n=!0,s=!0;try{String.fromCharCode.apply(null,
|
||||
[0])}catch(t$18){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t$19){s=!1}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r="",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&
|
||||
(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),
|
||||
r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:
|
||||
r+u[t[r]]>e?r:e}},{"./common":41}],43:[function(t,e,r){e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2E3<r?2E3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521}return n|s<<16|0}},{}],44:[function(t,e,r){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,
|
||||
Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t}},{}],46:[function(t,e,r){var h,d=t("../utils/common"),u=t("./trees"),c=t("./adler32"),p=t("./crc32"),i=t("./messages"),l=0,f=4,m=0,_=-2,g=
|
||||
-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return(t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function N(t,e){u._tr_flush_block(t,0<=
|
||||
t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm)}function U(t,e){t.pending_buf[t.pending++]=e}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(u[(r=
|
||||
e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do;while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a]}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,
|
||||
f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=
|
||||
t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&
|
||||
t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=
|
||||
t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,
|
||||
t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-
|
||||
x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===
|
||||
t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=
|
||||
0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=
|
||||
0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=
|
||||
0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,
|
||||
t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return(t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+
|
||||
x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=
|
||||
0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,
|
||||
258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,
|
||||
8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),
|
||||
U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else{var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,
|
||||
n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?
|
||||
255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,
|
||||
s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==
|
||||
i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;
|
||||
if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do;while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),
|
||||
t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?
|
||||
m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,
|
||||
o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&
|
||||
r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,r){e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,
|
||||
this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(t,e,r){e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=
|
||||
y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&
|
||||
(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg="invalid distance too far back",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=
|
||||
S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p}},{}],49:[function(t,e,r){var I=t("../utils/common"),O=t("./adler32"),B=t("./crc32"),R=t("./inffast"),T=t("./inftrees"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return(t>>>
|
||||
24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),
|
||||
this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=
|
||||
0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,
|
||||
{bits:5}),d=!1}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=
|
||||
o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;
|
||||
break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&
|
||||
u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,
|
||||
E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-
|
||||
r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=
|
||||
i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}t.adler=r.check=L(u),
|
||||
l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&
|
||||
l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||
|
||||
30<r.ndist){t.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>
|
||||
16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}l-=_,k=0,c=11+(127&(u>>>=_)),
|
||||
u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg=
|
||||
"invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>
|
||||
v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-
|
||||
1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=
|
||||
r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<
|
||||
32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8}if(u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return-4;case 32:default:return U}return t.next_out=
|
||||
a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;
|
||||
var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,
|
||||
e,r){var D=t("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,
|
||||
g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===t||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=
|
||||
F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|
|
||||
d-s|0}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(t,e,r){e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,e,r){var n=t("../utils/common"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,
|
||||
2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function F(t,
|
||||
e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function L(t,e,r){P(t,r[2*e],r[2*e+1])}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),
|
||||
a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,
|
||||
r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e)}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,
|
||||
o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:
|
||||
t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+
|
||||
a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--)}}(t,e),Z(s,u,t.bl_count)}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*
|
||||
b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4))}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4)}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),
|
||||
function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;
|
||||
for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p)}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t)},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==
|
||||
t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),
|
||||
3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t)},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*
|
||||
N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":41}],53:[function(t,e,r){e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,
|
||||
e,r){e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)};
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
// ==UserScript==
|
||||
// @name Plugins in Old Taiko Web
|
||||
// @namespace plugins-in-old-taiko-web
|
||||
// @icon https://gitlab.com/uploads/-/system/project/avatar/36006078/taiko-web-plugins.png?width=64
|
||||
// @version 2023.1.20
|
||||
// @author Katie Frogs
|
||||
// @description Implements the plugin interface in older versions of taiko-web
|
||||
// @homepage https://github.com/KatieFrogs/taiko-web-plugins
|
||||
// @supportURL https://github.com/KatieFrogs/taiko-web-plugins/issues
|
||||
// @match https://*.lv5.ac/
|
||||
// @grant none
|
||||
// @run-at document-start
|
||||
// ==/UserScript==
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,12 @@
|
|||
// ==UserScript==
|
||||
// @name Taiko Web - Skip Results in Multiplayer
|
||||
// @namespace taiko-web-plugins
|
||||
// @icon https://gitlab.com/uploads/-/system/project/avatar/36006078/taiko-web-plugins.png?width=64
|
||||
// @version 22.5.23
|
||||
// @author Katie Frogs
|
||||
// @description Enables skipping the results screen in multiplayer, however, the other player will not get to see the full results screen without the plugin
|
||||
// @homepage https://github.com/KatieFrogs/taiko-web-plugins
|
||||
// @supportURL https://github.com/KatieFrogs/taiko-web-plugins/issues
|
||||
// @match https://taiko.bui.pm/
|
||||
// @grant none
|
||||
// ==/UserScript==
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
// ==UserScript==
|
||||
// @name Taiko Web - Skip Results in Multiplayer
|
||||
// @namespace taiko-web-plugins
|
||||
// @icon https://gitlab.com/uploads/-/system/project/avatar/36006078/taiko-web-plugins.png?width=64
|
||||
// @version 22.5.23
|
||||
// @author Katie Frogs
|
||||
// @description Enables skipping the results screen in multiplayer, however, the other player will not get to see the full results screen without the plugin
|
||||
// @homepage https://github.com/KatieFrogs/taiko-web-plugins
|
||||
// @supportURL https://github.com/KatieFrogs/taiko-web-plugins/issues
|
||||
// @match https://taiko.bui.pm/
|
||||
// @grant none
|
||||
// ==/UserScript==
|
||||
|
||||
async function onReady(){
|
||||
var newGoNext
|
||||
var oldGoNext = Titlescreen.prototype.goNext
|
||||
Titlescreen.prototype.goNext = function(...args){
|
||||
newGoNext = async () => {
|
||||
await new Promise(r => setTimeout(r, 100))
|
||||
Titlescreen.prototype.goNext.bind(this)(...args)
|
||||
}
|
||||
}
|
||||
var promises = []
|
||||
var pluginLoaders = []
|
||||
var pluginClasses = [{
|
||||
name: "skip-results-in-multiplayer",
|
||||
value: skipResultsInMultiplayer()
|
||||
}]
|
||||
pluginClasses.forEach(obj => {
|
||||
var existingPlugin = plugins.pluginMap[obj.name]
|
||||
if(existingPlugin){
|
||||
existingPlugin.start()
|
||||
}else{
|
||||
var pluginLoader = plugins.add(obj.value, {
|
||||
name: obj.name,
|
||||
hide: obj.hide
|
||||
})
|
||||
if(pluginLoader){
|
||||
pluginLoaders.push(pluginLoader)
|
||||
promises.push(pluginLoader.load())
|
||||
}
|
||||
}
|
||||
})
|
||||
try{
|
||||
await Promise.all(promises)
|
||||
Titlescreen.prototype.goNext = oldGoNext
|
||||
pluginLoaders.forEach(pluginLoader => {
|
||||
return pluginLoader.start()
|
||||
})
|
||||
}catch(e){
|
||||
console.error(e)
|
||||
}finally{
|
||||
await newGoNext?.()
|
||||
}
|
||||
}
|
||||
|
||||
if(window.loader && window.loader.ready){
|
||||
onReady()
|
||||
}else{
|
||||
addEventListener("ready", onReady)
|
||||
}
|
||||
|
||||
function skipResultsInMultiplayer(){
|
||||
return class Plugin extends Patch{
|
||||
name = "Skip Results in Multiplayer"
|
||||
version = "22.05.23"
|
||||
description = "Enables skipping the results screen in multiplayer, however, the other player will not get to see the full results screen without the plugin"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "init").load(str => {
|
||||
str = plugins.insertAfter(str, 'if(this.session){', `
|
||||
var noteValue = p2.getMessage("note")
|
||||
if(noteValue){
|
||||
if(noteValue.skipResults){
|
||||
this.toScoresShown(true)
|
||||
}else if(noteValue.donSound){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 1 : 0)
|
||||
}
|
||||
}`)
|
||||
return plugins.insertBefore(str,
|
||||
`if(response.type === "note" && response.value){
|
||||
if(response.value.skipResults){
|
||||
this.toScoresShown(true)
|
||||
}else if(response.value.donSound){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 1 : 0)
|
||||
}
|
||||
}else `, 'if(response.type === "songsel"){')
|
||||
})
|
||||
),
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "redraw").load(str => {
|
||||
return plugins.strReplace(str, 'this.session ? "" : "pointer"', `"pointer"`)
|
||||
})
|
||||
),
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "toScoresShown").load((str, args) => {
|
||||
args.push("fromP2")
|
||||
str = plugins.strReplace(str, '!p2.session', `this.state.screen === "fadeIn"`)
|
||||
str = plugins.insertBefore(str,
|
||||
`if(!p2.session)
|
||||
`, 'this.controller.playSound')
|
||||
return str + `
|
||||
if(p2.session){
|
||||
if(fromP2){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 1 : 0)
|
||||
}else{
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 0 : 1)
|
||||
p2.send("note", {
|
||||
score: 450,
|
||||
ms: 0,
|
||||
dai: 0,
|
||||
skipResults: true
|
||||
})
|
||||
}
|
||||
}`
|
||||
})
|
||||
),
|
||||
this.addEdits(
|
||||
new EditFunction(Scoresheet.prototype, "toSongsel").load(str => {
|
||||
str = plugins.insertAfter(str, 'if(!fromP2', ` && !p2.session`)
|
||||
return str + `
|
||||
if(p2.session && !fromP2){
|
||||
this.playSound("neiro_1_don", p2.player === 1 ? 0 : 1)
|
||||
p2.send("note", {
|
||||
score: 450,
|
||||
ms: 0,
|
||||
dai: 0,
|
||||
donSound: true
|
||||
})
|
||||
p2.send("songsel")
|
||||
}`
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Offline Account"
|
||||
version = "22.02.22"
|
||||
description = "Allows setting your name and customizing your Don without logging in"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.offlineAccount = {
|
||||
loggedIn: true,
|
||||
username: "Don-chan",
|
||||
displayName: "Don-chan",
|
||||
don: {
|
||||
body_fill: defaultDon.body_fill,
|
||||
face_fill: defaultDon.face_fill
|
||||
}
|
||||
}
|
||||
this.loadAccount()
|
||||
|
||||
this.addEdits(
|
||||
new EditValue(gameConfig, "accounts").load(() => true),
|
||||
new EditValue(window, "account").load(() => {
|
||||
return this.offlineAccount
|
||||
}),
|
||||
new EditFunction(Account.prototype, "accountForm").load(str => {
|
||||
str = plugins.strReplace(str, 'this.items.push(this.logoutButton)', ``)
|
||||
return str + `
|
||||
this.accountPass.style.display = "none"
|
||||
this.accountDel.style.display = "none"
|
||||
this.logoutButton.style.display = "none"`
|
||||
}),
|
||||
new EditValue(Account.prototype, "request").load(() => this.request.bind(this)),
|
||||
new EditFunction(ScoreStorage.prototype, "load").load(str => {
|
||||
return plugins.strReplace(str, 'account.loggedIn', `false`)
|
||||
}),
|
||||
new EditFunction(scoreStorage, "load").load(str => {
|
||||
return str.replace('account.loggedIn', `false`)
|
||||
}),
|
||||
new EditFunction(ScoreStorage.prototype, "write").load(str => {
|
||||
return plugins.strReplace(str, 'account.loggedIn', `false`)
|
||||
}),
|
||||
new EditFunction(scoreStorage, "write").load(str => {
|
||||
return str.replace('account.loggedIn', `false`)
|
||||
}),
|
||||
new EditFunction(ScoreStorage.prototype, "sendToServer").load(str => {
|
||||
return plugins.strReplace(str, 'if(account.loggedIn){', `if(false){`)
|
||||
}),
|
||||
new EditFunction(scoreStorage, "sendToServer").load(str => {
|
||||
return str.replace('if(account.loggedIn){', `if(false){`)
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
request(url, obj, get){
|
||||
switch(url){
|
||||
case "account/display_name":
|
||||
this.offlineAccount.username = obj.display_name
|
||||
this.offlineAccount.displayName = obj.display_name
|
||||
this.saveAccount()
|
||||
return Promise.resolve({
|
||||
display_name: this.offlineAccount.displayName
|
||||
})
|
||||
case "account/don":
|
||||
this.offlineAccount.don.body_fill = obj.body_fill
|
||||
this.offlineAccount.don.face_fill = obj.face_fill
|
||||
this.saveAccount()
|
||||
return Promise.resolve({
|
||||
don: this.offlineAccount.don
|
||||
})
|
||||
default:
|
||||
return Promise.reject({
|
||||
status: "error"
|
||||
})
|
||||
}
|
||||
}
|
||||
saveAccount(){
|
||||
localStorage.setItem("offlineAccount", JSON.stringify({
|
||||
name: this.offlineAccount.displayName,
|
||||
don: this.offlineAccount.don
|
||||
}))
|
||||
}
|
||||
loadAccount(){
|
||||
var account = localStorage.getItem("offlineAccount")
|
||||
if(account){
|
||||
try{
|
||||
account = JSON.parse(account)
|
||||
}catch(e){}
|
||||
}
|
||||
if(account){
|
||||
if(account.name){
|
||||
this.offlineAccount.username = account.name
|
||||
this.offlineAccount.displayName = account.name
|
||||
}
|
||||
if(account.don){
|
||||
if(account.don.body_fill){
|
||||
this.offlineAccount.don.body_fill = account.don.body_fill
|
||||
}
|
||||
if(account.don.face_fill){
|
||||
this.offlineAccount.don.face_fill = account.don.face_fill
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unload(){
|
||||
delete this.offlineAccount
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
export default class Plugin extends Patch{
|
||||
name = "Old Song List"
|
||||
version = "22.03.26"
|
||||
description = "Restores the default taiko.bui.pm song list to show non-custom songs"
|
||||
author = "Katie Frogs"
|
||||
|
||||
load(){
|
||||
this.categoriesDefault = assets.categoriesDefault ? assets.categoriesDefault.slice() : assets.categories.slice()
|
||||
this.oldLoader = plugins.pluginMap.ese
|
||||
if(this.oldLoader){
|
||||
this.oldHide = this.oldLoader.hide
|
||||
var str = this.oldLoader.module.constructor.toString()
|
||||
str = plugins.insertBefore(str, `export default `, 'class Plugin extends Patch')
|
||||
str = plugins.insertAfter(str, 'new EditValue(assets, "songsDefault', `2`)
|
||||
str = plugins.insertBefore(str,
|
||||
`new EditValue(assets, "songsDefault").load(() => assets.songsDefault.slice()),
|
||||
new EditFunction(SongSelect.prototype, "init").load(str => {
|
||||
return plugins.insertBefore(str,
|
||||
\`if(p2.session && assets.songs === assets.songsDefault){
|
||||
assets.songs = assets.songsDefault2
|
||||
}else if(!p2.session && assets.songs === assets.songsDefault2){
|
||||
assets.songs = assets.songsDefault
|
||||
}
|
||||
\`, 'for(let song of assets.songs){')
|
||||
}),
|
||||
new EditFunction(SongSelect.prototype, "toSession").load(str => {
|
||||
return plugins.insertAfter(str,
|
||||
'this.state.moveHover = null', \`
|
||||
if(assets.songs === assets.songsDefault2){
|
||||
localStorage["selectedSong"] = this.selectedSong
|
||||
|
||||
this.clean()
|
||||
setTimeout(() => {
|
||||
new SongSelect(false, false, this.touchEnabled)
|
||||
}, 500)
|
||||
}\`)
|
||||
}),
|
||||
`, 'new EditValue(assets, "songsDefault2")')
|
||||
this.newLoader = plugins.add(str, {
|
||||
name: this.oldLoader.name,
|
||||
raw: true,
|
||||
hide: true
|
||||
})
|
||||
if(this.newLoader){
|
||||
var newIndex = plugins.allPlugins.findIndex(obj => obj.plugin === this.newLoader)
|
||||
var newObj = plugins.allPlugins.splice(newIndex, 1)
|
||||
var oldIndex = plugins.allPlugins.findIndex(obj => obj.plugin === this.oldLoader)
|
||||
plugins.allPlugins.splice(oldIndex + 1, 0, ...newObj)
|
||||
return this.newLoader.load()
|
||||
}
|
||||
}
|
||||
}
|
||||
start(){
|
||||
setTimeout(() => {
|
||||
if(this.newLoader){
|
||||
if(this.oldLoader.started){
|
||||
this.oldLoader.stop()
|
||||
assets.categories = this.categoriesDefault
|
||||
this.newLoader.start()
|
||||
}
|
||||
if(!this.oldHide){
|
||||
this.oldLoader.hide = true
|
||||
this.newLoader.hide = false
|
||||
}
|
||||
setTimeout(() => {
|
||||
if(assets.categories_ese){
|
||||
assets.categories = gameConfig.ese ? assets.categories_ese : assets.categoriesDefault
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
stop(){
|
||||
setTimeout(() => {
|
||||
if(this.newLoader){
|
||||
if(this.newLoader.started){
|
||||
this.newLoader.stop()
|
||||
assets.categories = this.categoriesDefault
|
||||
this.oldLoader.start()
|
||||
}
|
||||
if(!this.oldHide){
|
||||
this.newLoader.hide = true
|
||||
this.oldLoader.hide = false
|
||||
}
|
||||
setTimeout(() => {
|
||||
if(assets.categories_ese){
|
||||
assets.categories = gameConfig.ese ? assets.categories_ese : assets.categoriesDefault
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
unload(){
|
||||
setTimeout(() => {
|
||||
if(this.newLoader){
|
||||
this.newLoader.unload()
|
||||
}
|
||||
delete this.newLoader
|
||||
delete this.oldLoader
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
Taiko Web is committed to safeguarding and preserving the privacy of our website visitors and players. This Privacy Policy explains what happens to any personal data that you provide to us or that we collect from you while you play our game or visit our site.
|
||||
|
||||
1. The Types and Sources of Data We Collect
|
||||
|
||||
1.1 Basic Account Data
|
||||
When setting up an account, we will collect your user name and password.
|
||||
|
||||
1.2 Game High Score Data
|
||||
When setting a high score in-game, we will collect and store your score. This information may become available to other users when you start a multiplayer game with them.
|
||||
|
||||
1.3 Cookies
|
||||
We use "Cookies", which are text files placed on your computer, and similar technologies to improve the services we are offering and to improve website functionality.
|
||||
|
||||
2. Who Has Access to Data
|
||||
|
||||
Taiko Web does not sell Personal Data. However, we may share or provide access to each of the categories of Personal Data we collect as necessary for the following business purposes.
|
||||
|
||||
2.1 Taiko Web includes multiplayer features, where users can play the game with each other. When playing with other users, please be aware that the information is being made available to them; therefore, you are doing so at your own risk.
|
||||
|
||||
3. Google Drive Integration
|
||||
|
||||
You can use the Google Drive integration to let Taiko Web make your Taiko chart files and other related files available in-game.
|
||||
|
||||
Applications that integrate with a Google account must declare their intent by requesting permissions. These permissions to your account must be granted in order for Taiko Web to integrate with Google accounts. Below is a list of these permissions and why they are required. At no time will Taiko Web request or have access to your Google account password.
|
||||
|
||||
3.1 "See and download all your Google Drive files" Permission
|
||||
When selecting a folder with the Google Drive file picker, Taiko Web instructs your Browser to recursively download all the files of that folder directly into your computer's memory. Limitation of Google Drive's permission model requires us to request access to all your Google Drive files, however, Taiko Web will only access the selected folder and its children, and only when requested. File parsing is handled locally; none of your Google Drive files is ever sent to our servers or third parties.
|
||||
|
||||
Revision Date: 12 May 2022
|
||||
|
|
@ -0,0 +1,338 @@
|
|||
TITLE:The Disappearance of Hatsune Miku -DEAD END-
|
||||
SUBTITLE:Hatsune Miku
|
||||
LEVEL:10
|
||||
BPM:75
|
||||
WAVE:The Disappearance of Hatsune Miku -DEAD END-.ogg
|
||||
OFFSET:-1.07
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
SONGVOL:60
|
||||
SEVOL:100
|
||||
BALLOON:20,20
|
||||
COURSE:oni
|
||||
DEMOSTART:106.7
|
||||
|
||||
#START
|
||||
1122121200000000,
|
||||
1122121200000011,
|
||||
0021011120111120,
|
||||
2200120012002211,
|
||||
|
||||
1112122100101020,//0:13
|
||||
1112122010101000,
|
||||
0010002220100010,
|
||||
1000221010001000,
|
||||
|
||||
#DELAY 0.11
|
||||
#BPMCHANGE 240
|
||||
111222111222,
|
||||
111222111222,
|
||||
111222111222,
|
||||
112112112112,
|
||||
111222111222,
|
||||
111222111222,
|
||||
111111111111,
|
||||
222222222222,
|
||||
|
||||
111222112212,//0:34
|
||||
100010001000200020002000100010001000202010101000,
|
||||
111222112212,
|
||||
100010001000200020002000100010001000202020202020,
|
||||
111222112212,
|
||||
111212111212,
|
||||
111111111111,
|
||||
100010101000100010101000100010101000100010101000,
|
||||
|
||||
1010202011102020,//0:42
|
||||
1020202011101120,
|
||||
1020112020112020,
|
||||
1110222011102220,
|
||||
1020201120102220,
|
||||
1110201110102220,
|
||||
33,
|
||||
33030300,
|
||||
|
||||
1010202011102010,//0:50
|
||||
1010202022102220,
|
||||
1110202011102020,
|
||||
1120201011202010,
|
||||
1110101022202020,
|
||||
1111111122222220,
|
||||
33,
|
||||
3000300011111111,
|
||||
#SCROLL 0.5
|
||||
|
||||
11,//0:58
|
||||
10101011,
|
||||
11,
|
||||
1011,
|
||||
11,
|
||||
1111,
|
||||
11,
|
||||
10001111,
|
||||
|
||||
11,//1:06
|
||||
10101011,
|
||||
10010010,
|
||||
1111,
|
||||
11,
|
||||
1111,
|
||||
11,
|
||||
1000000000002222,
|
||||
|
||||
10210120,//1:14
|
||||
10201120,
|
||||
10210120,
|
||||
10201120,
|
||||
10211020,
|
||||
10201021,
|
||||
10210120,
|
||||
1010200010002222,
|
||||
|
||||
10210120,//1:22
|
||||
10211020,
|
||||
10210120,
|
||||
10202120,
|
||||
10221020,
|
||||
10221022,
|
||||
11201120,
|
||||
11111120,
|
||||
|
||||
00401021,//1:30
|
||||
01210120,
|
||||
10201021,
|
||||
01210120,
|
||||
10201021,
|
||||
02011020,
|
||||
11201120,
|
||||
11221120,
|
||||
|
||||
11210120,//1:38
|
||||
21012020,
|
||||
11210120,
|
||||
10201120,
|
||||
10210121,
|
||||
02010222,
|
||||
7,
|
||||
0008,
|
||||
|
||||
#SCROLL 1
|
||||
#GOGOSTART
|
||||
1110201011102010,//1:46
|
||||
1110201011112220,
|
||||
1110221020112010,
|
||||
1120112011102010,
|
||||
1010222011102020,
|
||||
1011201110112010,
|
||||
1110222011102220,
|
||||
1112111211111111,
|
||||
|
||||
10210121,//1:54
|
||||
1110221011102210,
|
||||
1110201110202220,
|
||||
1110222011102110,
|
||||
1110212011102120,
|
||||
1110201110202220,
|
||||
1111222211112222,
|
||||
1120112011212120,
|
||||
|
||||
#GOGOEND
|
||||
111222111222,
|
||||
111222111222,
|
||||
111222111222,
|
||||
112112112112,
|
||||
111222111222,
|
||||
111222111222,
|
||||
111222111222,
|
||||
112112112112,
|
||||
|
||||
221221221221,
|
||||
221221221221,
|
||||
221221221221,
|
||||
212212212212,
|
||||
221221221221,
|
||||
221221221221,
|
||||
221221221221,
|
||||
212212212210,
|
||||
|
||||
221011110220,//2:18
|
||||
110220221220,
|
||||
110220212120,
|
||||
110210110210,
|
||||
120210120220,
|
||||
120210120220,
|
||||
120210120220,
|
||||
222222222222222222222220,
|
||||
|
||||
110210210210,//2:26
|
||||
110210110210,
|
||||
210120120220,
|
||||
120120110220,
|
||||
110210110220,
|
||||
210120110220,
|
||||
210120110210,
|
||||
110210220110,
|
||||
|
||||
110210120110,//2:34
|
||||
210110110120,
|
||||
110210120210,
|
||||
110220110220,
|
||||
110210110210,
|
||||
210120110210,
|
||||
3434,
|
||||
3000300011111111,
|
||||
|
||||
#SCROLL 0.5
|
||||
10211021,//2:42
|
||||
1000201011102000,
|
||||
1000201011102000,
|
||||
1000200011102220,
|
||||
11201120,
|
||||
10221122,
|
||||
1110201011102010,
|
||||
1110202011102020,
|
||||
|
||||
11211121,//2:50
|
||||
1110201011102010,
|
||||
1110201110201110,
|
||||
1010221022102210,
|
||||
11211121,
|
||||
1110201021102010,
|
||||
11211121,
|
||||
1010201010002222,
|
||||
|
||||
1011201000102010,//2:58
|
||||
1010200011102000,
|
||||
1110201110202000,
|
||||
1110202011102000,
|
||||
1000201011102000,
|
||||
1110200011102020,
|
||||
1110201110202000,
|
||||
1110222011101111,
|
||||
|
||||
1010201000112000,//3:06
|
||||
1110102011102000,
|
||||
1110201110222010,
|
||||
1000222011102000,
|
||||
1010201011102000,
|
||||
1110201021102020,
|
||||
1110202011102020,
|
||||
1120112011202220,
|
||||
|
||||
0000401110102010,//3:14
|
||||
0011201010112000,
|
||||
1011201010112010,
|
||||
0011201010112000,
|
||||
1010201011102010,
|
||||
1010201011102010,
|
||||
1110202011102020,
|
||||
1110222011102000,
|
||||
|
||||
1110201110201110,
|
||||
2011102011102220,
|
||||
1110201110201111,
|
||||
1011201120112000,
|
||||
1110201110211011,
|
||||
1021101000202020,
|
||||
7,
|
||||
0008,
|
||||
|
||||
#SCROLL 1
|
||||
#GOGOSTART
|
||||
1110221011102210,//3:30
|
||||
1110222011102220,
|
||||
1110201110222010,
|
||||
1120112011202220,
|
||||
1110212011102120,
|
||||
1110222011102220,
|
||||
1110211011102110,
|
||||
1112221211111111,
|
||||
|
||||
1110211011102110,//3:38
|
||||
1110212011102120,
|
||||
1110201110222020,
|
||||
1111222211112220,
|
||||
1110221011102210,
|
||||
1110222011102220,
|
||||
1110222011102220,
|
||||
1122112211221120,
|
||||
|
||||
#GOGOEND
|
||||
112112112112,
|
||||
112112112112,
|
||||
112112112112,
|
||||
122122122122,
|
||||
112112112112,
|
||||
112112112112,
|
||||
112112112112,
|
||||
122122122122,
|
||||
|
||||
221221221221,
|
||||
221221221221,
|
||||
221221221221,
|
||||
211211211211,
|
||||
221221221221,
|
||||
221221221221,
|
||||
221221221221,
|
||||
211211211211,
|
||||
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
111010222020111010222020,
|
||||
|
||||
112020112020112020112020,
|
||||
112020112020112020112020,
|
||||
112020112020112020112020,
|
||||
112020112020112020112020,
|
||||
112010221020112010221020,
|
||||
112010221020112010221020,
|
||||
112010221020112010221020,
|
||||
112010221020112010221020,
|
||||
|
||||
112121222111,//4:18
|
||||
221221122122,
|
||||
112121222111,
|
||||
221222111222,
|
||||
112122122112,
|
||||
221211211221,
|
||||
111010111010222020222020,
|
||||
1112112211221122,
|
||||
|
||||
#SCROLL 1.25
|
||||
1212121212121212,
|
||||
#SCROLL 1.5
|
||||
1212121212121212,
|
||||
#SCROLL 1.75
|
||||
1212121212121212,
|
||||
#SCROLL 2
|
||||
1212121212121212,
|
||||
#SCROLL 2.25
|
||||
1212121212121212,
|
||||
#SCROLL 2.5
|
||||
1212121212121212,
|
||||
#SCROLL 2.75
|
||||
1212121212121212,
|
||||
#SCROLL 3
|
||||
1212121212121210,
|
||||
#SCROLL 1
|
||||
#BPMCHANGE 960
|
||||
#MEASURE 16/4
|
||||
3,
|
||||
,
|
||||
,
|
||||
,
|
||||
,
|
||||
,
|
||||
,
|
||||
,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#END
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,415 @@
|
|||
TITLE:Good time
|
||||
SUBTITLE:
|
||||
BPM:125.99
|
||||
WAVE:Good time.ogg
|
||||
OFFSET:-0.251
|
||||
|
||||
COURSE:3
|
||||
LEVEL:10
|
||||
#START
|
||||
12212112,
|
||||
12212112,
|
||||
12212112,
|
||||
1010201020101120,
|
||||
12212112,
|
||||
1010201020101120,
|
||||
11111210,
|
||||
1010101000
|
||||
#SCROLL 2.5
|
||||
3340
|
||||
#SCROLL 1
|
||||
00,
|
||||
|
||||
1011102010112010,
|
||||
1011202011212020,
|
||||
1011201211102010,
|
||||
1022201120112020,
|
||||
1012221011122010,
|
||||
1021201211221020,
|
||||
1011102222221000,
|
||||
1010101020
|
||||
#SCROLL 2.5
|
||||
3340
|
||||
#SCROLL 1
|
||||
00,
|
||||
|
||||
1011221011112010,
|
||||
1012221022112120,
|
||||
1012221110121010,
|
||||
1022201122102120,
|
||||
1111201110212010,
|
||||
1011202211221010,
|
||||
1010101021212000,
|
||||
1010101020
|
||||
#SCROLL 2.5
|
||||
334
|
||||
#SCROLL 1
|
||||
000,
|
||||
|
||||
0000002020212020,
|
||||
0000002000
|
||||
#SCROLL 2.5
|
||||
112010
|
||||
#SCROLL 1
|
||||
,
|
||||
1000002020202212,
|
||||
1012112000
|
||||
#SCROLL 2.5
|
||||
112210
|
||||
#SCROLL 1
|
||||
,
|
||||
1000101110111020,
|
||||
1010101022121120,
|
||||
3030303040404000,
|
||||
3030303040
|
||||
#SCROLL 2.5
|
||||
334
|
||||
#SCROLL 1
|
||||
000,
|
||||
|
||||
10001010100010002020111020000000,
|
||||
1011201120
|
||||
#SCROLL 2.5
|
||||
10221
|
||||
#SCROLL 1
|
||||
0,
|
||||
10001010100010002020101120112000,
|
||||
10001010202010002000101020102220,
|
||||
100222100200111200111200,
|
||||
10101000202020001111200011222000,
|
||||
1110111011112020,
|
||||
100000100000100000100000202010101010200000000000,
|
||||
|
||||
1000201000102000,
|
||||
1000201120112210,
|
||||
1000201000112010,
|
||||
1011201000
|
||||
#SCROLL 2.5
|
||||
3340
|
||||
#SCROLL 1
|
||||
00,
|
||||
|
||||
#SCROLL 1.3
|
||||
1000101120112010,
|
||||
100100100100200111200100,
|
||||
1000201021112212,
|
||||
11112010201120
|
||||
#SCROLL 3
|
||||
22
|
||||
#SCROLL 1.3
|
||||
,
|
||||
10112020
|
||||
#SCROLL 3
|
||||
2
|
||||
#SCROLL 1.3
|
||||
0112212,
|
||||
10112010
|
||||
#SCROLL 3
|
||||
2
|
||||
#SCROLL 1.3
|
||||
0112112,
|
||||
10001010100010002020101020112000,
|
||||
102020102211
|
||||
#SCROLL 3
|
||||
40
|
||||
#SCROLL 1.3
|
||||
00,
|
||||
|
||||
0000002220222020,
|
||||
0000002000121110,
|
||||
1000001120111020,
|
||||
0000002000221211,
|
||||
1011102120112012,
|
||||
1011101022112120,
|
||||
10001010100010002020101020112000,
|
||||
100100100100200000100100200000101010
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
00000000000,
|
||||
1122102211221022,
|
||||
10201010101020201010201120102000,
|
||||
1011102211212222,
|
||||
112120112210
|
||||
#SCROLL 3
|
||||
443
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
10001011200010112022100020002220,
|
||||
100100100100100000100000100200200200100000202020,
|
||||
10001010100010002010101020112000,
|
||||
3030303040
|
||||
#SCROLL 3
|
||||
3340
|
||||
#SCROLL 1.3
|
||||
00,
|
||||
|
||||
100000100000100100100000200000000000100000100000200000000000100010001000200000000000000000000000,
|
||||
10101110100010002010101120112000,
|
||||
10101110200010112000202220002020,
|
||||
10001000101010102222111120002020,
|
||||
10001010200010002010101120112012,
|
||||
10212012100010002210221120002020,
|
||||
10221022100022112211221120202020,
|
||||
112122122211
|
||||
#SCROLL 3
|
||||
40
|
||||
#SCROLL 1.3
|
||||
00,
|
||||
|
||||
2020222020000000,
|
||||
2020202020
|
||||
#SCROLL 3
|
||||
334
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
1010112020000000,
|
||||
1010101010
|
||||
#SCROLL 3
|
||||
443
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
2020222210
|
||||
#SCROLL 3
|
||||
221
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
100100100200100
|
||||
#SCROLL 3
|
||||
4443
|
||||
#SCROLL 1.3
|
||||
00000,
|
||||
200200200000200200200000100000202020100000000000,
|
||||
100010101000100020101111
|
||||
#SCROLL 3
|
||||
40
|
||||
#SCROLL 1.3
|
||||
000000,
|
||||
|
||||
#GOGOSTART
|
||||
|
||||
#SCROLL 1.3
|
||||
10101110100010111000101120102000,
|
||||
10222011200010222010111022102000,
|
||||
10112022100020221011202210001210,
|
||||
1011221022112000111120001121
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
|
||||
100222100200111200100
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
00,
|
||||
100112200100221221
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
00000,
|
||||
10112022100020221011201120221000,
|
||||
1011102120001000202210222000
|
||||
#SCROLL 3
|
||||
40
|
||||
#SCROLL 1.3
|
||||
00,
|
||||
|
||||
|
||||
#SCROLL 1.5
|
||||
10112010112010112010112010221020,
|
||||
10221010221010221010221010221120,
|
||||
10111010111010111010111010101120,
|
||||
1000101120102010222211112000
|
||||
#SCROLL 5
|
||||
222
|
||||
#SCROLL 1.5
|
||||
0,
|
||||
10112010112010112010112011221122,
|
||||
10221010221010221010221022112212,
|
||||
1011202010112020102210201000
|
||||
#SCROLL 5
|
||||
202
|
||||
#SCROLL 1.5
|
||||
0,
|
||||
100221100200112200
|
||||
#SCROLL 5
|
||||
4
|
||||
#SCROLL 1.5
|
||||
00000,
|
||||
#GOGOEND
|
||||
#END
|
||||
|
||||
|
||||
COURSE:2
|
||||
LEVEL:8
|
||||
#START
|
||||
1111,
|
||||
1111,
|
||||
1111,
|
||||
10101212,
|
||||
1111,
|
||||
10101212,
|
||||
11111210,
|
||||
11110
|
||||
#SCROLL 2.5
|
||||
34
|
||||
#SCROLL 1
|
||||
0,
|
||||
|
||||
11121121,
|
||||
11221222,
|
||||
11211121,
|
||||
12212122,
|
||||
11211121,
|
||||
12211212,
|
||||
11122210,
|
||||
111120
|
||||
#SCROLL 2.5
|
||||
4
|
||||
#SCROLL 1
|
||||
0,
|
||||
|
||||
11211121,
|
||||
11212122,
|
||||
11211112,
|
||||
12212122,
|
||||
11211221,
|
||||
11221210,
|
||||
11112220,
|
||||
1010101020112000,
|
||||
|
||||
00022222,
|
||||
00020000,
|
||||
00011222,
|
||||
00020000,
|
||||
00011112,
|
||||
00012112,
|
||||
33334440,
|
||||
3030303040112000,
|
||||
|
||||
1011101020102000,
|
||||
1220,
|
||||
1011101020112000,
|
||||
1010101020112120,
|
||||
1022102011201120,
|
||||
1110222011201220,
|
||||
11112120,
|
||||
100100100100201010200000,
|
||||
|
||||
10210120,
|
||||
10212121,
|
||||
10210121,
|
||||
11210
|
||||
#SCROLL 2.5
|
||||
34
|
||||
#SCROLL 1
|
||||
0,
|
||||
|
||||
#SCROLL 1.3
|
||||
10112120,
|
||||
1010101020112010,
|
||||
0000201021112010,
|
||||
1010201020112000,
|
||||
1011202000102010,
|
||||
1011201000112110,
|
||||
1011101020112000,
|
||||
122121
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
|
||||
0000002220222020,
|
||||
00020111,
|
||||
1000001120111020,
|
||||
00020222,
|
||||
1011102020112010,
|
||||
10020000,
|
||||
1011101020112010,
|
||||
111120112010
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
1022102011201000,
|
||||
1011102011202000,
|
||||
1011102011212000,
|
||||
102020112010
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
1011201021102000,
|
||||
1111101012201000,
|
||||
1011101021112000,
|
||||
333340
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
|
||||
1111201120112000,
|
||||
1111101021112000,
|
||||
1111201120202000,
|
||||
11112120,
|
||||
1011201021112010,
|
||||
1111101021212020,
|
||||
1212101212121021,
|
||||
122121
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
|
||||
22222000,
|
||||
22222340,
|
||||
11122000,
|
||||
11111430,
|
||||
22221000,
|
||||
11121430,
|
||||
22221210,
|
||||
101110102111
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
000,
|
||||
|
||||
#GOGOSTART
|
||||
1111101110112000,
|
||||
1221201221112000,
|
||||
1122102212121011,
|
||||
11212120112011
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
1022102012201000,
|
||||
11122010212120
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
1211101121212121,
|
||||
11122010211220
|
||||
#SCROLL 3
|
||||
4
|
||||
#SCROLL 1.3
|
||||
0,
|
||||
#SCROLL 1.5
|
||||
1221201211212021,
|
||||
1112202122122022,
|
||||
1221201121212021,
|
||||
1112102121212022,
|
||||
1112101211212022,
|
||||
1211201121211011,
|
||||
1211101110112000,
|
||||
333340
|
||||
#SCROLL 5
|
||||
4
|
||||
#SCROLL 1.5
|
||||
0,
|
||||
#GOGOEND
|
||||
#END
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,575 @@
|
|||
TITLE: Nekozilla
|
||||
BPM: 154
|
||||
OFFSET: 0
|
||||
WAVE: Nekozilla.ogg
|
||||
SUBTITLE: Different Heaven (NCS Release)
|
||||
SONGVOL: 100
|
||||
SEVOL: 100
|
||||
DEMOSTART: 80.7
|
||||
|
||||
COURSE:Edit
|
||||
|
||||
LEVEL:10
|
||||
|
||||
BALLOON:32
|
||||
|
||||
#START
|
||||
#MEASURE 11/9
|
||||
1120102011201020,
|
||||
1120102011201020,
|
||||
1120102011201020,
|
||||
1120102011201020,
|
||||
1020102010201011,
|
||||
1020102010201001,
|
||||
0201020102010112,
|
||||
0102010201020100,
|
||||
#GOGOSTART
|
||||
#MEASURE 11/18
|
||||
100120012220,
|
||||
122120010100,
|
||||
101022210100,
|
||||
100100220102,
|
||||
110020010011,
|
||||
100120012220,
|
||||
122120010100,
|
||||
101022210100,
|
||||
100100220102,
|
||||
110020010011,
|
||||
100100220102,
|
||||
110020010011,
|
||||
100120012220,
|
||||
122120010100,
|
||||
#MEASURE 11/9
|
||||
2222011121112111,
|
||||
#GOGOEND
|
||||
2111211121112021,
|
||||
0210122010202021,
|
||||
0220301020102011,
|
||||
0210120010202021,
|
||||
0220302220102011,
|
||||
0210112210202021,
|
||||
0220300120102011,
|
||||
0210122010202021,
|
||||
0220301220102011,
|
||||
#MEASURE 11/18
|
||||
000000000000,
|
||||
#GOGOSTART
|
||||
022011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
102122012021,
|
||||
#GOGOEND
|
||||
#MEASURE 11/9
|
||||
0000000000000000,
|
||||
0000000000000000,
|
||||
0000002211221122,
|
||||
1122112211221122,
|
||||
1122112211221122,
|
||||
1122112211221122,
|
||||
1122112211221122,
|
||||
1122112211221122,
|
||||
1122112211221122,
|
||||
1122112211221122,
|
||||
|
||||
#MEASURE 11/18
|
||||
#GOGOSTART
|
||||
121121122122,
|
||||
112121121211,
|
||||
121112122212,
|
||||
121111212122,
|
||||
121111212222,
|
||||
121112122212,
|
||||
122122211121,
|
||||
211211122212,
|
||||
121121122122,
|
||||
112121121211,
|
||||
121112122212,
|
||||
212111211121,
|
||||
121111212122,
|
||||
121111212222,
|
||||
121112122212,
|
||||
122122211121,
|
||||
211211122212,
|
||||
121121122122,
|
||||
#GOGOEND
|
||||
#MEASURE 11/9
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
1221211121121221,
|
||||
|
||||
#GOGOSTART
|
||||
#MEASURE 11/18
|
||||
022011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
102122012021,
|
||||
112010212010,
|
||||
120012112101,
|
||||
122101201211,
|
||||
122011120110,
|
||||
102122012021,
|
||||
102122012021,
|
||||
122101201211,
|
||||
122011120212,
|
||||
#GOGOEND
|
||||
#MEASURE 11/9
|
||||
7000000000008,
|
||||
#END
|
||||
|
||||
|
||||
|
||||
COURSE:Easy
|
||||
LEVEL:4
|
||||
BALLOON:12
|
||||
|
||||
#START
|
||||
#MEASURE 11/9
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010000101,
|
||||
0000000100010001,
|
||||
0001000100000010,
|
||||
1000000101010000,
|
||||
#GOGOSTART
|
||||
0010000000001000,
|
||||
0001010100000000,
|
||||
0100000020000010,
|
||||
0000000010000000,
|
||||
0010000001010100,
|
||||
0000000100000020,
|
||||
0000100000001000,
|
||||
0,
|
||||
#GOGOEND
|
||||
0000000000000100,
|
||||
0000100000001000,
|
||||
1000100000000100,
|
||||
0001000100000100,
|
||||
0001000100000000,
|
||||
1000000100000010,
|
||||
0000010000001000,
|
||||
0100000000000100,
|
||||
0100010000000000,
|
||||
#GOGOSTART
|
||||
0000000100010001,
|
||||
0000000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
0100000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
0100000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
0100000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
#GOGOEND
|
||||
0,
|
||||
1000100010000000,
|
||||
0,
|
||||
1000100010000000,
|
||||
0,
|
||||
1000100010000000,
|
||||
0,
|
||||
1000100010000000,
|
||||
0,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
1010100010001000,
|
||||
0,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
1000101010000000,
|
||||
7000000000000008,
|
||||
|
||||
#GOGOSTART
|
||||
0000000100010001,
|
||||
0000000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
0100000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
0100000101010001,
|
||||
0001000000000010,
|
||||
0010001000100000,
|
||||
0010101000100001,
|
||||
0100000101010001,
|
||||
0001000000000010,
|
||||
0010101000100011,
|
||||
#GOGOEND
|
||||
6000000000000008,
|
||||
#END
|
||||
|
||||
COURSE:Normal
|
||||
LEVEL:6
|
||||
BALLOON:19, 6
|
||||
|
||||
#START
|
||||
#MEASURE 11/9
|
||||
1020100010201000,
|
||||
1000102010001020,
|
||||
1020100010201000,
|
||||
1000102010001020,
|
||||
1020100010000111,
|
||||
0000000100010001,
|
||||
0001000100000112,
|
||||
0000000101010000,
|
||||
#GOGOSTART
|
||||
1000001000001010,
|
||||
1000300000010020,
|
||||
0200020000002020,
|
||||
2000400010102200,
|
||||
1000001000001010,
|
||||
1000300001000020,
|
||||
0000020000002020,
|
||||
0,
|
||||
#GOGOEND
|
||||
0000000000000100,
|
||||
0000100000001000,
|
||||
1000100000000100,
|
||||
0001000100000100,
|
||||
0001000100000000,
|
||||
1000000100000010,
|
||||
0000010000001000,
|
||||
0100000000000100,
|
||||
0100010000000001,
|
||||
#GOGOSTART
|
||||
0000000001000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010202001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
#GOGOEND
|
||||
0,
|
||||
0,
|
||||
0000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1000100010001000,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
1011100010000010,
|
||||
0,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
1000101010103000,
|
||||
7000000000000008,
|
||||
#GOGOSTART
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101020100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010002001,
|
||||
0100010101000100,
|
||||
2010200010011111,
|
||||
#GOGOEND
|
||||
7000000000000008,
|
||||
#END
|
||||
|
||||
COURSE:Hard
|
||||
LEVEL:7
|
||||
BALLOON:23, 10
|
||||
|
||||
#START
|
||||
#MEASURE 11/9
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201011,
|
||||
1020102010201001,
|
||||
0201020102010112,
|
||||
0102010201020100,
|
||||
#GOGOSTART
|
||||
1020101020101110,
|
||||
1020101020101110,
|
||||
1020101020101110,
|
||||
1020101020101110,
|
||||
1020101020101110,
|
||||
1020101020101110,
|
||||
1020101020101110,
|
||||
0,
|
||||
#GOGOEND
|
||||
0000000000000100,
|
||||
1000100011100022,
|
||||
1010102210001110,
|
||||
1000100011100022,
|
||||
1010102210001110,
|
||||
1000100011100022,
|
||||
1010102210001110,
|
||||
1000100011100022,
|
||||
1010102210001110,
|
||||
#GOGOSTART
|
||||
1010111100020202,
|
||||
0202222000101010,
|
||||
1111000101010101,
|
||||
1110101010201021,
|
||||
2100020102010111,
|
||||
2000101010102121,
|
||||
0001010101010101,
|
||||
1010111100020202,
|
||||
0202222000101010,
|
||||
1111000101010101,
|
||||
1110101010201021,
|
||||
2100020102010111,
|
||||
2000101010102121,
|
||||
0001010101010101,
|
||||
2000101010102121,
|
||||
2000101010102121,
|
||||
0001010101010101,
|
||||
#GOGOEND
|
||||
0,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022,
|
||||
1011202210112022
|
||||
0,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
1000101010111110,
|
||||
7000000000000008,
|
||||
#GOGOSTART
|
||||
1010111100020202,
|
||||
0202222000101010,
|
||||
1111000101010101,
|
||||
1110101010201021,
|
||||
2100020102010111,
|
||||
2000101010102121,
|
||||
0001010101010101,
|
||||
1010111100020202,
|
||||
0202222000101010,
|
||||
1111000101010101,
|
||||
1110101010201021,
|
||||
2100020102010111,
|
||||
2000101010102121,
|
||||
0001010101010101,
|
||||
2000101010102121,
|
||||
2000101010102121,
|
||||
#GOGOEND
|
||||
7000000000000008,
|
||||
#END
|
||||
|
||||
COURSE: Oni
|
||||
LEVEL:9
|
||||
|
||||
BALLOON:16, 15
|
||||
|
||||
#START
|
||||
#MEASURE 11/9
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201020,
|
||||
1020102010201011,
|
||||
1020102010201001,
|
||||
0201020102010112,
|
||||
0102010201020100,
|
||||
#GOGOSTART
|
||||
1222112101210030,
|
||||
1222112101220030,
|
||||
1222112102120040,
|
||||
1222112102110030,
|
||||
1222112101220030,
|
||||
1222112102110040,
|
||||
1222112101220030,
|
||||
1222112121112111,
|
||||
#GOGOEND
|
||||
2111211121112021,
|
||||
0210122010202021,
|
||||
0220301020102011,
|
||||
0210120010202021,
|
||||
0220302220102011,
|
||||
0210112210202021,
|
||||
0220300120102011,
|
||||
0210122010202021,
|
||||
0220301220102011,
|
||||
#GOGOSTART
|
||||
1121201022212010,
|
||||
3040101222120120,
|
||||
1222112211201100,
|
||||
0101020112110001,
|
||||
0102011221010101,
|
||||
2212100010102012,
|
||||
1120101010222110,
|
||||
1011222011112201,
|
||||
1020201020112210,
|
||||
4040102201110202,
|
||||
0221012112201101,
|
||||
2221010101102201,
|
||||
0101020112110001,
|
||||
0102011221010101,
|
||||
2212101110102012,
|
||||
1120101010222110,
|
||||
1070000000000000,
|
||||
#GOGOEND
|
||||
0000000000000008,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1212102012121210,
|
||||
1111221112112212,
|
||||
2212212112211121,
|
||||
1121212121222212,
|
||||
1111221112112212,
|
||||
2212212112211121,
|
||||
1121212121222212,
|
||||
1111221112112212,
|
||||
2212212112211121,
|
||||
1121212121222212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
1011221120111212,
|
||||
#GOGOSTART
|
||||
1121201022212010,
|
||||
3040101222120120,
|
||||
1222112211201111,
|
||||
0111120112111111,
|
||||
0102011221011111,
|
||||
2212122210102012,
|
||||
1120101010222110,
|
||||
1022301011112201,
|
||||
1020201021112210,
|
||||
4040102201110202,
|
||||
2201111102201101,
|
||||
2221010101102201,
|
||||
0122110112111111,
|
||||
0102111221010101,
|
||||
2212111110102012,
|
||||
1120101010222110,
|
||||
1110301122212201,
|
||||
#GOGOEND
|
||||
7000000000000008,
|
||||
#END
|
||||
|
|
@ -0,0 +1,357 @@
|
|||
TITLE:Mottai Night Land
|
||||
SUBTITLE:--Kyary Pamyu Pamyu
|
||||
BPM:160
|
||||
WAVE:Mottai Night Land.ogg
|
||||
OFFSET:-3.104
|
||||
DEMOSTART:70.601
|
||||
|
||||
COURSE:Oni
|
||||
LEVEL:7
|
||||
BALLOON:5,5,5,5
|
||||
SCOREINIT:610
|
||||
SCOREDIFF:140
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
12,
|
||||
12,
|
||||
1122,
|
||||
1100,
|
||||
12,
|
||||
1120,
|
||||
1121,
|
||||
1200,
|
||||
10101210,
|
||||
10101012,
|
||||
10101210,
|
||||
12121020,
|
||||
3378,
|
||||
3378,
|
||||
01110113,
|
||||
01130113,
|
||||
3000003030004022,
|
||||
2022202220002020,
|
||||
1020102010201011,
|
||||
1020102010222020,
|
||||
1020102010201011,
|
||||
1020102010222000,
|
||||
1010222010102010,
|
||||
1022201010002000,
|
||||
1010222010102010,
|
||||
1022201010222000,
|
||||
1020102010201011,
|
||||
1020102010222020,
|
||||
1020102010201011,
|
||||
1020102010222000,
|
||||
1010222010102010,
|
||||
1022201010002000,
|
||||
1010222010102010,
|
||||
1022202010111000,
|
||||
10211022,
|
||||
10211020,
|
||||
1110222011102220,
|
||||
500000000000000000000008000000000000100000100000,
|
||||
20211021,
|
||||
10112022,
|
||||
3022200030222000,
|
||||
1022202020202030,
|
||||
0022203000222050,
|
||||
000000000000000000000000000000000000000008000000,
|
||||
3,
|
||||
|
||||
#GOGOSTART
|
||||
1020102010201011,
|
||||
1020102010201011,
|
||||
1010222010102220,
|
||||
300000300000600000000000000008000000300000000000,
|
||||
1020102010201011,
|
||||
11221121,
|
||||
1010222010102220,
|
||||
300000300000600000000000000000000000000000000008,
|
||||
0010201011102010,
|
||||
1010201011102020,
|
||||
1010201011102010,
|
||||
12121020,
|
||||
3378,
|
||||
3378,
|
||||
0010101000222030,
|
||||
0011103000112030,
|
||||
0000201110002011,
|
||||
1000201110102000,
|
||||
2000201120002011,
|
||||
2000201120202000,
|
||||
1111100022222000,
|
||||
1111100022222000,
|
||||
1110222020202030,
|
||||
02230223,
|
||||
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
||||
|
||||
COURSE:Hard
|
||||
LEVEL:6
|
||||
BALLOON:13
|
||||
SCOREINIT:660
|
||||
SCOREDIFF:150
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
12,
|
||||
12,
|
||||
1110,
|
||||
1100,
|
||||
12,
|
||||
1120,
|
||||
1110,
|
||||
2200,
|
||||
1111,
|
||||
10101011,
|
||||
1111,
|
||||
12121020,
|
||||
3340,
|
||||
3340,
|
||||
30000006,
|
||||
000000000000000000000000000000000000000000000008,
|
||||
0000000000000022,
|
||||
2022202220000000,
|
||||
12101210,
|
||||
12121000,
|
||||
12101210,
|
||||
12121000,
|
||||
11221020,
|
||||
12211000,
|
||||
11221020,
|
||||
1020201010222000,
|
||||
12101210,
|
||||
12121000,
|
||||
12101210,
|
||||
12121000,
|
||||
11221020,
|
||||
12211000,
|
||||
11221020,
|
||||
1020201010111000,
|
||||
10201120,
|
||||
10221020,
|
||||
1110200011102000,
|
||||
500000000000000000000008000000000000100000100000,
|
||||
20221011,
|
||||
20221022,
|
||||
3434,
|
||||
30111223,
|
||||
02230229,
|
||||
,
|
||||
8,
|
||||
|
||||
#GOGOSTART
|
||||
10101212,
|
||||
10101212,
|
||||
11221122,
|
||||
300000300000600000000000000008000000300000000000,
|
||||
10101212,
|
||||
11221022,
|
||||
11221122,
|
||||
300000300000600000000000000000000008000000000000,
|
||||
1010200011102000,
|
||||
1010200011102020,
|
||||
1010200011102000,
|
||||
12121020,
|
||||
3000300020222000,
|
||||
3000300020222000,
|
||||
01110113,
|
||||
01130113,
|
||||
0000201110002011,
|
||||
1000201110002000,
|
||||
2000201110002011,
|
||||
1000201110002000,
|
||||
1000100022222000,
|
||||
1000100022222000,
|
||||
30000003,
|
||||
00030003,
|
||||
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
||||
|
||||
COURSE:Normal
|
||||
LEVEL:5
|
||||
BALLOON:10
|
||||
SCOREINIT:710
|
||||
SCOREDIFF:200
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
12,
|
||||
12,
|
||||
11,
|
||||
1100,
|
||||
12,
|
||||
12,
|
||||
11,
|
||||
1100,
|
||||
1110,
|
||||
1100,
|
||||
1110,
|
||||
1122,
|
||||
3340,
|
||||
3340,
|
||||
30000006,
|
||||
000000000000000000000000000000000000000000000008,
|
||||
,
|
||||
,
|
||||
1212,
|
||||
10111000,
|
||||
1212,
|
||||
10222000,
|
||||
1212,
|
||||
11101000,
|
||||
1212,
|
||||
22202000,
|
||||
1212,
|
||||
10111000,
|
||||
1212,
|
||||
10222000,
|
||||
1212,
|
||||
11101000,
|
||||
1212,
|
||||
22202000,
|
||||
1110,
|
||||
1112,
|
||||
1212,
|
||||
5081,
|
||||
1221,
|
||||
1221,
|
||||
3434,
|
||||
30003006,
|
||||
000008000000000000600000000008000000000000900000,
|
||||
,
|
||||
8,
|
||||
|
||||
#GOGOSTART
|
||||
1112,
|
||||
1112,
|
||||
11101110,
|
||||
3300,
|
||||
1112,
|
||||
1112,
|
||||
11101110,
|
||||
4400,
|
||||
10101110,
|
||||
100000000000500000000000000000000008000000000000,
|
||||
10101110,
|
||||
1122,
|
||||
3340,
|
||||
3340,
|
||||
30000003,
|
||||
00030000,
|
||||
1122,
|
||||
1120,
|
||||
2211,
|
||||
2210,
|
||||
10112000,
|
||||
10112000,
|
||||
30000003,
|
||||
00030003,
|
||||
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
||||
|
||||
COURSE:Easy
|
||||
LEVEL:3
|
||||
BALLOON:7
|
||||
SCOREINIT:620
|
||||
SCOREDIFF:170
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
1,
|
||||
1,
|
||||
11,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
11,
|
||||
1,
|
||||
11,
|
||||
1100,
|
||||
11,
|
||||
1110,
|
||||
34,
|
||||
34,
|
||||
30000006,
|
||||
000000000000000000000000000000000000000000000008,
|
||||
,
|
||||
,
|
||||
11,
|
||||
1110,
|
||||
22,
|
||||
2220,
|
||||
11,
|
||||
1110,
|
||||
22,
|
||||
2220,
|
||||
1110,
|
||||
1110,
|
||||
2220,
|
||||
2220,
|
||||
1110,
|
||||
2220,
|
||||
1110,
|
||||
2220,
|
||||
11,
|
||||
1110,
|
||||
11,
|
||||
1,
|
||||
1110,
|
||||
2220,
|
||||
33,
|
||||
30000006,
|
||||
000008000000000000600000000008000000000000900000,
|
||||
,
|
||||
8,
|
||||
|
||||
#GOGOSTART
|
||||
1110,
|
||||
1110,
|
||||
11,
|
||||
3300,
|
||||
1110,
|
||||
1110,
|
||||
22,
|
||||
4400,
|
||||
1110,
|
||||
1100,
|
||||
1110,
|
||||
1120,
|
||||
34,
|
||||
34,
|
||||
30000003,
|
||||
00030000,
|
||||
1110,
|
||||
1110,
|
||||
2220,
|
||||
2220,
|
||||
1120,
|
||||
1120,
|
||||
30000003,
|
||||
00030003,
|
||||
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
|
@ -0,0 +1,304 @@
|
|||
TITLE:Deja Vu
|
||||
TITLEEN:Deja Vu
|
||||
SUBTITLE:--INITIAL D/Dave Rodgers
|
||||
SUBTITLEEN:INITIAL D / Dave Rodgers
|
||||
BPM:154
|
||||
WAVE:Deja Vu.ogg
|
||||
OFFSET:-2.245
|
||||
DEMOSTART:63.805
|
||||
SCOREMODE:2
|
||||
GENRE:アニメ
|
||||
MAKER:ron!!!
|
||||
|
||||
NOTESDESIGNER3:ron!!!
|
||||
COURSE:oni
|
||||
LEVEL:8
|
||||
SCOREINIT:20
|
||||
SCOREDIFF:1
|
||||
BALLOON:30,15
|
||||
|
||||
#START
|
||||
11200102,
|
||||
1010200000100022,
|
||||
12211212,
|
||||
1212,
|
||||
11200102,
|
||||
11201120,
|
||||
7,
|
||||
0008,
|
||||
1022201010004000,
|
||||
1022201010112000,
|
||||
1022201010004000,
|
||||
1010202210102022,
|
||||
1011200010112000,
|
||||
1011201000112000,
|
||||
3022202220222020,
|
||||
3022222222221000,
|
||||
#GOGOSTART
|
||||
1022102010221120,
|
||||
1022102011221210,
|
||||
100000200200101010200000100000200200100100200000,
|
||||
100000200200100000202020100100200000100200100200,
|
||||
1022102010221120,
|
||||
1022102011221210,
|
||||
100000200200101010200000100000200200100100200000,
|
||||
33030000,
|
||||
#GOGOEND
|
||||
1011202010222212,
|
||||
1011202010221020,
|
||||
1022102210221020,
|
||||
100100200200100222100200,
|
||||
1011202010222212,
|
||||
1011202010221020,
|
||||
1011202010222212,
|
||||
1011203020302020,
|
||||
1110202010201020,
|
||||
1110202010201022,
|
||||
1121102210102020,
|
||||
1022102010202010,
|
||||
1110202010201020,
|
||||
1110202010201020,
|
||||
70000083,
|
||||
0022222210404040,
|
||||
#GOGOSTART
|
||||
3000112010221020,
|
||||
1120102210212012,
|
||||
1020112210201202,
|
||||
100111200200100400400400,
|
||||
3000112010221020,
|
||||
1120102210212012,
|
||||
1020122110201202,
|
||||
1020120210201202,
|
||||
1221221210404040,
|
||||
3000122010211020,
|
||||
1220102110212012,
|
||||
1020112210201202,
|
||||
1022112110404040,
|
||||
3000122010211020,
|
||||
1220102110212012,
|
||||
1020122110201202,
|
||||
1020120210201202,
|
||||
1121121210000000,
|
||||
#GOGOEND
|
||||
3,
|
||||
#END
|
||||
|
||||
|
||||
NOTESDESIGNER2:ron!!!
|
||||
COURSE:hard
|
||||
LEVEL:5
|
||||
SCOREINIT:20
|
||||
SCOREDIFF:1
|
||||
BALLOON:20,10
|
||||
|
||||
#START
|
||||
10200102,
|
||||
10200102,
|
||||
12201212,
|
||||
1212,
|
||||
10200102,
|
||||
1212,
|
||||
7,
|
||||
8,
|
||||
12011040,
|
||||
12011120,
|
||||
12011040,
|
||||
11201122,
|
||||
10201120,
|
||||
10210120,
|
||||
3000202020222000,
|
||||
3000202022201000,
|
||||
#GOGOSTART
|
||||
10121012,
|
||||
10121220,
|
||||
10121012,
|
||||
10121122,
|
||||
10121012,
|
||||
10121220,
|
||||
10121012,
|
||||
33030000,
|
||||
#GOGOEND
|
||||
1000202010222010,
|
||||
10221212,
|
||||
10121012,
|
||||
1000202010201110,
|
||||
1000202010222010,
|
||||
10221212,
|
||||
1000202010222010,
|
||||
10030300,
|
||||
10221012,
|
||||
10221012,
|
||||
10121122,
|
||||
10121221,
|
||||
10221012,
|
||||
10221012,
|
||||
70008003,
|
||||
0022202010404040,
|
||||
#GOGOSTART
|
||||
30101022,
|
||||
12101221,
|
||||
10221220,
|
||||
1022202010404040,
|
||||
30101022,
|
||||
12101212,
|
||||
10221220,
|
||||
12101210,
|
||||
3003003030404040,
|
||||
30101022,
|
||||
12101221,
|
||||
10221220,
|
||||
1022202010404040,
|
||||
30101022,
|
||||
12101212,
|
||||
10221220,
|
||||
12101210,
|
||||
3003003030000000,
|
||||
#GOGOEND
|
||||
3,
|
||||
#END
|
||||
|
||||
NOTESDESIGNER1:ron!!!
|
||||
COURSE:normal
|
||||
LEVEL:5
|
||||
SCOREINIT:20
|
||||
SCOREDIFF:1
|
||||
BALLOON:20,10
|
||||
|
||||
#START
|
||||
10001001,
|
||||
10001001,
|
||||
1212,
|
||||
11,
|
||||
10001001,
|
||||
11,
|
||||
7,
|
||||
8,
|
||||
10011040,
|
||||
10011020,
|
||||
10011040,
|
||||
11011020,
|
||||
1212,
|
||||
10210120,
|
||||
30202220,
|
||||
30222010,
|
||||
#GOGOSTART
|
||||
10111010,
|
||||
10111020,
|
||||
10111010,
|
||||
10111020,
|
||||
10111010,
|
||||
10111020,
|
||||
10111010,
|
||||
33030000,
|
||||
#GOGOEND
|
||||
10220220,
|
||||
10220220,
|
||||
1111,
|
||||
2222,
|
||||
10220220,
|
||||
10220220,
|
||||
1111,
|
||||
10030300,
|
||||
10220200,
|
||||
10220200,
|
||||
1122,
|
||||
1122,
|
||||
10220200,
|
||||
10220200,
|
||||
70008003,
|
||||
00000444,
|
||||
#GOGOSTART
|
||||
3112,
|
||||
11102220,
|
||||
1212,
|
||||
50008444,
|
||||
3112,
|
||||
11102220,
|
||||
1212,
|
||||
58,
|
||||
3003003030404040,
|
||||
3112,
|
||||
11102220,
|
||||
1212,
|
||||
50008444,
|
||||
3112,
|
||||
11102220,
|
||||
1212,
|
||||
58,
|
||||
3003003030000000,
|
||||
#GOGOEND
|
||||
3,
|
||||
#END
|
||||
|
||||
NOTESDESIGNER0:ron!!!
|
||||
COURSE:easy
|
||||
LEVEL:3
|
||||
SCOREINIT:20
|
||||
SCOREDIFF:1
|
||||
BALLOON:20,10
|
||||
|
||||
#START
|
||||
11,
|
||||
1,
|
||||
11,
|
||||
1,
|
||||
11,
|
||||
1,
|
||||
7,
|
||||
8,
|
||||
1014,
|
||||
11,
|
||||
1014,
|
||||
11,
|
||||
1210,
|
||||
1210,
|
||||
3,
|
||||
3,
|
||||
#GOGOSTART
|
||||
1110,
|
||||
1110,
|
||||
1110,
|
||||
1110,
|
||||
1110,
|
||||
1110,
|
||||
1110,
|
||||
30030000,
|
||||
#GOGOEND
|
||||
1011,
|
||||
1011,
|
||||
11,
|
||||
22,
|
||||
1011,
|
||||
1011,
|
||||
11,
|
||||
10030300,
|
||||
10200200,
|
||||
10200200,
|
||||
12,
|
||||
12,
|
||||
10200200,
|
||||
10200200,
|
||||
70008003,
|
||||
00000444,
|
||||
#GOGOSTART
|
||||
3110,
|
||||
1022,
|
||||
11,
|
||||
50008444,
|
||||
3110,
|
||||
1022,
|
||||
11,
|
||||
58,
|
||||
3003003030404040,
|
||||
3110,
|
||||
1022,
|
||||
11,
|
||||
50008444,
|
||||
3110,
|
||||
1022,
|
||||
11,
|
||||
58,
|
||||
3003003030000000,
|
||||
#GOGOEND
|
||||
3,
|
||||
#END
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
TITLE:Sky High
|
||||
LEVEL:6
|
||||
BPM:175.75
|
||||
WAVE:Sky High.ogg
|
||||
BALLOON:6,12,6,12
|
||||
OFFSET:-0.550
|
||||
SCOREINIT:480
|
||||
SCOREDIFF:180
|
||||
SONGVOL:100
|
||||
SEVOL:100
|
||||
COURSE:Oni
|
||||
DEMOSTART:
|
||||
#START
|
||||
2220111022201110,
|
||||
2220111022201110,
|
||||
2210221022102210,
|
||||
2210221040221110,
|
||||
1011101020222000,
|
||||
1011202210201000,
|
||||
1011101020222000,
|
||||
1110222030403000,
|
||||
1002102210201000,
|
||||
1011202211102000,
|
||||
1022101122102010,
|
||||
2022102210403010,
|
||||
1011101020222000,
|
||||
1011202210201000,
|
||||
1011101020222000,
|
||||
1110222030403000,
|
||||
1002102210201000,
|
||||
1011202211102000,
|
||||
1022101122102010,
|
||||
2022102250000080,
|
||||
#GOGOSTART
|
||||
1012201121102120,
|
||||
1122102070000080,
|
||||
1022201222102120,
|
||||
1122102012102220,
|
||||
7000000000000080,
|
||||
2202202210221110,
|
||||
#GOGOEND
|
||||
1011101020222000,
|
||||
1011202210201000,
|
||||
1011101020222000,
|
||||
1110222030403000,
|
||||
1002102210201000,
|
||||
1011202211102000,
|
||||
1022101122102010,
|
||||
2022102210403010,
|
||||
1011101020222000,
|
||||
1011202210201000,
|
||||
1011101020222000,
|
||||
1110222030403000,
|
||||
1002102210201000,
|
||||
1011202211102000,
|
||||
1022101122102010,
|
||||
2022102250000080,
|
||||
#GOGOSTART
|
||||
1012201121102120,
|
||||
1122102070000080,
|
||||
1022201222102120,
|
||||
1122102012102220,
|
||||
7000000000000080,
|
||||
#MEASURE 17/16
|
||||
22022022102211100,
|
||||
#BPMCHANGE 161
|
||||
#MEASURE 4/4
|
||||
111020111020100030403030,
|
||||
111020111020100030404030,
|
||||
111020111020100030400022,
|
||||
100022100022100000400000,
|
||||
#END
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
TITLE:Brinstar (Melee)
|
||||
LEVEL:8
|
||||
BPM:150
|
||||
WAVE:Brinstar (Melee).ogg
|
||||
OFFSET:-0.070
|
||||
BALLOON:30,30
|
||||
SCOREINIT:290
|
||||
SCOREDIFF:110
|
||||
SONGVOL:75
|
||||
SEVOL:100
|
||||
COURSE:Oni
|
||||
DEMOSTART:14.500
|
||||
#START
|
||||
201000200000111010201020,
|
||||
100000200010100010200010,
|
||||
100000200010100010200020,
|
||||
100000200020100010200010,
|
||||
100000200020100010200020,
|
||||
100010200010000010200010,
|
||||
100010200010000010200020,
|
||||
100020200010000010200010,
|
||||
201010101020101010201010,
|
||||
100010200010100010201010,
|
||||
100010200010100010202010,
|
||||
100010200010100010201020,
|
||||
100010200010100010202020,
|
||||
100010200020100010201010,
|
||||
100010200020100010202010,
|
||||
100010200020100010201020,
|
||||
100010200020100010202020,
|
||||
200020100020200020102020,
|
||||
200020100020200020101020,
|
||||
200020100020200020102010,
|
||||
200020100020200020101010,
|
||||
200020100010200020102020,
|
||||
200020100010200020101020,
|
||||
200020100010200020102010,
|
||||
200020100010200020101010,
|
||||
#GOGOSTART
|
||||
101010201010101010201010,
|
||||
101010201010101010201020,
|
||||
101010201010102010201010,
|
||||
101010201010102010201020,
|
||||
101010202010102010201010,
|
||||
101010202010102010201020,
|
||||
101010202010202010201010,
|
||||
101010202010202010201020,
|
||||
101010202020101010202020,
|
||||
201000200000111010201020,
|
||||
#GOGOEND
|
||||
7000000000000000,
|
||||
0000000000000000,
|
||||
8000000000000000,
|
||||
0000000000000000,
|
||||
7000000000000000,
|
||||
0000000000000000,
|
||||
8000000000000000,
|
||||
0000000000000000,
|
||||
1000200000002000,
|
||||
1000200000002000,
|
||||
1000200000002000,
|
||||
1000200000002000,
|
||||
100020000000200020000000,
|
||||
100020000000200010000000,
|
||||
100020000000100010000000,
|
||||
1000200000002000,
|
||||
100020000000100010000000,
|
||||
100020000000100020000000,
|
||||
100020000000200020000000,
|
||||
201000200000111010201020,
|
||||
100000200010100010200010,
|
||||
100000200010100010200020,
|
||||
100000200020100010200010,
|
||||
100000200020100010200020,
|
||||
100010200010000010200010,
|
||||
100010200010000010200020,
|
||||
100020200010000010200010,
|
||||
201010101020101010201010,
|
||||
100010200010100010201010,
|
||||
100010200010100010202010,
|
||||
100010200010100010201020,
|
||||
100010200010100010202020,
|
||||
100010200020100010201010,
|
||||
100010200020100010202010,
|
||||
100010200020100010201020,
|
||||
100010200020100010202020,
|
||||
200020100020200020102020,
|
||||
200020100020200020101020,
|
||||
200020100020200020102010,
|
||||
200020100020200020101010,
|
||||
200020100010200020102020,
|
||||
200020100010200020101020,
|
||||
200020100010200020102010,
|
||||
200020100010200020101010,
|
||||
#GOGOSTART
|
||||
101011201110101011201110,
|
||||
101011201110101011201120,
|
||||
101011201110102011201110,
|
||||
101011201110102011201120,
|
||||
101011202210102011201110,
|
||||
101011202210102011201120,
|
||||
101011202210202011201110,
|
||||
101011202210202011201120,
|
||||
101011202220101011202220,
|
||||
201000200000111010201020,
|
||||
#GOGOEND
|
||||
100000200020000020101010,
|
||||
000000200020000020102010,
|
||||
000000200020000000200020,
|
||||
000000200020000020101020,
|
||||
100000200020000020101010,
|
||||
000000200020000020102010,
|
||||
000000200020000000200020,
|
||||
201000200000111010201020,
|
||||
100000200010100010200010,
|
||||
100000200010100010200020,
|
||||
100000200020100010200010,
|
||||
100000200020100010200020,
|
||||
100010200010000010200010,
|
||||
100010200010000010200020,
|
||||
100020200010000010200010,
|
||||
201010101020101010201010,
|
||||
100000000000000000000000,
|
||||
#END
|
||||
|
|
@ -0,0 +1,782 @@
|
|||
//TJADB Project
|
||||
TITLE:LECIEL GLISSANDO
|
||||
SUBTITLE:--Yomii
|
||||
BPM:250
|
||||
WAVE:LECIEL GLISSANDO.ogg
|
||||
OFFSET:-4.246
|
||||
DEMOSTART:51.522
|
||||
|
||||
COURSE:Oni
|
||||
LEVEL:10
|
||||
BALLOON:6
|
||||
SCOREINIT:1320
|
||||
SCOREDIFF:0
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
20220000,
|
||||
20220000,
|
||||
200000200200000200000220,
|
||||
,
|
||||
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
000202020,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
000202020,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
000202020,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 4/4
|
||||
100200200211,
|
||||
|
||||
#MEASURE 3/4
|
||||
#GOGOSTART
|
||||
312112,
|
||||
#MEASURE 9/8
|
||||
111212121,
|
||||
#MEASURE 3/4
|
||||
101020111020,
|
||||
#MEASURE 5/4
|
||||
20102211101010102020,
|
||||
#MEASURE 4/4
|
||||
1110201000102010,
|
||||
1010201020112000,
|
||||
20030404,
|
||||
#GOGOEND
|
||||
101010100220100200100200,
|
||||
|
||||
10020122,
|
||||
10020211,
|
||||
10010122,
|
||||
0212,
|
||||
20020010,
|
||||
,
|
||||
|
||||
30030040,
|
||||
03003003,
|
||||
00300400,
|
||||
00012222,
|
||||
30030040,
|
||||
03004004,
|
||||
00300300,
|
||||
1000222010201000,
|
||||
|
||||
100000000000200000200200100100200200100010001000,
|
||||
12102112,
|
||||
100100100000000000100000200000001000000010000000,
|
||||
2010001120001020,
|
||||
1000001020002220,
|
||||
1020100020001110,
|
||||
1000111020001110,
|
||||
2010101020002220,
|
||||
|
||||
1000101020111020,
|
||||
10201022,
|
||||
1000001020001011,
|
||||
2000100020002220,
|
||||
10211010,
|
||||
1020100020111020,
|
||||
30230260,
|
||||
000000000000000000000000000000000008000000000000,
|
||||
|
||||
#GOGOSTART
|
||||
1000200011102010,
|
||||
0011202010102020,
|
||||
110200200110100200100000,
|
||||
2220102030040040,
|
||||
1011201000101020,
|
||||
1011201000102020,
|
||||
1110203000300040,
|
||||
100010001000100010001000400000000400000000400000,
|
||||
|
||||
1000201110201020,
|
||||
1022102000211020,
|
||||
1110104000403000,
|
||||
3040001020121020,
|
||||
#GOGOEND
|
||||
10012012,
|
||||
11202020,
|
||||
1000001020001110,
|
||||
2010102011102010,
|
||||
|
||||
10070008,
|
||||
1022102022201010,
|
||||
20120120,
|
||||
000000000000000000000000500000000000000008000000,
|
||||
|
||||
12,
|
||||
0000000020002222,
|
||||
12,
|
||||
00002022,
|
||||
1000222220000000,
|
||||
00002022,
|
||||
10002002,
|
||||
02022022,
|
||||
|
||||
100000101010200000200200,
|
||||
000200101010200000200200,
|
||||
100000101010200000200200,
|
||||
000200101010200000200200,
|
||||
1000111120002020,
|
||||
0020111120002220,
|
||||
1000101020222220,
|
||||
1020002022221000,
|
||||
|
||||
#MEASURE 3/4
|
||||
33,
|
||||
43,
|
||||
#MEASURE 4/4
|
||||
20220222,
|
||||
0222,
|
||||
#MEASURE 5/4
|
||||
3004004000,
|
||||
#MEASURE 4/4
|
||||
10110105,
|
||||
#MEASURE 2/4
|
||||
000008000000,
|
||||
#MEASURE 4/4
|
||||
30030040,
|
||||
03000000,
|
||||
|
||||
100100100100100100100100100010001000100100100100,
|
||||
100000000100000000100200200020002000200200200200,
|
||||
500000000000000000000000000000000000000008000000,
|
||||
600000000000000000000000000000000000000008000000,
|
||||
0000000022122212,
|
||||
2211112222111122,
|
||||
|
||||
10001000
|
||||
#GOGOSTART
|
||||
11102010,
|
||||
0011202010112020,
|
||||
101000200000200000101000100000200200100000100000,
|
||||
2220102010121020,
|
||||
1010221020101120,
|
||||
1022101000112020,
|
||||
1110203000300040,
|
||||
100010001000100010001000400000000400000000400000,
|
||||
|
||||
1110202210111020,
|
||||
1010202122112210,
|
||||
1220204000400060,
|
||||
000000000000000008000000200020001000100010001000,
|
||||
#GOGOEND
|
||||
10012012,
|
||||
1021100020002000,
|
||||
1011112222112211,
|
||||
1020100020102110,
|
||||
|
||||
#GOGOSTART
|
||||
#MEASURE 3/4
|
||||
112112,
|
||||
#MEASURE 9/8
|
||||
111212121,
|
||||
#MEASURE 3/4
|
||||
101020111020,
|
||||
#MEASURE 9/8
|
||||
101010201022102010,
|
||||
#MEASURE 3/4
|
||||
101020101021,
|
||||
#MEASURE 9/8
|
||||
101010211020102010,
|
||||
#MEASURE 3/4
|
||||
101120101020,
|
||||
#MEASURE 4/4
|
||||
1110104010401040,
|
||||
|
||||
14000000,
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
||||
|
||||
COURSE:Hard
|
||||
LEVEL:7
|
||||
BALLOON:14,8,8
|
||||
SCOREINIT:2190
|
||||
SCOREDIFF:0
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
20220000,
|
||||
20220000,
|
||||
20220202,
|
||||
,
|
||||
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
000202020,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
000202020,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
000202020,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 4/4
|
||||
1222,
|
||||
|
||||
#MEASURE 3/4
|
||||
#GOGOSTART
|
||||
102102,
|
||||
#MEASURE 9/8
|
||||
101202020,
|
||||
#MEASURE 3/4
|
||||
102102,
|
||||
#MEASURE 5/4
|
||||
2121101122,
|
||||
#MEASURE 4/4
|
||||
10210101,
|
||||
01202020,
|
||||
10030404,
|
||||
#GOGOEND
|
||||
00020222,
|
||||
|
||||
10020222,
|
||||
10020222,
|
||||
10010222,
|
||||
0212,
|
||||
20020010,
|
||||
,
|
||||
|
||||
30030040,
|
||||
03003003,
|
||||
00300400,
|
||||
,
|
||||
30030040,
|
||||
03004004,
|
||||
00300300,
|
||||
,
|
||||
|
||||
12,
|
||||
10112022,
|
||||
100211,
|
||||
20021020,
|
||||
12,
|
||||
10102011,
|
||||
10112011,
|
||||
21102000,
|
||||
|
||||
10110111,
|
||||
1212,
|
||||
10002011,
|
||||
2122,
|
||||
10111020,
|
||||
11102110,
|
||||
30030060,
|
||||
000000000000000000000000000000000008000000000000,
|
||||
|
||||
#GOGOSTART
|
||||
10201121,
|
||||
01102222,
|
||||
10210210,
|
||||
1020001010020020,
|
||||
10110222,
|
||||
10110222,
|
||||
10230304,
|
||||
0000000020020020,
|
||||
|
||||
10210201,
|
||||
02010211,
|
||||
30340430,
|
||||
34012120,
|
||||
#GOGOEND
|
||||
10012012,
|
||||
12102020,
|
||||
10012012,
|
||||
12122020,
|
||||
|
||||
10070000,
|
||||
0008,
|
||||
20020020,
|
||||
,
|
||||
|
||||
12,
|
||||
00002022,
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
00002022,
|
||||
12,
|
||||
02,
|
||||
|
||||
10102022,
|
||||
02002022,
|
||||
10102022,
|
||||
02002022,
|
||||
10102022,
|
||||
02002022,
|
||||
10102022,
|
||||
12022210,
|
||||
|
||||
#MEASURE 3/4
|
||||
33,
|
||||
43,
|
||||
#MEASURE 4/4
|
||||
20220222,
|
||||
0222,
|
||||
#MEASURE 5/4
|
||||
3004004000,
|
||||
#MEASURE 4/4
|
||||
10110105,
|
||||
#MEASURE 2/4
|
||||
000008000000,
|
||||
#MEASURE 4/4
|
||||
30030040,
|
||||
03000000,
|
||||
|
||||
70000008,
|
||||
70000008,
|
||||
500000000000000000000000000000000000000008000000,
|
||||
600000000000000000000000000000000000000008000000,
|
||||
,
|
||||
,
|
||||
|
||||
1010
|
||||
#GOGOSTART
|
||||
1121,
|
||||
01102222,
|
||||
10210210,
|
||||
1020001010020020,
|
||||
11210222,
|
||||
11210222,
|
||||
11230304,
|
||||
0000000040040040,
|
||||
|
||||
10210102,
|
||||
00212121,
|
||||
30340406,
|
||||
000000000000000000000008000000000000000000000000,
|
||||
#GOGOEND
|
||||
10012010,
|
||||
1222,
|
||||
10102210,
|
||||
10012022,
|
||||
|
||||
#GOGOSTART
|
||||
#MEASURE 3/4
|
||||
102102,
|
||||
#MEASURE 9/8
|
||||
101202020,
|
||||
#MEASURE 3/4
|
||||
102102,
|
||||
#MEASURE 9/8
|
||||
101202020,
|
||||
#MEASURE 3/4
|
||||
102102,
|
||||
#MEASURE 9/8
|
||||
101202020,
|
||||
#MEASURE 3/4
|
||||
112112,
|
||||
#MEASURE 4/4
|
||||
11120202,
|
||||
|
||||
04000000,
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
||||
|
||||
COURSE:Normal
|
||||
LEVEL:6
|
||||
BALLOON:9,6,6
|
||||
SCOREINIT:3110
|
||||
SCOREDIFF:0
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
20220000,
|
||||
20220000,
|
||||
20220202,
|
||||
,
|
||||
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 4/4
|
||||
1222,
|
||||
|
||||
#MEASURE 3/4
|
||||
#GOGOSTART
|
||||
101101,
|
||||
#MEASURE 9/8
|
||||
101102020,
|
||||
#MEASURE 3/4
|
||||
101102,
|
||||
#MEASURE 5/4
|
||||
2011102220,
|
||||
#MEASURE 4/4
|
||||
10110101,
|
||||
0222,
|
||||
10030404,
|
||||
#GOGOEND
|
||||
,
|
||||
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
,
|
||||
20020020,
|
||||
,
|
||||
|
||||
30030040,
|
||||
03003003,
|
||||
00300400,
|
||||
,
|
||||
30030040,
|
||||
03004004,
|
||||
00300300,
|
||||
,
|
||||
|
||||
12,
|
||||
11102000,
|
||||
12,
|
||||
11101000,
|
||||
12,
|
||||
11102000,
|
||||
12,
|
||||
11102000,
|
||||
|
||||
10110110,
|
||||
1012,
|
||||
11,
|
||||
1122,
|
||||
10010010,
|
||||
00101110,
|
||||
30030060,
|
||||
000000000000000000000000000000000008000000000000,
|
||||
|
||||
#GOGOSTART
|
||||
10102101,
|
||||
01102022,
|
||||
10110110,
|
||||
22000000,
|
||||
10110020,
|
||||
10110020,
|
||||
30330304,
|
||||
,
|
||||
|
||||
10110201,
|
||||
02010210,
|
||||
30330440,
|
||||
33002010,
|
||||
#GOGOEND
|
||||
10010010,
|
||||
0222,
|
||||
12,
|
||||
20020020,
|
||||
|
||||
10070000,
|
||||
0008,
|
||||
20020020,
|
||||
,
|
||||
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
02,
|
||||
|
||||
10002002,
|
||||
02002000,
|
||||
10002002,
|
||||
02002000,
|
||||
10002002,
|
||||
02002000,
|
||||
10002022,
|
||||
02020220,
|
||||
|
||||
#MEASURE 3/4
|
||||
33,
|
||||
43,
|
||||
#MEASURE 4/4
|
||||
,
|
||||
,
|
||||
#MEASURE 5/4
|
||||
3004004000,
|
||||
#MEASURE 4/4
|
||||
,
|
||||
#MEASURE 2/4
|
||||
,
|
||||
#MEASURE 4/4
|
||||
30030040,
|
||||
03000000,
|
||||
|
||||
70000008,
|
||||
70000008,
|
||||
500000000000000000000000000000000000000008000000,
|
||||
600000000000000000000000000000000000000008000000,
|
||||
,
|
||||
,
|
||||
|
||||
1000
|
||||
#GOGOSTART
|
||||
2101,
|
||||
01102022,
|
||||
10110110,
|
||||
22000000,
|
||||
10110020,
|
||||
10110020,
|
||||
30330304,
|
||||
0000000040040040,
|
||||
|
||||
10110102,
|
||||
0222,
|
||||
30330406,
|
||||
000000000000000000000008000000000000000000000000,
|
||||
#GOGOEND
|
||||
10010010,
|
||||
0222,
|
||||
12,
|
||||
10020020,
|
||||
|
||||
#GOGOSTART
|
||||
#MEASURE 3/4
|
||||
101101,
|
||||
#MEASURE 9/8
|
||||
101102020,
|
||||
#MEASURE 3/4
|
||||
101101,
|
||||
#MEASURE 9/8
|
||||
101102020,
|
||||
#MEASURE 3/4
|
||||
101101,
|
||||
#MEASURE 9/8
|
||||
101102020,
|
||||
#MEASURE 3/4
|
||||
102102,
|
||||
#MEASURE 4/4
|
||||
10210202,
|
||||
|
||||
04000000,
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
||||
|
||||
COURSE:Easy
|
||||
LEVEL:5
|
||||
BALLOON:7,4,4
|
||||
SCOREINIT:4880
|
||||
SCOREDIFF:0
|
||||
|
||||
|
||||
#START
|
||||
|
||||
|
||||
2,
|
||||
2,
|
||||
20020202,
|
||||
,
|
||||
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 9/8
|
||||
,
|
||||
#MEASURE 3/4
|
||||
3,
|
||||
#MEASURE 4/4
|
||||
0222,
|
||||
|
||||
#MEASURE 3/4
|
||||
#GOGOSTART
|
||||
11,
|
||||
#MEASURE 9/8
|
||||
110,
|
||||
#MEASURE 3/4
|
||||
11,
|
||||
#MEASURE 5/4
|
||||
11120,
|
||||
#MEASURE 4/4
|
||||
10010101,
|
||||
0220,
|
||||
10030404,
|
||||
#GOGOEND
|
||||
,
|
||||
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
,
|
||||
20020020,
|
||||
,
|
||||
|
||||
30030030,
|
||||
03003003,
|
||||
00300400,
|
||||
,
|
||||
40040040,
|
||||
04004004,
|
||||
00400300,
|
||||
,
|
||||
|
||||
11,
|
||||
1110,
|
||||
12,
|
||||
1110,
|
||||
11,
|
||||
1110,
|
||||
12,
|
||||
12,
|
||||
|
||||
1001,
|
||||
11,
|
||||
11,
|
||||
1011,
|
||||
5,
|
||||
000000000000000000000008000000000000000000000000,
|
||||
30030060,
|
||||
000000000000000000000000000008000000000000000000,
|
||||
|
||||
#GOGOSTART
|
||||
10001001,
|
||||
0022,
|
||||
10010010,
|
||||
11000000,
|
||||
10010000,
|
||||
10010000,
|
||||
30030303,
|
||||
,
|
||||
|
||||
10010001,
|
||||
00010000,
|
||||
30030040,
|
||||
11000000,
|
||||
#GOGOEND
|
||||
10010010,
|
||||
02,
|
||||
1,
|
||||
20020020,
|
||||
|
||||
20070000,
|
||||
0008,
|
||||
20020020,
|
||||
,
|
||||
|
||||
02,
|
||||
02,
|
||||
02,
|
||||
02,
|
||||
02,
|
||||
02,
|
||||
02,
|
||||
02,
|
||||
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
02,
|
||||
12,
|
||||
0022,
|
||||
|
||||
#MEASURE 3/4
|
||||
33,
|
||||
33,
|
||||
#MEASURE 4/4
|
||||
,
|
||||
,
|
||||
#MEASURE 5/4
|
||||
4004004000,
|
||||
#MEASURE 4/4
|
||||
,
|
||||
#MEASURE 2/4
|
||||
,
|
||||
#MEASURE 4/4
|
||||
30030030,
|
||||
03000000,
|
||||
|
||||
70000008,
|
||||
70000008,
|
||||
500000000000000000000000000000000000000008000000,
|
||||
600000000000000000000000000000000000000008000000,
|
||||
,
|
||||
,
|
||||
|
||||
1000
|
||||
#GOGOSTART
|
||||
1001,
|
||||
0022,
|
||||
10010010,
|
||||
11000000,
|
||||
10010000,
|
||||
10010000,
|
||||
30030303,
|
||||
,
|
||||
|
||||
10010002,
|
||||
0220,
|
||||
30040406,
|
||||
000000000000000000000008000000000000000000000000,
|
||||
#GOGOEND
|
||||
10010010,
|
||||
02,
|
||||
1,
|
||||
20020020,
|
||||
|
||||
#GOGOSTART
|
||||
#MEASURE 3/4
|
||||
1,
|
||||
#MEASURE 9/8
|
||||
5,
|
||||
#MEASURE 3/4
|
||||
,
|
||||
#MEASURE 9/8
|
||||
000000000000000000000000000000000008000000000000000000,
|
||||
#MEASURE 3/4
|
||||
11,
|
||||
#MEASURE 9/8
|
||||
100202020,
|
||||
#MEASURE 3/4
|
||||
11,
|
||||
#MEASURE 4/4
|
||||
10040404,
|
||||
|
||||
04000000,
|
||||
#GOGOEND
|
||||
|
||||
|
||||
#END
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
TITLE:SAVE the World
|
||||
SUBTITLE:--「UNDERTALE」より アズリエル(最終形態)戦BGM
|
||||
COURSE:3
|
||||
LEVEL:9
|
||||
BPM:180
|
||||
WAVE:SAVE the World.ogg
|
||||
OFFSET:-0.1
|
||||
DEMOSTART:0.08
|
||||
SCOREINIT:430
|
||||
SCOREDIFF:94
|
||||
SONGVOL:100
|
||||
SEVOL:100
|
||||
SCOREMODE:2
|
||||
BALLOON:
|
||||
GENRE:ゲームミュージック
|
||||
|
||||
#START
|
||||
#GOGOSTART
|
||||
1022101020112220,
|
||||
1120201120121220,
|
||||
1022102011221022,
|
||||
200000100100
|
||||
100000200200
|
||||
200000101020
|
||||
100000000000,
|
||||
1022101022201110,
|
||||
200200200000
|
||||
100000100200
|
||||
100000202020
|
||||
100000000000,
|
||||
1122102211201220,
|
||||
1010201212112000,
|
||||
1010201120102220,
|
||||
1022101020122210,
|
||||
1022111120102011,
|
||||
100000200200
|
||||
200000100100
|
||||
100000202010
|
||||
200000000000,
|
||||
1022101012201110,
|
||||
200200200000
|
||||
100000100200
|
||||
100000202020
|
||||
100000000000,
|
||||
1122102211201220,
|
||||
1010201212221000,
|
||||
1011201110112011,
|
||||
1011201110112210,
|
||||
2220102212201022,
|
||||
1012102211112220,
|
||||
1022101012201110,
|
||||
200200200000
|
||||
100000100200
|
||||
100000202020
|
||||
100000000000,
|
||||
1222102212201220,
|
||||
1010201212112000,
|
||||
1012102210121022,
|
||||
1012102210121220,
|
||||
1110201121102011,
|
||||
2021102211112220,
|
||||
1022101011201110,
|
||||
200200200000
|
||||
100000100200
|
||||
100000202020
|
||||
100000000000,
|
||||
1222102212201220,
|
||||
1010201212221000,
|
||||
#BPMCHANGE 90
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2000200020002000
|
||||
2020002000222000,
|
||||
2000200020200020
|
||||
0022200020002000,
|
||||
2000200020002000
|
||||
2020002000222000,
|
||||
2000200020200020
|
||||
0022200020002000,
|
||||
#BPMCHANGE 180
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101020102011,
|
||||
1022112011101000,
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101022102011,
|
||||
1022112011101110,
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101020102011,
|
||||
1022112011101000,
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101022102011,
|
||||
1022112011101110,
|
||||
1122102211201220,
|
||||
1011201210221220,
|
||||
1110202211201022,
|
||||
1012102212201110,
|
||||
1122102211201220,
|
||||
1011201210211220,
|
||||
1220101122101022,
|
||||
2011102220101010,
|
||||
1122102211201220,
|
||||
1011201210221220,
|
||||
1110202211201022,
|
||||
1012102212201110,
|
||||
1122102211201220,
|
||||
1011201210211220,
|
||||
1220101122101022,
|
||||
2011102220121011,
|
||||
1,
|
||||
|
||||
|
||||
#END
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
TITLE:U.N. Owen was Her?
|
||||
LEVEL:10
|
||||
BPM:155
|
||||
WAVE:U.N. Owen was Her.ogg
|
||||
BALLOON:5
|
||||
OFFSET:-2.610
|
||||
SCOREINIT:380
|
||||
SCOREDIFF:80
|
||||
SONGVOL:75
|
||||
SEVOL:100
|
||||
COURSE:Oni
|
||||
DEMOSTART:30.530
|
||||
#START
|
||||
#MEASURE 5/4
|
||||
21021021021021121121,
|
||||
21021021021022122122,
|
||||
21021021021021121121,
|
||||
21021021021021221221,
|
||||
21021021021021121121,
|
||||
21021021021022122122,
|
||||
21021021021021121121,
|
||||
21021021021021221221,
|
||||
#MEASURE 4/4
|
||||
1022102010221020,
|
||||
1202102010221020,
|
||||
1022102010221020,
|
||||
1022120210221020,
|
||||
1110222011102220,
|
||||
1120120210112010,
|
||||
1110222011102220,
|
||||
100200100200200100200100101010200200101010200200,
|
||||
#GOGOSTART
|
||||
1011201012102011,
|
||||
2012201012112010,
|
||||
1121201011212010,
|
||||
2210221010221110,
|
||||
1011201021102022,
|
||||
2012201021112020,
|
||||
1221202012212020,
|
||||
101010200100101010200100101010202020101010202020,
|
||||
1011201012102011,
|
||||
2012201012112010,
|
||||
1121201011212010,
|
||||
2210221010221110,
|
||||
1011201021102022,
|
||||
2012201021112020,
|
||||
1221202012212020,
|
||||
101010200100101010200100101010202020101010202020,
|
||||
#GOGOEND
|
||||
#BPMCHANGE 150
|
||||
201010201010201010201010,
|
||||
201010201010201010201010,
|
||||
201010201010201010201010,
|
||||
201010201010201010201010,
|
||||
#BPMCHANGE 151.75
|
||||
202210201010202210201010,
|
||||
201011202010200000201010,
|
||||
201110202010201110202010,
|
||||
202010222010200000202010,
|
||||
202210201010202210201010,
|
||||
201011202010200000201010,
|
||||
201110202010201110202010,
|
||||
200020001000202020001000200200100100200200100100,
|
||||
#BPMCHANGE 155
|
||||
1022102010221020,
|
||||
1202102010221020,
|
||||
1022102010221020,
|
||||
1022120210221020,
|
||||
1022102011221020,
|
||||
1202112010221020,
|
||||
1022102011221020,
|
||||
1122120210221020,
|
||||
1110222011102220,
|
||||
1120120210112010,
|
||||
1110222011102220,
|
||||
1212212111201120,
|
||||
1110222011102220,
|
||||
1120120210112010,
|
||||
1110222011102220,
|
||||
#MEASURE 6/4
|
||||
100200100200200100200100101010200200101010200200700000000000008000000000,
|
||||
#MEASURE 4/4
|
||||
3000400030304000,
|
||||
3000404030304000,
|
||||
#GOGOSTART
|
||||
1121221011212210,
|
||||
2210221011221110,
|
||||
1011201121102022,
|
||||
2012201221112020,
|
||||
1221212012212120,
|
||||
101010200100101010200100101010202020101010202020,
|
||||
1011201212102011,
|
||||
2012201112112010,
|
||||
1121221011212210,
|
||||
2210221011221110,
|
||||
1011201121102022,
|
||||
2012201221112020,
|
||||
1221212012212120,
|
||||
101010200100101010200100101010202020101010202020,
|
||||
#GOGOEND
|
||||
2000000000000000,
|
||||
#END
|
||||
|
|
@ -0,0 +1,384 @@
|
|||
TITLE:PoPiPo
|
||||
SUBTITLE:LamazeP feat. Hatsune Miku
|
||||
BPM:150
|
||||
WAVE:PoPiPo.ogg
|
||||
OFFSET:-0
|
||||
SONGVOL:70
|
||||
SEVOL:100
|
||||
DEMOSTART:44.8
|
||||
SCOREMODE:1
|
||||
|
||||
COURSE:Edit
|
||||
LEVEL:9
|
||||
BALLOON:80,2,2,2,2,2,2,2,2
|
||||
SCOREINIT:390
|
||||
SCOREDIFF:110
|
||||
|
||||
#START
|
||||
2022022020202000,
|
||||
2022022020202000,
|
||||
2022022020202000,
|
||||
2022022022220121,
|
||||
1222112201221122,
|
||||
1112112202112111,
|
||||
1222112201221122,
|
||||
1112112202112121,
|
||||
1222112201221122,
|
||||
1112112202112111,
|
||||
1222112201221122,
|
||||
1112122112204000,
|
||||
7,
|
||||
,
|
||||
,
|
||||
0008,
|
||||
1022102012020120,
|
||||
1022102012010120,
|
||||
1022102012020120,
|
||||
1022102012010122,
|
||||
1121011122120111,
|
||||
1020112210221020,
|
||||
1120102212010222,
|
||||
1022102010201222,
|
||||
1121011122120111,
|
||||
1020112210221020,
|
||||
1120102211201011,
|
||||
1221221210101122,
|
||||
1210201121010122,
|
||||
1210102211221220,
|
||||
1210201121010122,
|
||||
1210202212212120,
|
||||
1210201121010122,
|
||||
1210102211221220,
|
||||
1210201121010122,
|
||||
1210102211221210,
|
||||
1022110120112010,
|
||||
1122102011211120,
|
||||
1022110120121010,
|
||||
1122112211122211,
|
||||
1022102211101022,
|
||||
1121112211112000,
|
||||
1120101202102211,
|
||||
1112112210010010,//44
|
||||
|
||||
#GOGOSTART
|
||||
1121011211227080,
|
||||
2212022122117080,
|
||||
1022102211112020,
|
||||
1121011120202220,
|
||||
1121011211227080,
|
||||
2212022122117080,
|
||||
1022102211212020,
|
||||
1112012210202210,
|
||||
1121011211227080,
|
||||
2212022122117080,
|
||||
1022102211112020,
|
||||
1121011120202220,
|
||||
1121011211227080,
|
||||
2212022122117080,
|
||||
1022102211220222,
|
||||
2012001211220122,
|
||||
1112221211104000,//61
|
||||
|
||||
#GOGOEND
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:Oni
|
||||
LEVEL:8
|
||||
BALLOON:75
|
||||
SCOREINIT:500
|
||||
SCOREDIFF:120
|
||||
|
||||
#START
|
||||
2022022020202000,
|
||||
2022022020202000,
|
||||
2022022020202000,
|
||||
2022022022220122,
|
||||
2222111101102222,
|
||||
1111222202201111,
|
||||
2222111101102222,
|
||||
1111222202201122,
|
||||
1111222201201111,
|
||||
2222111102102222,
|
||||
1111222201201111,
|
||||
2222111102104000,
|
||||
7,
|
||||
,
|
||||
,
|
||||
0008,
|
||||
1011102011020020,
|
||||
1022202012020020,
|
||||
1011102011020020,
|
||||
1022202012020020,
|
||||
1022011111220011,
|
||||
1022102210201022,
|
||||
1022102211020111,
|
||||
100000200200100000500000000008000000100100100100,
|
||||
1122001111220011,
|
||||
1022102210201022,
|
||||
1011202010102010,
|
||||
2112112110101111,
|
||||
1011202011020222,
|
||||
1022102011201120,
|
||||
1011202011020222,
|
||||
1022102022102210,
|
||||
1011202011020222,
|
||||
1022102011201120,
|
||||
1011202011020222,
|
||||
1022102022102210,
|
||||
1011202010200022,
|
||||
1011201120202222,
|
||||
1022102010200022,
|
||||
1022102210101111,
|
||||
1022102010200020,
|
||||
1122112220002000,
|
||||
1020102210201111,
|
||||
2112112030030030,//44
|
||||
|
||||
#GOGOSTART
|
||||
1021012110222000,
|
||||
1021012110222000,
|
||||
1000200011102020,
|
||||
1022022020202220,
|
||||
1021012210222000,
|
||||
1021012210222000,
|
||||
1000200011102020,
|
||||
1022022020202220,
|
||||
1021011220221000,
|
||||
1021011220221000,
|
||||
1000200011102020,
|
||||
1022022020202220,
|
||||
1021012120211000,
|
||||
1021012120211000,
|
||||
1022101120221011,
|
||||
2011002010111220,
|
||||
2112112111204000,//61
|
||||
|
||||
#GOGOEND
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:Hard
|
||||
LEVEL:6
|
||||
BALLOON:60
|
||||
SCOREINIT:640
|
||||
SCOREDIFF:150
|
||||
|
||||
#START
|
||||
20202220,
|
||||
20202220,
|
||||
20202220,
|
||||
20202220,
|
||||
1000111001101000,
|
||||
1000111001101000,
|
||||
1000111001101000,
|
||||
1000111001101000,
|
||||
1000111001102000,
|
||||
1000111001102000,
|
||||
1000111001102000,
|
||||
1000111001104000,
|
||||
7,
|
||||
,
|
||||
,
|
||||
0008,
|
||||
1010101011010000,
|
||||
1010101011020000,
|
||||
1010101011010000,
|
||||
1010101011020000,
|
||||
1002011011020011,
|
||||
1110,
|
||||
1020101110010020,
|
||||
100000200000100000500000000000000008000000000000,
|
||||
1002001011020011,
|
||||
1110,
|
||||
11212125,
|
||||
000000000000000000000008000000000000000000000000,
|
||||
1010101011010000,
|
||||
1010101011020000,
|
||||
1010101011010000,
|
||||
1010101011020000,
|
||||
1020102011010000,
|
||||
1020102011020000,
|
||||
1020102011010000,
|
||||
1020102011020000,
|
||||
10201102,
|
||||
1020101110000000,
|
||||
10201102,
|
||||
1020102220000000,
|
||||
10201202,
|
||||
11222020,
|
||||
10112020,
|
||||
500000000000000008000000300000000300000000300000,//44
|
||||
|
||||
#GOGOSTART
|
||||
1011011010102000,
|
||||
1011011010102000,
|
||||
10201122,
|
||||
2022022020202000,
|
||||
1011011010102000,
|
||||
1011011010102000,
|
||||
10201212,
|
||||
2022022020202000,
|
||||
1011011010202000,
|
||||
1011011010202000,
|
||||
10201221,
|
||||
2022022020202000,
|
||||
1011011010202000,
|
||||
1011011010202000,
|
||||
1212,
|
||||
1011002010102020,
|
||||
1110111010103000,//61
|
||||
|
||||
#GOGOEND
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:Normal
|
||||
LEVEL:4
|
||||
BALLOON:50
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
|
||||
#START
|
||||
,
|
||||
,
|
||||
,
|
||||
,
|
||||
1202,
|
||||
1202,
|
||||
1202,
|
||||
1202,
|
||||
10200220,
|
||||
10200110,
|
||||
10200220,
|
||||
1204,
|
||||
7,
|
||||
,
|
||||
,
|
||||
0008,
|
||||
11101010,
|
||||
11102020,
|
||||
11101010,
|
||||
11102020,
|
||||
11011101,
|
||||
1110,
|
||||
11022201,
|
||||
10110000,
|
||||
11011101,
|
||||
1110,
|
||||
11102225,
|
||||
000000000000000000000008000000000000000000000000,
|
||||
11111010,
|
||||
11104040,
|
||||
11111010,
|
||||
11104040,
|
||||
11111010,
|
||||
11104040,
|
||||
11111010,
|
||||
11104040,
|
||||
10201101,
|
||||
1110,
|
||||
10201101,
|
||||
1110,
|
||||
10201102,
|
||||
2121,
|
||||
00111011,
|
||||
0000000030030030,//44
|
||||
|
||||
#GOGOSTART
|
||||
10201110,
|
||||
10201110,
|
||||
1122,
|
||||
500000000000000000000000000000000008000000000000,
|
||||
10201110,
|
||||
10201110,
|
||||
1212,
|
||||
500000000000000000000000000000000008000000000000,
|
||||
10201110,
|
||||
10201110,
|
||||
1221,
|
||||
500000000000000000000000000000000008000000000000,
|
||||
10201110,
|
||||
10201110,
|
||||
1121,
|
||||
1011,
|
||||
10222030,//61
|
||||
|
||||
#GOGOEND
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:Easy
|
||||
LEVEL:2
|
||||
BALLOON:40,6
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
|
||||
#START
|
||||
,
|
||||
,
|
||||
,
|
||||
,
|
||||
1100,
|
||||
1100,
|
||||
1100,
|
||||
1100,
|
||||
1100,
|
||||
1100,
|
||||
1100,
|
||||
1103,
|
||||
7,
|
||||
,
|
||||
,
|
||||
08,
|
||||
1011,
|
||||
1022,
|
||||
1011,
|
||||
1022,
|
||||
11,
|
||||
1110,
|
||||
11,
|
||||
10010000,
|
||||
11,
|
||||
1110,
|
||||
11,
|
||||
500000000000000000000008000000000000000000000000,
|
||||
11,
|
||||
1033,
|
||||
11,
|
||||
1033,
|
||||
11,
|
||||
1033,
|
||||
11,
|
||||
1033,
|
||||
12,
|
||||
1110,
|
||||
12,
|
||||
1110,
|
||||
11,
|
||||
1110,
|
||||
11,
|
||||
500000000000000000000008000000000000000000000000,//44
|
||||
|
||||
#GOGOSTART
|
||||
1011,
|
||||
1011,
|
||||
11,
|
||||
500000000000000000000000000008000000000000000000,
|
||||
1011,
|
||||
1011,
|
||||
11,
|
||||
500000000000000000000000000008000000000000000000,
|
||||
1011,
|
||||
1011,
|
||||
12,
|
||||
500000000000000000000000000008000000000000000000,
|
||||
1011,
|
||||
1011,
|
||||
1111,
|
||||
1022,
|
||||
9009,//61
|
||||
|
||||
#GOGOEND
|
||||
8,
|
||||
#END
|
||||
|
|
@ -0,0 +1,428 @@
|
|||
TITLE:Deep Sea Girl
|
||||
SUBTITLE:
|
||||
BPM:137
|
||||
WAVE:Deep Sea Girl.ogg
|
||||
OFFSET:0.21
|
||||
SONGVOL:100
|
||||
SEVOL:100
|
||||
DEMOSTART:43
|
||||
|
||||
COURSE:3
|
||||
LEVEL:8
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
BALLOON:15
|
||||
|
||||
#START
|
||||
00000011,
|
||||
2011112010002020,
|
||||
2011221020100020,
|
||||
1022202010222020,
|
||||
1111201110102020,
|
||||
1022201010112020,
|
||||
1011112010000022,
|
||||
1010202210102022,
|
||||
1011221110002020,
|
||||
1011201010112010,
|
||||
1011221120112020,
|
||||
1122102211221120,
|
||||
1221122210002020,
|
||||
1022102010221120,
|
||||
1111222210202000,
|
||||
1011221010112210,
|
||||
1111202210000020,
|
||||
2021202210211020,
|
||||
1011201220202000,
|
||||
1122102010221020,
|
||||
1011202210102000,
|
||||
2122112112111212,
|
||||
1011222210102000,
|
||||
1011201120102050,
|
||||
0000000080002222,
|
||||
#GOGOSTART
|
||||
1022102010211020,
|
||||
1022112210201120,
|
||||
1022102110112022,
|
||||
1211212210002020,
|
||||
1022102010211020,
|
||||
1022112210221120,
|
||||
1011201120122120,
|
||||
3030304040403040,
|
||||
3003003003003030,
|
||||
60000080,
|
||||
#GOGOEND
|
||||
22222222,
|
||||
202020202220202220200000,
|
||||
1022102211221020,
|
||||
1122102210211020,
|
||||
1122112012211220,
|
||||
1111222210002000,
|
||||
1020112011011020,
|
||||
1020122011012010,
|
||||
1022102010211020,
|
||||
1112221210002000,
|
||||
2011201020112010,
|
||||
2011221120102000,
|
||||
1011101120222022,
|
||||
1011101120000020,
|
||||
1111222211220120,
|
||||
1022201020000010,
|
||||
200111100200111100200500,
|
||||
000080
|
||||
#DELAY 0.11
|
||||
#SCROLL 0.5
|
||||
22,
|
||||
2022202020002020,
|
||||
2022202020002020,
|
||||
2000202020202020,
|
||||
2022202220002020,
|
||||
2022202020002020,
|
||||
2022202020002020,
|
||||
2000200020002020,
|
||||
2020202020202020,
|
||||
50000081,
|
||||
600080
|
||||
#SCROLL 1
|
||||
11,
|
||||
#GOGOSTART
|
||||
100222100200100211100200,
|
||||
100222100222100000200200,
|
||||
100222100222100211100200,
|
||||
3020302030201010,
|
||||
100222111222100200111200,
|
||||
100221122122100200112200,
|
||||
100000200000100100200100100000200000101010200000,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
6000000080001010,
|
||||
#GOGOEND
|
||||
1010202210003000,
|
||||
3022203022203070,
|
||||
0008,
|
||||
30304010,
|
||||
1011112011112220,
|
||||
1022221022221110,
|
||||
1122112212211120,
|
||||
2002002020020020,
|
||||
3012103012103012,
|
||||
1030121030121010,
|
||||
4021204021202121,
|
||||
2030303030303030,
|
||||
,
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:2
|
||||
LEVEL:6
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
BALLOON:12
|
||||
|
||||
#START
|
||||
00000011,
|
||||
21121011,
|
||||
20112101,
|
||||
10102111,
|
||||
10200011,
|
||||
21122011,
|
||||
2010102020000011,
|
||||
1010001110101020,
|
||||
20211001,
|
||||
21121010,
|
||||
22112001,
|
||||
10112121,
|
||||
21121011,
|
||||
21121021,
|
||||
2010102020000011,
|
||||
1020201110202020,
|
||||
10211001,
|
||||
2020202220202020,
|
||||
1011101110000010,
|
||||
41414021,
|
||||
12212001,
|
||||
2022202010111010,
|
||||
2022202210000020,
|
||||
1011101110102050,
|
||||
00008022,
|
||||
#GOGOSTART
|
||||
1010201110002020,
|
||||
1020102220001010,
|
||||
1010201110102010,
|
||||
30303022,
|
||||
1020101110002010,
|
||||
2010202220002010,
|
||||
10201012,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
3003003060008000,
|
||||
#GOGOEND
|
||||
,
|
||||
02222220,
|
||||
11221020,
|
||||
12112002,
|
||||
1010201110102220,
|
||||
21121011,
|
||||
21122021,
|
||||
2010102020000011,
|
||||
1020201110202022,
|
||||
1011101110000011,
|
||||
2020202220202022,
|
||||
2011101110000010,
|
||||
2010201110002010,
|
||||
10212001,
|
||||
2220222022020020,
|
||||
2002002020000010,
|
||||
2011102011102050,
|
||||
000080
|
||||
#DELAY 0.11
|
||||
#SCROLL 0.5
|
||||
22,
|
||||
22222022,
|
||||
22222022,
|
||||
20222222,
|
||||
22222022,
|
||||
22222022,
|
||||
22222022,
|
||||
20202022,
|
||||
22222222,
|
||||
50000081,
|
||||
600080
|
||||
#SCROLL 1
|
||||
11,
|
||||
#GOGOSTART
|
||||
1011111010001010,
|
||||
2022222020002020,
|
||||
1010201110202210,
|
||||
3000300030001010,
|
||||
1011111110001010,
|
||||
2022222220002020,
|
||||
10201012,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
6000000080001010,
|
||||
#GOGOEND
|
||||
1010202210003000,
|
||||
3022203022203070,
|
||||
0008,
|
||||
30304010,
|
||||
1011102011102000,
|
||||
1022201022201000,
|
||||
1111102022202020,
|
||||
2002002020020020,
|
||||
3011103011103011,
|
||||
1030111030111010,
|
||||
4022204022202222,
|
||||
2030303030303030,
|
||||
,
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:1
|
||||
LEVEL:5
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
BALLOON:10
|
||||
|
||||
#START
|
||||
00000011,
|
||||
20121010,
|
||||
20102101,
|
||||
10102110,
|
||||
10200011,
|
||||
20122011,
|
||||
20122001,
|
||||
21012110,
|
||||
20211001,
|
||||
20121010,
|
||||
20112001,
|
||||
10112021,
|
||||
20121011,
|
||||
20121021,
|
||||
10112001,
|
||||
21102110,
|
||||
10211001,
|
||||
22222220,
|
||||
11111001,
|
||||
21212021,
|
||||
10212001,
|
||||
22221110,
|
||||
22211001,
|
||||
10120115,
|
||||
00008022,
|
||||
#GOGOSTART
|
||||
11101020,
|
||||
12101020,
|
||||
11201220,
|
||||
30303022,
|
||||
12101020,
|
||||
11202011,
|
||||
10201012,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
3003003060008000,
|
||||
#GOGOEND
|
||||
,
|
||||
02222220,
|
||||
11201020,
|
||||
12102002,
|
||||
11201120,
|
||||
21121010,
|
||||
21102021,
|
||||
21102001,
|
||||
21102110,
|
||||
10111001,
|
||||
22222222,
|
||||
10111001,
|
||||
21202120,
|
||||
10212001,
|
||||
2020202022020020,
|
||||
1001001010000010,
|
||||
20120125,
|
||||
000080
|
||||
#DELAY 0.11
|
||||
#SCROLL 0.5
|
||||
00,
|
||||
20222022,
|
||||
20222022,
|
||||
20222220,
|
||||
22222022,
|
||||
20222022,
|
||||
20222022,
|
||||
20202022,
|
||||
22222222,
|
||||
50000080,
|
||||
600080
|
||||
#SCROLL 1
|
||||
11,
|
||||
#GOGOSTART
|
||||
1010201010002020,
|
||||
1020102020001010,
|
||||
1010201010102010,
|
||||
30303022,
|
||||
1020101010002010,
|
||||
2010202020002010,
|
||||
10201012,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
6000000080001010,
|
||||
#GOGOEND
|
||||
1010202010003000,
|
||||
3000003000003070,
|
||||
0008,
|
||||
30304010,
|
||||
1010102010102000,
|
||||
1020201010201000,
|
||||
11211120,
|
||||
2002002020020020,
|
||||
3010103010103010,
|
||||
1030101030101010,
|
||||
4020204020204020,
|
||||
2030303030303030,
|
||||
,
|
||||
,
|
||||
#END
|
||||
|
||||
COURSE:0
|
||||
LEVEL:3
|
||||
SCOREINIT:
|
||||
SCOREDIFF:
|
||||
BALLOON:7
|
||||
|
||||
#START
|
||||
,
|
||||
1110,
|
||||
1110,
|
||||
1212,
|
||||
1120,
|
||||
1212,
|
||||
1220,
|
||||
1212,
|
||||
1130,
|
||||
1121,
|
||||
2220,
|
||||
1122,
|
||||
1220,
|
||||
2122,
|
||||
1210,
|
||||
2222,
|
||||
1110,
|
||||
2222,
|
||||
1110,
|
||||
2121,
|
||||
1210,
|
||||
2211,
|
||||
2210,
|
||||
10110105,
|
||||
00008020,
|
||||
#GOGOSTART
|
||||
11101000,
|
||||
11101000,
|
||||
11101110,
|
||||
30303020,
|
||||
11101000,
|
||||
11101000,
|
||||
10201020,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
3003003060008000,
|
||||
#GOGOEND
|
||||
,
|
||||
,
|
||||
10201110,
|
||||
11101000,
|
||||
22202220,
|
||||
11101000,
|
||||
10102220,
|
||||
11102000,
|
||||
11102220,
|
||||
10101000,
|
||||
22202220,
|
||||
11111000,
|
||||
20202020,
|
||||
11101000,
|
||||
22202220,
|
||||
11101000,
|
||||
10110115,
|
||||
000080
|
||||
#DELAY 0.11
|
||||
#SCROLL 0.5
|
||||
00,
|
||||
2220,
|
||||
2220,
|
||||
2222,
|
||||
2220,
|
||||
2220,
|
||||
2220,
|
||||
2222,
|
||||
2222,
|
||||
50000080,
|
||||
600080
|
||||
#SCROLL 1
|
||||
00,
|
||||
#GOGOSTART
|
||||
11101000,
|
||||
22202000,
|
||||
11102220,
|
||||
30303000,
|
||||
11101000,
|
||||
22202000,
|
||||
10201012,
|
||||
33344334,
|
||||
3003003003003030,
|
||||
6000000080001010,
|
||||
#GOGOEND
|
||||
11111010,
|
||||
3000003000003070,
|
||||
0008,
|
||||
30304010,
|
||||
11101110,
|
||||
11102220,
|
||||
11201120,
|
||||
2002002020020020,
|
||||
3010103010103010,
|
||||
1030101030101010,
|
||||
4020204020204020,
|
||||
2030303030303030,
|
||||
,
|
||||
,
|
||||
#END
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
TITLE:Last Goodbye
|
||||
SUBTITLE:--「UNDERTALE」より
|
||||
COURSE:3
|
||||
LEVEL:9
|
||||
BPM:180
|
||||
WAVE:Last Goodbye.ogg
|
||||
OFFSET:-2.76
|
||||
DEMOSTART:2.775
|
||||
SCOREINIT:530
|
||||
SCOREDIFF:122
|
||||
SONGVOL:100
|
||||
SEVOL:100
|
||||
SCOREMODE:2
|
||||
BALLOON:
|
||||
GENRE:ゲームミュージック
|
||||
|
||||
#START
|
||||
#GOGOSTART
|
||||
30201120,
|
||||
1110200011200010,
|
||||
0010201010002011,
|
||||
20102111,
|
||||
30211120,
|
||||
1000201110200010,
|
||||
01211121,
|
||||
40104111,
|
||||
30201120,
|
||||
1110200011200010,
|
||||
0010201010002011,
|
||||
20102111,
|
||||
3233,
|
||||
3000201120200030,
|
||||
0022102011200030,
|
||||
0011200040101010,
|
||||
1022101020112020,
|
||||
1120201120121000,
|
||||
1022102011201020,
|
||||
000000100100
|
||||
100000200000
|
||||
000000101010
|
||||
100000000000,
|
||||
1022101022201000,
|
||||
200200200000
|
||||
100000200000
|
||||
100000202020
|
||||
100000000000,
|
||||
1122102211201220,
|
||||
1010201250000080,
|
||||
1011201110112011,
|
||||
1011201110112210,
|
||||
2220100011201022,
|
||||
1012100011112000,
|
||||
1022101012201000,
|
||||
200200200000
|
||||
100000100200
|
||||
100000202020
|
||||
200000000000,
|
||||
1220102210201220,
|
||||
34,
|
||||
#GOGOEND
|
||||
#SCROLL 1.03
|
||||
#BPMCHANGE 82.5
|
||||
10221211,
|
||||
1000000000000000
|
||||
2000000020000000
|
||||
0100000000000000
|
||||
1000000010000000,
|
||||
2211
|
||||
#SCROLL 1.0
|
||||
#BPMCHANGE 85
|
||||
2211,
|
||||
#SCROLL 1.049
|
||||
#BPMCHANGE 81
|
||||
1120
|
||||
#SCROLL 1.03
|
||||
#BPMCHANGE 82.5
|
||||
1011,
|
||||
#SCROLL 1.0
|
||||
#BPMCHANGE 85
|
||||
1000001120002000
|
||||
1000100020002000,
|
||||
#SCROLL 1.01
|
||||
#BPMCHANGE 84
|
||||
10202011,
|
||||
2020101020201002,
|
||||
#SCROLL 1.164
|
||||
#BPMCHANGE 73
|
||||
#MEASURE 7/8
|
||||
1000000010000002
|
||||
000000
|
||||
#SCROLL 1.12
|
||||
#BPMCHANGE 76
|
||||
100000,
|
||||
#SCROLL 1.0
|
||||
#BPMCHANGE 180
|
||||
#MEASURE 4/4
|
||||
#GOGOSTART
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101020102011,
|
||||
1022112011101000,
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101022102011,
|
||||
1022112011101110,
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101020102011,
|
||||
1022112011101000,
|
||||
1111202011112020,
|
||||
1120201110221000,
|
||||
1022101022102011,
|
||||
1022112011101110,
|
||||
1120101011201010,
|
||||
2220101022201010,
|
||||
1120101011201010,
|
||||
2220101021202020,
|
||||
1010211010202110,
|
||||
1020121020101110,
|
||||
1010202210202020,
|
||||
11414144,
|
||||
#GOGOEND
|
||||
32,
|
||||
20002011,
|
||||
12,
|
||||
22,
|
||||
#SCROLL 0.973
|
||||
#BPMCHANGE 185
|
||||
#GOGOSTART
|
||||
44044044,
|
||||
04404040,
|
||||
1110002220001110,
|
||||
0022200011101110,
|
||||
#SCROLL 1.0
|
||||
#BPMCHANGE 180
|
||||
#GOGOEND
|
||||
20020010,
|
||||
#SCROLL 1.333
|
||||
#BPMCHANGE 135
|
||||
000002000000000020000000
|
||||
#SCROLL 1.5
|
||||
#BPMCHANGE 120
|
||||
10000000,
|
||||
#SCROLL 1.565
|
||||
#BPMCHANGE 57.5
|
||||
1220,
|
||||
#MEASURE 5/4
|
||||
1
|
||||
#SCROLL 1.5
|
||||
#BPMCHANGE 60
|
||||
220
|
||||
#BPMCHANGE 55
|
||||
0,
|
||||
#SCROLL 1.633
|
||||
#MEASURE 3/4
|
||||
#BPMCHANGE 49
|
||||
2,
|
||||
#SCROLL 2.027
|
||||
#MEASURE 2/4
|
||||
#BPMCHANGE 36.5
|
||||
2,
|
||||
#SCROLL 1.892
|
||||
2,
|
||||
|
||||
#END
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
TITLE:Super Smash Bros. Brawl Main Theme
|
||||
LEVEL:6
|
||||
BPM:150
|
||||
WAVE:Super Smash Bros. Brawl Main Theme.ogg
|
||||
OFFSET:-0.240
|
||||
BALLOON:21,14,11,46
|
||||
SCOREINIT:370
|
||||
SCOREDIFF:160
|
||||
SONGVOL:100
|
||||
SEVOL:100
|
||||
COURSE:Oni
|
||||
DEMOSTART:6.150
|
||||
#START
|
||||
1010000000000000,
|
||||
0000000000000000,
|
||||
0000000000000000,
|
||||
000000000000000000101020,
|
||||
100000202020200000000000,
|
||||
0000000010102020,
|
||||
#GOGOSTART
|
||||
1022102010221020,
|
||||
1022102010121020,
|
||||
1022102010221020,
|
||||
1022101122112211,
|
||||
1022102010221020,
|
||||
1011102010222020,
|
||||
1022102010221020,
|
||||
1022102010102020,
|
||||
1022112010221120,
|
||||
1022112010121120,
|
||||
1022112010221120,
|
||||
1022101122112211,
|
||||
1022112010221120,
|
||||
1022112010121120,
|
||||
1022112010221120,
|
||||
1110222011102220,
|
||||
#GOGOEND
|
||||
1000000010001000,
|
||||
2000200010000000,
|
||||
1000100070000000,
|
||||
0000000000008000,
|
||||
1000000010001000,
|
||||
2000200010000000,
|
||||
1000100010007000,
|
||||
0000000000008000,
|
||||
1011201120112011,
|
||||
2011201120112212,
|
||||
1011201120112011,
|
||||
2011201120112212,
|
||||
1011201120112212,
|
||||
1011201120112212,
|
||||
1000222210002222,
|
||||
1000222210002222,
|
||||
1011201120112022,
|
||||
1011201120112022,
|
||||
1000000010001000,
|
||||
2000200030000000,
|
||||
1011201120112022,
|
||||
1011201120112022,
|
||||
1000000010001000,
|
||||
2000200010002000,
|
||||
1000000010001000,
|
||||
2000200010000000,
|
||||
1000000020002000,
|
||||
1000000010002000,
|
||||
1000000010002000,
|
||||
1000000010001000,
|
||||
1000000070000000,
|
||||
0000800000000000,
|
||||
#GOGOSTART
|
||||
100000202020100000101010,
|
||||
202020101020100000101020,
|
||||
100000202020100000101020,
|
||||
102020101020101020101020,
|
||||
100000202020101020101020,
|
||||
100000202020101020101020,
|
||||
#GOGOEND
|
||||
700000000000000,
|
||||
000000000000008,
|
||||
000000000000000,
|
||||
000000000000000,
|
||||
#GOGOSTART
|
||||
2011201120112011,
|
||||
2011201120112011,
|
||||
2011201120112011,
|
||||
200000100100200000100100200010001000200010001000,
|
||||
2011201120112011,
|
||||
200000100100200000100100200010001000200010001000,
|
||||
2011201120112011,
|
||||
200000100100200000100100200010001000200010001000,
|
||||
200000201010200000201010,
|
||||
201010202020101020101010,
|
||||
200000101020100000000000,
|
||||
#END
|
||||
|
|
@ -0,0 +1,263 @@
|
|||
TITLE:Cirno's Perfect Math Class
|
||||
LEVEL:10
|
||||
BPM:175
|
||||
WAVE:Cirno's Perfect Math Class.ogg
|
||||
BALLOON:9,9,9
|
||||
OFFSET:-0.250
|
||||
SCOREINIT:100
|
||||
SCOREDIFF:50
|
||||
SONGVOL:100
|
||||
SEVOL:100
|
||||
COURSE:Oni
|
||||
DEMOSTART:10.650
|
||||
#START
|
||||
1010202000201010,
|
||||
1010202000201010,
|
||||
1010202010102020,
|
||||
1010201000303000,
|
||||
1010202000201010,
|
||||
1010202000201020,
|
||||
1010202010102010,
|
||||
2020102000101020,
|
||||
#GOGOSTART
|
||||
2000002010201010,
|
||||
1030404040101020,
|
||||
2000002010201010,
|
||||
2022121120001000,
|
||||
1000002010001000,
|
||||
1012101020201120,
|
||||
1111200011112000,
|
||||
#GOGOEND
|
||||
1122101020303000,
|
||||
#GOGOSTART
|
||||
1010201202102010,
|
||||
1010201202102020,
|
||||
1010201202102010,
|
||||
1010201202102020,
|
||||
1010201202102010,
|
||||
1010201202102020,
|
||||
1010201202102010,
|
||||
2220222022101022,
|
||||
1010201202102010,
|
||||
1010201202102020,
|
||||
1010201202102010,
|
||||
1010201202102020,
|
||||
1010201202102010,
|
||||
1010201202102010,
|
||||
1202101202102010,
|
||||
202020120000
|
||||
#SCROLL 9
|
||||
3000,
|
||||
#SCROLL 1
|
||||
#GOGOEND
|
||||
1011202020000000,
|
||||
1012101020000000,
|
||||
1011201020221020,
|
||||
3000300030000000,
|
||||
1011202020000000,
|
||||
1012101020000000,
|
||||
1010202010102020,
|
||||
3000003030020020,
|
||||
1011202020003000,
|
||||
1012101020303000,
|
||||
1011201020221020,
|
||||
1022102210221222,
|
||||
1120112011201120,
|
||||
1120112010202000,
|
||||
2010102020101020,
|
||||
2210221022102210,
|
||||
#SCROLL 0.5
|
||||
#MEASURE 8/4
|
||||
10102020000000001010201000201010,
|
||||
10102020000000001010201000202000,
|
||||
10200020002000201120112010202020,
|
||||
1111200011112000
|
||||
#SCROLL 9
|
||||
7000000080
|
||||
#SCROLL 0.5
|
||||
101020,
|
||||
#MEASURE 4/4
|
||||
#SCROLL 1
|
||||
#GOGOSTART
|
||||
1022102010221020,
|
||||
1030404040111020,
|
||||
1022112010221120,
|
||||
1022121120001000,
|
||||
1011202010201120,
|
||||
0012101020201120,
|
||||
1111202011112020,
|
||||
3000300030101020,
|
||||
1022102010221020,
|
||||
1030404040111020,
|
||||
1022112010221120,
|
||||
1022121120001000,
|
||||
1011202010201120,
|
||||
1012101020201120,
|
||||
1111202011112020,
|
||||
#GOGOEND
|
||||
1011202010102000,
|
||||
#GOGOSTART
|
||||
1011201202102011,
|
||||
1011201202102022,
|
||||
1011201202102011,
|
||||
1011201202102022,
|
||||
1011201202102011,
|
||||
1011201202102022,
|
||||
1011201202102010,
|
||||
2222222022111022,
|
||||
1011201202102011,
|
||||
1011201202102022,
|
||||
1011201202102011,
|
||||
1011201202102022,
|
||||
1011201202102011,
|
||||
1011201202102010,
|
||||
1202101202102010,
|
||||
202020120000
|
||||
#SCROLL 9
|
||||
3000,
|
||||
#SCROLL 1
|
||||
#GOGOEND
|
||||
1011202020221020,
|
||||
1012101020211020,
|
||||
1011201020221020,
|
||||
3000300030006080,
|
||||
1011202020221020,
|
||||
1012101020221222,
|
||||
1010202010102020,
|
||||
1020102210221122,
|
||||
1011202020003000,
|
||||
1012101020303000,
|
||||
1011201020221020,
|
||||
1022102210221222,
|
||||
1122112211221122,
|
||||
1122112210202000,
|
||||
2010102020101020,
|
||||
2211221122112211,
|
||||
#SCROLL 0.5
|
||||
#MEASURE 8/4
|
||||
10102020102010101010202010201010,
|
||||
10102020102010101010202010202020,
|
||||
10200020002000201122112210202020,
|
||||
1111200011112000
|
||||
#SCROLL 9
|
||||
7000000080
|
||||
#SCROLL 0.5
|
||||
101020,
|
||||
#MEASURE 4/4
|
||||
#SCROLL 1
|
||||
#GOGOSTART
|
||||
1022112010221220,
|
||||
1030404040111020,
|
||||
1022112010221120,
|
||||
1022121120001000,
|
||||
1011212010221120,
|
||||
0012101022201120,
|
||||
1111212011112120,
|
||||
3000300030101020,
|
||||
1022112010221220,
|
||||
1030404040111020,
|
||||
1022112010221120,
|
||||
1022121120001000,
|
||||
1011212010221120,
|
||||
1012101022201120,
|
||||
1111212011112120,
|
||||
#GOGOEND
|
||||
1011202010102000,
|
||||
1010202000201010,
|
||||
1010202000201010,
|
||||
1010202010102020,
|
||||
1010201000303000,
|
||||
1010202000201010,
|
||||
1010202000201020,
|
||||
1010202010102010,
|
||||
2020102000201020,
|
||||
#MEASURE 2/4
|
||||
#SCROLL 2
|
||||
11121112,
|
||||
11121112,
|
||||
11121112,
|
||||
10201020,
|
||||
12221222,
|
||||
12221222,
|
||||
10201010,
|
||||
20201020,
|
||||
11221122,
|
||||
11221122,
|
||||
11221122,
|
||||
10201020,
|
||||
22112211,
|
||||
22112211,
|
||||
20201020,
|
||||
10221020,
|
||||
12211221,
|
||||
12211221,
|
||||
12211221,
|
||||
20201020,
|
||||
21122112,
|
||||
21122112,
|
||||
10201010,
|
||||
20201020,
|
||||
12121212,
|
||||
12121212,
|
||||
12121212,
|
||||
10201020,
|
||||
21212121,
|
||||
21212121,
|
||||
20201020,
|
||||
10221020,
|
||||
#SCROLL 1
|
||||
#MEASURE 4/4
|
||||
2000100010002000,
|
||||
1000200020002000,
|
||||
1122112211221122,
|
||||
2211221122112211,
|
||||
#SCROLL 0.5
|
||||
#MEASURE 8/4
|
||||
10102020102010101010202010201010,
|
||||
10102020102010101010202010202020,
|
||||
10200020002000201122112210202020,
|
||||
1111200011112000
|
||||
#SCROLL 9
|
||||
7000000080
|
||||
#SCROLL 0.5
|
||||
101020,
|
||||
#MEASURE 4/4
|
||||
#SCROLL 1
|
||||
#GOGOSTART
|
||||
1122102011221020,
|
||||
1030404040111020,
|
||||
1121112011211120,
|
||||
1022121120001000,
|
||||
1011212010121120,
|
||||
0012121020211120,
|
||||
1111212011112120,
|
||||
3000300030101020,
|
||||
1122102011221020,
|
||||
1030404040111020,
|
||||
1121112011211120,
|
||||
1022121120001000,
|
||||
1011212010121120,
|
||||
1012121020211120,
|
||||
1111212011112120,
|
||||
#GOGOEND
|
||||
1011202010102000,
|
||||
#GOGOSTART
|
||||
1111201202102011,
|
||||
1111201202102022,
|
||||
1111201202102011,
|
||||
1111201202102022,
|
||||
1111201202102011,
|
||||
1111201202102022,
|
||||
1111201202102010,
|
||||
2222222222111122,
|
||||
1121201202102011,
|
||||
1121201202102022,
|
||||
1121201202102011,
|
||||
1121201202102022,
|
||||
1121201202102011,
|
||||
1121201202102010,
|
||||
1202101202102010,
|
||||
202020120000
|
||||
#SCROLL 9
|
||||
3000,
|
||||
#END
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
TITLE:Brinstar (Melee)
|
||||
LEVEL:8
|
||||
BPM:150
|
||||
WAVE:Brinstar (Melee).ogg
|
||||
OFFSET:-0.070
|
||||
BALLOON:30,30
|
||||
SCOREINIT:290
|
||||
SCOREDIFF:110
|
||||
SONGVOL:75
|
||||
SEVOL:100
|
||||
COURSE:Oni
|
||||
DEMOSTART:14.500
|
||||
#START
|
||||
201000200000111010201020,
|
||||
100000200010100010200010,
|
||||
100000200010100010200020,
|
||||
100000200020100010200010,
|
||||
100000200020100010200020,
|
||||
100010200010000010200010,
|
||||
100010200010000010200020,
|
||||
100020200010000010200010,
|
||||
201010101020101010201010,
|
||||
100010200010100010201010,
|
||||
100010200010100010202010,
|
||||
100010200010100010201020,
|
||||
100010200010100010202020,
|
||||
100010200020100010201010,
|
||||
100010200020100010202010,
|
||||
100010200020100010201020,
|
||||
100010200020100010202020,
|
||||
200020100020200020102020,
|
||||
200020100020200020101020,
|
||||
200020100020200020102010,
|
||||
200020100020200020101010,
|
||||
200020100010200020102020,
|
||||
200020100010200020101020,
|
||||
200020100010200020102010,
|
||||
200020100010200020101010,
|
||||
#GOGOSTART
|
||||
101010201010101010201010,
|
||||
101010201010101010201020,
|
||||
101010201010102010201010,
|
||||
101010201010102010201020,
|
||||
101010202010102010201010,
|
||||
101010202010102010201020,
|
||||
101010202010202010201010,
|
||||
101010202010202010201020,
|
||||
101010202020101010202020,
|
||||
201000200000111010201020,
|
||||
#GOGOEND
|
||||
7000000000000000,
|
||||
0000000000000000,
|
||||
8000000000000000,
|
||||
0000000000000000,
|
||||
7000000000000000,
|
||||
0000000000000000,
|
||||
8000000000000000,
|
||||
0000000000000000,
|
||||
1000200000002000,
|
||||
1000200000002000,
|
||||
1000200000002000,
|
||||
1000200000002000,
|
||||
100020000000200020000000,
|
||||
100020000000200010000000,
|
||||
100020000000100010000000,
|
||||
1000200000002000,
|
||||
100020000000100010000000,
|
||||
100020000000100020000000,
|
||||
100020000000200020000000,
|
||||
201000200000111010201020,
|
||||
100000200010100010200010,
|
||||
100000200010100010200020,
|
||||
100000200020100010200010,
|
||||
100000200020100010200020,
|
||||
100010200010000010200010,
|
||||
100010200010000010200020,
|
||||
100020200010000010200010,
|
||||
201010101020101010201010,
|
||||
100010200010100010201010,
|
||||
100010200010100010202010,
|
||||
100010200010100010201020,
|
||||
100010200010100010202020,
|
||||
100010200020100010201010,
|
||||
100010200020100010202010,
|
||||
100010200020100010201020,
|
||||
100010200020100010202020,
|
||||
200020100020200020102020,
|
||||
200020100020200020101020,
|
||||
200020100020200020102010,
|
||||
200020100020200020101010,
|
||||
200020100010200020102020,
|
||||
200020100010200020101020,
|
||||
200020100010200020102010,
|
||||
200020100010200020101010,
|
||||
#GOGOSTART
|
||||
101011201110101011201110,
|
||||
101011201110101011201120,
|
||||
101011201110102011201110,
|
||||
101011201110102011201120,
|
||||
101011202210102011201110,
|
||||
101011202210102011201120,
|
||||
101011202210202011201110,
|
||||
101011202210202011201120,
|
||||
101011202220101011202220,
|
||||
201000200000111010201020,
|
||||
#GOGOEND
|
||||
100000200020000020101010,
|
||||
000000200020000020102010,
|
||||
000000200020000000200020,
|
||||
000000200020000020101020,
|
||||
100000200020000020101010,
|
||||
000000200020000020102010,
|
||||
000000200020000000200020,
|
||||
201000200000111010201020,
|
||||
100000200010100010200010,
|
||||
100000200010100010200020,
|
||||
100000200020100010200010,
|
||||
100000200020100010200020,
|
||||
100010200010000010200010,
|
||||
100010200010000010200020,
|
||||
100020200010000010200010,
|
||||
201010101020101010201010,
|
||||
100000000000000000000000,
|
||||
#END
|
||||
|
|
@ -0,0 +1,160 @@
|
|||
body {
|
||||
margin: 0;
|
||||
font-family: 'Noto Sans JP', sans-serif;
|
||||
background: #FF7F00;
|
||||
}
|
||||
|
||||
.nav {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 200px;
|
||||
background-color: #A01300;
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.nav a {
|
||||
display: block;
|
||||
color: #FFF;
|
||||
padding: 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav a.active {
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.nav a:hover:not(.active) {
|
||||
background-color: #555;
|
||||
color: white;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-left: 200px;
|
||||
padding: 1px 16px;
|
||||
height: 1000px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 700px) {
|
||||
.nav {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
position: relative;
|
||||
}
|
||||
.nav a {float: left;}
|
||||
main {margin-left: 0;}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 400px) {
|
||||
.sidebar a {
|
||||
text-align: center;
|
||||
float: none;
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.song {
|
||||
background: #F84828;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
font-size: 14pt;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.song p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.song-link {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.song-form {
|
||||
background: #ff5333;
|
||||
color: #FFF;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.form-field {
|
||||
background: #555555;
|
||||
padding: 15px 20px 20px 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.form-field p {
|
||||
margin: 0;
|
||||
font-size: 18pt;
|
||||
}
|
||||
|
||||
.form-field > label {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.form-field input {
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.form-field input[type="text"] {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.form-field input[type="number"] {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
h1 .song-id {
|
||||
color: #4a4a4a;
|
||||
}
|
||||
|
||||
.song .song-id {
|
||||
color: #a01300;
|
||||
}
|
||||
|
||||
.form-field-indent {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.checkbox input {
|
||||
margin-right: 3px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.message {
|
||||
background: #2c862f;
|
||||
padding: 15px;
|
||||
margin-bottom: 10px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.message-error {
|
||||
background: #b92222;
|
||||
}
|
||||
|
||||
.save-song {
|
||||
font-size: 22pt;
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.delete-song button {
|
||||
float: right;
|
||||
margin-top: -25px;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
.side-button {
|
||||
float: right;
|
||||
background: green;
|
||||
padding: 5px 20px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
#debug{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 260px;
|
||||
background: #fff;
|
||||
border: 1px solid #333;
|
||||
color: #000;
|
||||
z-index: 50;
|
||||
font-size: 14px;
|
||||
font-family: TnT, Meiryo, sans-serif;
|
||||
}
|
||||
|
||||
#debug .title{
|
||||
position: relative;
|
||||
height: 25px;
|
||||
padding: 5px 0 0 5px;
|
||||
box-sizing: border-box;
|
||||
background: #bbb;
|
||||
color: #fff;
|
||||
cursor: default;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
#debug .title::before{
|
||||
left: auto;
|
||||
-webkit-text-stroke: 0.25em #555;
|
||||
}
|
||||
|
||||
#debug .minimise{
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
width: 19px;
|
||||
height: 19px;
|
||||
background: #d77;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#debug .content{
|
||||
height: calc(100% - 25px);
|
||||
overflow-y: auto;
|
||||
padding: 8px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
#debug .input-slider,
|
||||
#debug .select{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
margin: 5px 0 15px 0;
|
||||
}
|
||||
#debug .input-slider>input{
|
||||
width: 70%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
font-size: 18px;
|
||||
font-family: monospace;
|
||||
padding: 2px 4px;
|
||||
text-align: center;
|
||||
}
|
||||
#debug .input-slider>span,
|
||||
#debug .select>span{
|
||||
display: block;
|
||||
width: 10%;
|
||||
height: 100%;
|
||||
opacity: 0.8;
|
||||
background: #666;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 2em;
|
||||
cursor: pointer;
|
||||
}
|
||||
#debug .input-slider>span:hover,
|
||||
#debug .select>span:hover{
|
||||
opacity: 1;
|
||||
background: #333;
|
||||
}
|
||||
#debug .select select{
|
||||
width: 90%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
font-size: 18px;
|
||||
font-family: sans-serif;
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
#debug label{
|
||||
display: block;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
#debug input[type="checkbox"]{
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
#debug .bottom-btns{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
#debug .bottom-btns div{
|
||||
width: calc(50% - 3px);
|
||||
height: 30px;
|
||||
opacity: 0.8;
|
||||
background: #666;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 2em;
|
||||
cursor: pointer;
|
||||
}
|
||||
#debug .bottom-btns div:hover{
|
||||
opacity: 1;
|
||||
background: #333;
|
||||
}
|
||||
#debug .restart-btn{
|
||||
display: none;
|
||||
margin-right: 3px;
|
||||
}
|
||||
#debug .exit-btn{
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
#debug .autoplay-label,
|
||||
#debug .branch-hide,
|
||||
#debug .lyrics-hide{
|
||||
display: none;
|
||||
}
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
#game{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
background-size: calc(100vh / 720 * 512);
|
||||
background-position: center;
|
||||
}
|
||||
#screen.view{
|
||||
background-image: none;
|
||||
background-color: #000;
|
||||
}
|
||||
#canvas{
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
touch-action: none;
|
||||
}
|
||||
#touch-drum{
|
||||
display: none;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
#touch-drum-img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-position: top;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#touch-buttons{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 8vh;
|
||||
right: 2vh;
|
||||
opacity: 0.5;
|
||||
z-index: 5;
|
||||
}
|
||||
#touch-buttons div{
|
||||
display: inline-block;
|
||||
width: 12.5vmin;
|
||||
height: 12.5vmin;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.portrait #touch-buttons{
|
||||
top: 11vh;
|
||||
}
|
||||
.touchp2 #touch-buttons{
|
||||
top: -1.9vh;
|
||||
}
|
||||
.touch-visible #touch-drum,
|
||||
.touch-visible #touch-buttons{
|
||||
display: block;
|
||||
}
|
||||
.touch-visible .window{
|
||||
width: 80vmin;
|
||||
height: 53vmin;
|
||||
}
|
||||
.touch-visible #pause-menu .window button{
|
||||
font-size: 5vmin;
|
||||
}
|
||||
.touch-visible #pause-menu .window button.selected{
|
||||
color: #000;
|
||||
background: #fff;
|
||||
border-color: #ae7a26;
|
||||
}
|
||||
.touch-results #touch-pause-btn{
|
||||
display: none;
|
||||
}
|
||||
#fade-screen{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: transparent;
|
||||
pointer-events: none;
|
||||
z-index: 2;
|
||||
transition: 1s background-color linear;
|
||||
}
|
||||
.fix-animations *{
|
||||
animation: none !important;
|
||||
}
|
||||
#song-lyrics{
|
||||
position: absolute;
|
||||
right: calc((100vw - 1280 / 720 * 100vh) / 2 + 100px * var(--scale));
|
||||
bottom: calc(44 / 720 * 100vh - 30px * var(--scale));
|
||||
left: calc((100vw - 1280 / 720 * 100vh) / 2 + 100px * var(--scale));
|
||||
text-align: center;
|
||||
font-family: Meiryo, sans-serif;
|
||||
font-weight: bold;
|
||||
font-size: calc(45px * var(--scale));
|
||||
line-height: 1.2;
|
||||
white-space: pre-wrap;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
#game.portrait #song-lyrics{
|
||||
right: calc(20px * var(--scale));
|
||||
left: calc(20px * var(--scale));
|
||||
}
|
||||
#song-lyrics .stroke,
|
||||
#song-lyrics .fill{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
#song-lyrics .stroke{
|
||||
-webkit-text-stroke: calc(7px * var(--scale)) #00a;
|
||||
}
|
||||
#song-lyrics .fill{
|
||||
color: #fff;
|
||||
}
|
||||
#song-lyrics ruby{
|
||||
display: inline-flex;
|
||||
flex-direction: column-reverse;
|
||||
}
|
||||
#song-lyrics rt{
|
||||
line-height: 1;
|
||||
}
|
||||
.pixelated #canvas,
|
||||
.pixelated .donbg>div,
|
||||
.pixelated #songbg>div,
|
||||
.pixelated #song-stage,
|
||||
.pixelated #touch-drum-img,
|
||||
.pixelated #flowers1-in,
|
||||
.pixelated #flowers2-in,
|
||||
.pixelated #mikoshi-in,
|
||||
.pixelated #tetsuo-in,
|
||||
.pixelated #hana-in{
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
html,
|
||||
body{
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fe7839;
|
||||
position: absolute;
|
||||
user-select: none;
|
||||
touch-action: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
#screen{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #000;
|
||||
background-position: center;
|
||||
background-size: 30vh;
|
||||
}
|
||||
#screen.pattern-bg{
|
||||
background-color: #fe7839;
|
||||
}
|
||||
#assets,
|
||||
#browse{
|
||||
display: none;
|
||||
}
|
||||
#loader{
|
||||
width:90%;
|
||||
height:10%;
|
||||
border:1px solid black;
|
||||
position: absolute;
|
||||
top:45%;
|
||||
left:5%;
|
||||
background: rgba(0,0,0,0.65);
|
||||
}
|
||||
|
||||
#loader .progress{
|
||||
width:0%;
|
||||
height: 100%;
|
||||
background: #b52a2a;
|
||||
opacity: 0.90;
|
||||
}
|
||||
|
||||
#loader .percentage{
|
||||
position:absolute;
|
||||
top:0;
|
||||
right:0;
|
||||
bottom:0;
|
||||
left:0;
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
text-align:center;
|
||||
font-family: sans-serif;
|
||||
font-size: 5vmin;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#unsupportedBrowser{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
max-height: 100%;
|
||||
overflow: hidden auto;
|
||||
padding: 0.5em;
|
||||
background: #aef;
|
||||
font-family: sans-serif;
|
||||
font-size: 20px;
|
||||
cursor: default;
|
||||
z-index: 10;
|
||||
}
|
||||
#unsupportedWarn{
|
||||
display: inline-block;
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
margin-right: 0.5em;
|
||||
background: #39a;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
#unsupportedBrowser.hidden{
|
||||
width: 1.5em;
|
||||
}
|
||||
#unsupportedBrowser.hidden *:not(#unsupportedWarn){
|
||||
display: none !important;
|
||||
}
|
||||
#unsupportedBrowser a{
|
||||
color: #02e;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
#unsupportedBrowser a:hover{
|
||||
text-decoration: underline;
|
||||
}
|
||||
#unsupportedBrowser ul{
|
||||
margin: 0.25em;
|
||||
}
|
||||
#unsupportedDetails{
|
||||
display: none;
|
||||
margin: 0.5em 2.5em 0 2.5em;
|
||||
border: 0.15em solid #39a;
|
||||
padding: 0.25em;
|
||||
cursor: auto;
|
||||
user-select: text;
|
||||
}
|
||||
#unsupportedHide{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 2.5em;
|
||||
height: 2.5em;
|
||||
text-align: center;
|
||||
line-height: 2.25em;
|
||||
color: #777;
|
||||
text-shadow: 0.05em 0.05em #fff;
|
||||
}
|
||||
.view-outer.loader-error-div,
|
||||
.loader-error-div .diag-txt{
|
||||
display: none
|
||||
}
|
||||
.loader-error-div{
|
||||
font-family: sans-serif;
|
||||
}
|
||||
.loader-error-div .debug-link{
|
||||
color: #00f;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
}
|
||||
.loader-error-div .diag-txt textarea,
|
||||
.loader-error-div .diag-txt iframe{
|
||||
height: 10em;
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
#load-song{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#loading-song{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 20vmax;
|
||||
height: 15vmax;
|
||||
background: rgba(0, 0, 0, 0.75);
|
||||
border-radius: 5px;
|
||||
border: 3px solid white;
|
||||
color: #fff;
|
||||
z-index: 1;
|
||||
}
|
||||
#loading-don{
|
||||
width: 10vmax;
|
||||
height: calc(10vmax / 120 * 115);
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.loading-text{
|
||||
position: relative;
|
||||
font-size: 1.5vmax;
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
}
|
||||
#p2-cancel-button{
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: -55px;
|
||||
}
|
||||
|
|
@ -0,0 +1,125 @@
|
|||
.window {
|
||||
width: 60vmin;
|
||||
height: 23vmin;
|
||||
padding: 3vmin;
|
||||
color: black;
|
||||
background: rgba(255, 220, 47, 0.95);
|
||||
border: 0.5vmin outset #f4ae00;
|
||||
box-shadow: 2px 2px 10px black;
|
||||
margin: auto;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.stroke-sub::before {
|
||||
content: attr(alt);
|
||||
position: absolute;
|
||||
-webkit-text-stroke: 0.25em #000;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
#session-invite {
|
||||
width: 100%;
|
||||
height: 1.9em;
|
||||
font-family: sans-serif;
|
||||
font-size: 2em;
|
||||
background: #fff;
|
||||
border: 1px solid #a9a9a9;
|
||||
padding: 0.3em;
|
||||
margin: 0.3em 0;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
user-select: all;
|
||||
cursor: text;
|
||||
overflow: hidden;
|
||||
}
|
||||
@keyframes bgscroll {
|
||||
from {
|
||||
background-position: 50% top;
|
||||
}
|
||||
to {
|
||||
background-position: calc(50% - 100vh / 720 * 512) top;
|
||||
}
|
||||
}
|
||||
#song-select {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-size: calc(100vh / 720 * 512);
|
||||
background-repeat: repeat no-repeat;
|
||||
animation: bgscroll 16s infinite linear;
|
||||
white-space: nowrap;
|
||||
transition: background-image 0.5s;
|
||||
}
|
||||
#song-select.unfocused {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
#song-sel-canvas {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
}
|
||||
#song-select #touch-full-btn {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 12.5vmin;
|
||||
height: 12.5vmin;
|
||||
opacity: 0.5;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
#song-sel-selectable {
|
||||
position: absolute;
|
||||
opacity: 1;
|
||||
text-align: center;
|
||||
word-break: break-all;
|
||||
white-space: pre-wrap;
|
||||
user-select: all;
|
||||
cursor: text;
|
||||
color: transparent;
|
||||
}
|
||||
#song-sel-selectable:focus {
|
||||
background: #ffdb2c;
|
||||
color: #000;
|
||||
}
|
||||
#song-sel-selectable .stroke-sub {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
#song-sel-selectable .stroke-sub::before {
|
||||
-webkit-text-stroke: 0;
|
||||
}
|
||||
#song-sel-selectable:focus .stroke-sub::before {
|
||||
-webkit-text-stroke: 0.25em #fff;
|
||||
}
|
||||
|
||||
#version {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
font-size: 2vh;
|
||||
position: absolute;
|
||||
bottom: 1vh;
|
||||
right: 1vh;
|
||||
opacity: 0.7;
|
||||
font-family: TnT, Meiryo, sans-serif;
|
||||
}
|
||||
#version:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#version-link {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.version-hide {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
|
@ -0,0 +1,287 @@
|
|||
#song-search-container {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 21px;
|
||||
}
|
||||
|
||||
#song-search {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: min(100%, 60em);
|
||||
height: 80%;
|
||||
border-radius: 0.8em;
|
||||
border: 0.35em solid #8C0C42;
|
||||
color: #fff;
|
||||
padding: 1em 1em 0 1em;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
background-size: auto, 3.12em;
|
||||
background-position: 0%, -2%;
|
||||
}
|
||||
|
||||
#song-search-container.touch-enabled{
|
||||
font-size: calc(3 * var(--vmin, 1vmin));
|
||||
}
|
||||
@media (max-width: 950px){
|
||||
#song-search-container:not(.touch-enabled){
|
||||
font-size: calc(3 * var(--vmin, 1vmin));
|
||||
}
|
||||
}
|
||||
@media (max-height: 650px){
|
||||
#song-search-container:not(.touch-enabled){
|
||||
font-size: calc(2 * var(--vmin, 1vmin));
|
||||
}
|
||||
}
|
||||
|
||||
#song-search-input {
|
||||
width: 100%;
|
||||
font-size: 1.8em;
|
||||
padding: 0.5em 0.7em;
|
||||
border-radius: 0.2em;
|
||||
border: 0.13em black solid;
|
||||
font-family: inherit;
|
||||
box-sizing: border-box;
|
||||
-webkit-box-sizing:border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
#song-search-input:focus {
|
||||
border-color: #fff923;
|
||||
}
|
||||
|
||||
#song-search-results {
|
||||
margin-top: 0.5em;
|
||||
overflow-y: scroll;
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
#song-search-results::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.song-search-result {
|
||||
display: flex;
|
||||
height: 3.2em;
|
||||
margin: 0.2em;
|
||||
padding: 0.7em;
|
||||
flex-direction: row;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 0.3em black solid;
|
||||
position: relative;
|
||||
--course-width: min(3em, calc(7 * var(--vmin, 1vmin)));
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: 1px 3.2em;
|
||||
}
|
||||
|
||||
.song-search-result::before {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: '';
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
border: 0.4em solid;
|
||||
}
|
||||
|
||||
.song-search-result:last-of-type {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.song-search-result-info {
|
||||
font-size: 1.2em;
|
||||
padding: 0.3em 0.3em 0.3em 0.5em;
|
||||
text-align: left;
|
||||
z-index: 0;
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
overflow-x: hidden;
|
||||
width: calc(100% - (var(--course-width) + 0.4em) * 5 - 0.6em);
|
||||
}
|
||||
|
||||
.song-search-result-info .highlighted-text {
|
||||
color: #faff00;
|
||||
}
|
||||
|
||||
.song-search-result-title,
|
||||
.song-search-result-subtitle {
|
||||
display: inline-block;
|
||||
transform-origin: left;
|
||||
}
|
||||
|
||||
.song-search-result-subtitle {
|
||||
font-size: 0.8em;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.song-search-result-title::before,
|
||||
.song-search-result-subtitle::before {
|
||||
content: attr(alt);
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
-webkit-text-stroke-width: 0.4em;
|
||||
}
|
||||
|
||||
.song-search-result-course {
|
||||
width: var(--course-width);
|
||||
height: 100%;
|
||||
margin: 0.2em;
|
||||
font-size: 1.2em;
|
||||
border-radius: 0.3em;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.song-search-result-hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.song-search-result:hover {
|
||||
border-color: #fff923;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.song-search-result-active {
|
||||
border-color: #fff923;
|
||||
}
|
||||
|
||||
.song-search-result-course::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0.5;
|
||||
z-index: -1;
|
||||
background-size: 4.8em;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
|
||||
.song-search-result-stars {
|
||||
bottom: 0;
|
||||
background: rgb(0 0 0 / 47%);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0.1em 0;
|
||||
border-radius: 0 0 0.3em 0.3em;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.song-search-result-easy {
|
||||
background-color: #D13215;
|
||||
}
|
||||
|
||||
.song-search-result-easy::before {
|
||||
background-position-x: center;
|
||||
background-position-y: -0.6em;
|
||||
}
|
||||
|
||||
.song-search-result-normal {
|
||||
background-color: #799C22;
|
||||
}
|
||||
|
||||
.song-search-result-normal::before {
|
||||
background-position-x: center;
|
||||
background-position-y: -5.1em;
|
||||
}
|
||||
|
||||
.song-search-result-hard {
|
||||
background-color: #31799B;
|
||||
}
|
||||
|
||||
.song-search-result-hard::before {
|
||||
background-position-x: center;
|
||||
background-position-y: -9.1em;
|
||||
}
|
||||
|
||||
.song-search-result-oni {
|
||||
background-color: #AF2C7F;
|
||||
}
|
||||
|
||||
.song-search-result-oni::before {
|
||||
background-position-x: center;
|
||||
background-position-y: -13.1em;
|
||||
}
|
||||
|
||||
.song-search-result-ura {
|
||||
background-color: #604AD5;
|
||||
}
|
||||
|
||||
.song-search-result-ura::before {
|
||||
background-position-x: center;
|
||||
background-position-y: -17.2em;
|
||||
}
|
||||
|
||||
.song-search-result-crown {
|
||||
background-size: 1.4em;
|
||||
background-position-x: center;
|
||||
background-repeat: repeat-y;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
width: 1.4em;
|
||||
height: 1.3em;
|
||||
margin-bottom: 1.2em;
|
||||
}
|
||||
|
||||
.song-search-result-gold {
|
||||
background-position-y: 59%;
|
||||
}
|
||||
|
||||
.song-search-result-silver {
|
||||
background-position-y: 29%;
|
||||
}
|
||||
|
||||
.song-search-result-noclear {
|
||||
background-position-y: -1%;
|
||||
}
|
||||
|
||||
#song-search-tip {
|
||||
font-size: 1em;
|
||||
margin-top: 1em;
|
||||
text-align: center;
|
||||
background-repeat: no-repeat;
|
||||
background-position: top;
|
||||
background-size: 10em;
|
||||
background-color: #00000087;
|
||||
border-radius: 0.5em;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
#song-search-close {
|
||||
position: absolute;
|
||||
right: -0.5em;
|
||||
top: -0.8em;
|
||||
font-size: 2em;
|
||||
font-family: TnT;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#song-search-close:hover::before{
|
||||
-webkit-text-stroke: 0.25em #fff923;
|
||||
}
|
||||
|
||||
.song-search-tip-error {
|
||||
height: 8em;
|
||||
}
|
||||
|
|
@ -0,0 +1,364 @@
|
|||
#songbg,
|
||||
#songbg>*,
|
||||
.donbg,
|
||||
.donbg *,
|
||||
#song-stage{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
max-width: calc(100vh / 9 * 32);
|
||||
}
|
||||
#songbg{
|
||||
height: 50.1%;
|
||||
}
|
||||
#songbg>*{
|
||||
top: 0;
|
||||
}
|
||||
#songbg,
|
||||
#songbg>*{
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
bottom: 0;
|
||||
}
|
||||
#song-stage{
|
||||
height: calc(44 / 720 * 100vh);
|
||||
background-position: center bottom;
|
||||
background-repeat-y: no-repeat;
|
||||
background-size: auto 100%;
|
||||
bottom: 0;
|
||||
}
|
||||
.portrait #songbg{
|
||||
height: 63.4%;
|
||||
max-height: calc(50% + 24vw);
|
||||
}
|
||||
.touchp2 #songbg{
|
||||
height: calc(50% - 5.9vw);
|
||||
min-height: 39.5%;
|
||||
}
|
||||
.multiplayer.portrait #songbg{
|
||||
height: calc(50% - 37vw);
|
||||
min-height: calc(29% + 1px);
|
||||
}
|
||||
.multiplayer:not(.touchp2):not(.portrait) #songbg,
|
||||
.multiplayer:not(.touchp2):not(.portrait) #song-stage{
|
||||
display: none;
|
||||
}
|
||||
.game-paused *{
|
||||
animation-play-state: paused !important;
|
||||
}
|
||||
@keyframes songbg-strobe{
|
||||
0%{opacity: 1}
|
||||
25%{opacity: 0}
|
||||
50%{opacity: 0.66}
|
||||
75%{opacity: 0}
|
||||
}
|
||||
@keyframes songbg-pulse{
|
||||
0%{opacity: 1}
|
||||
50%{opacity: 0}
|
||||
}
|
||||
.songbg-1 #layer2,
|
||||
.songbg-2 #layer2,
|
||||
.songbg-3 #layer2{
|
||||
animation: 0.4s linear songbg-strobe infinite;
|
||||
mix-blend-mode: difference;
|
||||
}
|
||||
.songbg-4 #layer2{
|
||||
animation: 0.4s linear songbg-pulse infinite;
|
||||
mix-blend-mode: difference;
|
||||
}
|
||||
.songbg-5 #layer2{
|
||||
animation: 1s linear songbg-pulse infinite;
|
||||
mix-blend-mode: color-dodge;
|
||||
}
|
||||
.songbg-strobe #layer2{
|
||||
animation: 0.4s linear songbg-strobe infinite;
|
||||
}
|
||||
.songbg-pulse #layer2{
|
||||
animation: 0.4s linear songbg-pulse infinite;
|
||||
}
|
||||
.songbg-slowfade #layer2{
|
||||
animation: 2s cubic-bezier(0.68, -0.55, 0.27, 1.55) songbg-pulse infinite;
|
||||
}
|
||||
.touch-visible #layer2{
|
||||
display: none;
|
||||
background-image: none;
|
||||
animation: none;
|
||||
}
|
||||
.donbg{
|
||||
top: 0;
|
||||
height: calc(50% - 13.7vw);
|
||||
min-height: 25.6%;
|
||||
}
|
||||
.multiplayer .donbg{
|
||||
min-height: 27.2%;
|
||||
}
|
||||
.portrait .donbg{
|
||||
height: calc(50% - 48.9vw);
|
||||
min-height: 22.5%;
|
||||
}
|
||||
.donbg *{
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-repeat-y: no-repeat;
|
||||
}
|
||||
.donbg.donbg-bottom{
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
.portrait .donbg.donbg-bottom {
|
||||
top: calc(50% + -1vw);
|
||||
bottom: auto;
|
||||
}
|
||||
@keyframes donbg-scroll{
|
||||
from{background-position-x: 0}
|
||||
to{background-position-x: calc(var(--h) / var(--sh1) * var(--sw) * -1)}
|
||||
}
|
||||
@keyframes donbg-scroll1{
|
||||
from{background-position-x: 0}
|
||||
to{background-position-x: calc(var(--h) / var(--sh1) * var(--sw1) * -1)}
|
||||
}
|
||||
@keyframes donbg-scroll2{
|
||||
from{background-position-x: 0}
|
||||
to{background-position-x: calc(var(--h) / var(--sh1) * var(--sw2) * -1)}
|
||||
}
|
||||
@keyframes donbg-raise{
|
||||
from{background-position-y: 0}
|
||||
to{background-position-y: var(--raised)}
|
||||
}
|
||||
@keyframes donbg-anim3{
|
||||
0%{background-position-y: 0}
|
||||
13%{background-position-y: var(--raised)}
|
||||
15%{background-position-y: var(--raised)}
|
||||
45%{background-position-y: 0}
|
||||
50%{background-position-y: 0}
|
||||
65%{background-position-y: calc(var(--raised) / 2)}
|
||||
80%{background-position-y: 0}
|
||||
}
|
||||
@keyframes donbg-anim5{
|
||||
0%{background-position-y: 0}
|
||||
13%{background-position-y: var(--raised)}
|
||||
17%{background-position-y: var(--raised)}
|
||||
30%{background-position-y: 0}
|
||||
}
|
||||
.donlayer1{
|
||||
animation: 5s linear donbg-scroll infinite;
|
||||
background-size: auto 100%;
|
||||
}
|
||||
.donlayer2{
|
||||
background-size: auto calc(var(--sh2) / var(--sh1) * 100%);
|
||||
--raised: calc((var(--sh2) - var(--sh1)) / var(--sh2) * var(--h) * -1);
|
||||
}
|
||||
.donlayer3{
|
||||
background-color: #000;
|
||||
opacity: 0;
|
||||
transition: 0.15s opacity linear;
|
||||
}
|
||||
.donbg-dark .donlayer3{
|
||||
opacity: 0.5;
|
||||
}
|
||||
.donbg-1 .donlayer2,
|
||||
.donbg-2 .donlayer2,
|
||||
.donbg-4 .donlayer2,
|
||||
.donbg-6 .donlayer2,
|
||||
.donbg-raise .donlayer2{
|
||||
animation: 5s linear donbg-scroll infinite, 1s linear donbg-raise infinite alternate;
|
||||
}
|
||||
.donbg-3 .donlayer2,
|
||||
.donbg-anim3 .donlayer2{
|
||||
animation: 3.4s linear donbg-scroll infinite, 1.8s linear donbg-anim3 infinite;
|
||||
}
|
||||
.donbg-5 .donlayer2,
|
||||
.donbg-anim5 .donlayer2{
|
||||
animation: 2.7s linear donbg-scroll infinite, 2.2s linear donbg-anim5 infinite;
|
||||
}
|
||||
.donbg-equalscroll .donlayer1{
|
||||
animation: 5.3s linear donbg-scroll1 infinite;
|
||||
}
|
||||
.donbg-equalscroll .donlayer2{
|
||||
animation: 5.3s linear donbg-scroll2 infinite;
|
||||
}
|
||||
.donbg-fastscroll .donlayer1{
|
||||
animation: 2s linear donbg-scroll1 infinite;
|
||||
}
|
||||
.donbg-fastscroll .donlayer2{
|
||||
animation: 1s linear donbg-scroll2 infinite;
|
||||
}
|
||||
|
||||
#tetsuohana{
|
||||
position: absolute;
|
||||
right: calc(-12px * var(--scale));
|
||||
left: calc(-12px * var(--scale));
|
||||
margin: auto;
|
||||
z-index: 1;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
top: calc(50% - 15px * var(--scale));
|
||||
width: calc(1304px * var(--scale));
|
||||
height: calc(375px * var(--scale));
|
||||
--frame: 0;
|
||||
--low: calc(36px * var(--scale));
|
||||
}
|
||||
#tetsuo,
|
||||
#hana{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: calc(292px * var(--scale));
|
||||
height: calc(425px * var(--scale));
|
||||
transform: translateY(calc(360px * var(--scale)));
|
||||
}
|
||||
#tetsuo-in,
|
||||
#hana-in{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: calc(292px * var(--scale) * 2);
|
||||
background-position-y: calc(-425px * var(--frame) * var(--scale));
|
||||
}
|
||||
#tetsuo{
|
||||
left: calc(173px * var(--scale));
|
||||
}
|
||||
#hana{
|
||||
right: calc(178px * var(--scale));
|
||||
}
|
||||
#hana-in{
|
||||
background-position-x: calc(-292px * var(--scale));
|
||||
}
|
||||
#mikoshi{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: calc(390px * var(--scale));
|
||||
width: calc(553px * var(--scale));
|
||||
height: calc(416px * var(--scale));
|
||||
transform: translateY(calc(461px * var(--scale)));
|
||||
}
|
||||
#mikoshi-in{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
#flowers1,
|
||||
#flowers2{
|
||||
position: absolute;
|
||||
top: calc(218px * var(--scale));
|
||||
width: calc(483px * var(--scale));
|
||||
height: calc(159px * var(--scale));
|
||||
transform: translateY(calc(243px * var(--scale))) scaleX(var(--flip));
|
||||
}
|
||||
#flowers1-in,
|
||||
#flowers2-in{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: calc(483px * var(--scale));
|
||||
background-position-y: calc(-159px * var(--frame) * var(--scale));
|
||||
}
|
||||
#flowers1{
|
||||
left: 0;
|
||||
--flip: 1;
|
||||
}
|
||||
#flowers2{
|
||||
right: calc(4px * var(--scale));
|
||||
--flip: -1;
|
||||
}
|
||||
#tetsuohana.fadein,
|
||||
#tetsuohana.dance,
|
||||
#tetsuohana.dance2,
|
||||
#tetsuohana.failed{
|
||||
height: calc(461px * var(--scale));
|
||||
}
|
||||
#tetsuohana.fadein #tetsuo,
|
||||
#tetsuohana.fadein #hana{
|
||||
transition: 0.5s transform cubic-bezier(0.2, 0.6, 0.4, 1.2);
|
||||
transform: translateY(var(--low));
|
||||
}
|
||||
@keyframes tetsuohana-dance{
|
||||
0%{transform: translateY(var(--low))}
|
||||
50%{transform: translateY(0)}
|
||||
100%{transform: translateY(0)}
|
||||
}
|
||||
@keyframes tetsuohana-failed1{
|
||||
0%{transform: translateY(calc(10px * var(--scale)))}
|
||||
50%{transform: translateY(0)}
|
||||
100%{transform: translateY(0)}
|
||||
}
|
||||
@keyframes tetsuohana-failed2{
|
||||
0%{transform: translateY(0)}
|
||||
49%{transform: translateY(0)}
|
||||
50%{transform: translateY(calc(5px * var(--scale)))}
|
||||
100%{transform: translateY(calc(15px * var(--scale)))}
|
||||
}
|
||||
@keyframes tetsuohana-flowers{
|
||||
0%{background-position-y: 0}
|
||||
50%{background-position-y: calc(-159px * var(--scale))}
|
||||
100%{background-position-y: calc(-318px * var(--scale))}
|
||||
}
|
||||
@keyframes tetsuohana-mikoshi{
|
||||
0%{transform: translateY(calc(425px * var(--scale)))}
|
||||
100%{transform: translateY(0)}
|
||||
}
|
||||
#tetsuohana.dance #tetsuo,
|
||||
#tetsuohana.dance #hana,
|
||||
#tetsuohana.dance2 #tetsuo,
|
||||
#tetsuohana.dance2 #hana{
|
||||
--frame: 1;
|
||||
transform: translateY(var(--low));
|
||||
animation: 0.5s ease-out tetsuohana-dance infinite forwards;
|
||||
}
|
||||
#tetsuohana.dance #tetsuo-in,
|
||||
#tetsuohana.dance #hana-in,
|
||||
#tetsuohana.dance2 #tetsuo-in,
|
||||
#tetsuohana.dance2 #hana-in{
|
||||
transform: translateY(0);
|
||||
animation: 0.5s ease-out tetsuohana-dance infinite forwards reverse;
|
||||
}
|
||||
#tetsuohana.dance #flowers1,
|
||||
#tetsuohana.dance #flowers2{
|
||||
transform: translateY(0) scaleX(var(--flip));
|
||||
transition: 0.34s transform ease-out;
|
||||
}
|
||||
#tetsuohana.dance2 #flowers1,
|
||||
#tetsuohana.dance2 #flowers2{
|
||||
transform: translateY(0) scaleX(var(--flip));
|
||||
}
|
||||
#tetsuohana.dance #flowers1-in,
|
||||
#tetsuohana.dance #flowers2-in{
|
||||
animation: 0.25s 0.4s step-end tetsuohana-flowers both;
|
||||
}
|
||||
#tetsuohana.dance2 #flowers1-in,
|
||||
#tetsuohana.dance2 #flowers2-in{
|
||||
background-position-y: calc(-318px * var(--scale));
|
||||
}
|
||||
#tetsuohana.dance #mikoshi-out{
|
||||
animation: 0.4s 0.4s ease-out tetsuohana-mikoshi both;
|
||||
}
|
||||
#tetsuohana.dance #mikoshi{
|
||||
transform: translateY(var(--low));
|
||||
animation: 0.5s 0.8s ease-out tetsuohana-dance infinite forwards;
|
||||
}
|
||||
#tetsuohana.dance #mikoshi-in{
|
||||
transform: translateY(0);
|
||||
animation: 0.5s 0.8s ease-out tetsuohana-dance infinite forwards reverse;
|
||||
}
|
||||
#tetsuohana.dance2 #mikoshi{
|
||||
transform: translateY(var(--low));
|
||||
animation: 0.5s -0.2s ease-out tetsuohana-dance infinite forwards;
|
||||
}
|
||||
#tetsuohana.dance2 #mikoshi-in{
|
||||
transform: translateY(0);
|
||||
animation: 0.5s -0.2s ease-out tetsuohana-dance infinite forwards reverse;
|
||||
}
|
||||
#tetsuohana.failed #tetsuo,
|
||||
#tetsuohana.failed #hana{
|
||||
--frame: 2;
|
||||
top: calc(26px * var(--scale));
|
||||
transform: translateY(calc(46px * var(--scale)));
|
||||
animation: 1.25s ease-out tetsuohana-failed1 forwards infinite;
|
||||
}
|
||||
#tetsuohana.failed #tetsuo-in,
|
||||
#tetsuohana.failed #hana-in{
|
||||
transform: translateY(0);
|
||||
animation: 1.25s ease-in tetsuohana-failed2 forwards infinite;
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
@keyframes toggleFade{
|
||||
40%{
|
||||
opacity: 1;
|
||||
}
|
||||
70%{
|
||||
opacity: 0.2;
|
||||
}
|
||||
}
|
||||
#title-screen{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #1389f0;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
cursor: pointer;
|
||||
}
|
||||
#logo{
|
||||
width: 100vmin;
|
||||
height: calc(100vmin / 1170 * 390);
|
||||
}
|
||||
.click-to-continue{
|
||||
position: absolute;
|
||||
bottom: 15%;
|
||||
color: #fff;
|
||||
font-size: 8vmin;
|
||||
text-align: center;
|
||||
z-index: 1;
|
||||
animation: toggleFade 2s infinite ease-in-out;
|
||||
}
|
||||
.click-to-continue::before{
|
||||
-webkit-text-stroke: 0.25em #f00;
|
||||
filter: blur(0.3vmin);
|
||||
}
|
||||
#title-disclaimer {
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 5%;
|
||||
color: #fff;
|
||||
z-index: 1;
|
||||
}
|
||||
#title-disclaimer span {
|
||||
color: #fff;
|
||||
font-size: 2vmin;
|
||||
text-align: center;
|
||||
display: block;
|
||||
}
|
||||
#title-disclaimer span:before {
|
||||
left: initial;
|
||||
filter: blur(0.1vmin);
|
||||
}
|
||||
|
|
@ -0,0 +1,472 @@
|
|||
.view-outer{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-position: center;
|
||||
}
|
||||
.view{
|
||||
background: rgb(246, 234, 212);
|
||||
color: black;
|
||||
border: 0.25em black solid;
|
||||
border-radius: 0.5em;
|
||||
width: 800px;
|
||||
max-width: 40em;
|
||||
padding: 1em;
|
||||
margin: 1em;
|
||||
font-size: 21px;
|
||||
position: relative;
|
||||
}
|
||||
@media (max-width: 950px){
|
||||
.view-outer:not(.touch-enabled) .view{
|
||||
font-size: 3vmin;
|
||||
}
|
||||
}
|
||||
@media (max-height: 650px){
|
||||
.view-outer:not(.touch-enabled) .view{
|
||||
font-size: 3vmin;
|
||||
}
|
||||
}
|
||||
.touch-enabled .view{
|
||||
font-size: 3vmin;
|
||||
}
|
||||
.view-title{
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
color: white;
|
||||
top: -0.7em;
|
||||
font-size: 1.65em;
|
||||
}
|
||||
.view-content{
|
||||
margin: 0.7em 0;
|
||||
overflow-y: auto;
|
||||
max-height: calc(100vh - 14em);
|
||||
}
|
||||
kbd{
|
||||
font-family: inherit;
|
||||
padding: 0.1em 0.6em;
|
||||
border: 1px solid #ccc;
|
||||
font-size: 0.6em;
|
||||
background-color: #f7f7f7;
|
||||
color: #333;
|
||||
box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2), 0 0 0 2px #ffffff inset;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
line-height: 1.4;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.key-join{
|
||||
font-size: 0.6em;
|
||||
}
|
||||
.taibtn{
|
||||
display: inline-block;
|
||||
background: #f6ead4;
|
||||
padding: 0.4em 0.4em;
|
||||
border-radius: 0.5em;
|
||||
border: 0.1em rgba(218, 205, 178, 1) solid;
|
||||
cursor: pointer;
|
||||
font-size: 1.4em;
|
||||
box-sizing: border-box;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
}
|
||||
.view-end-button{
|
||||
float: right;
|
||||
padding: 0.4em 1.5em;
|
||||
font-weight: bold;
|
||||
border-color: #000;
|
||||
color: #000;
|
||||
z-index: 1;
|
||||
}
|
||||
.taibtn:hover,
|
||||
.taibtn.selected,
|
||||
.view-end-button:hover,
|
||||
.view-end-button.selected{
|
||||
position: relative;
|
||||
color: #fff;
|
||||
background: #ffb547;
|
||||
border-color: #fff;
|
||||
}
|
||||
.taibtn::before,
|
||||
.view-end-button::before{
|
||||
display: none;
|
||||
}
|
||||
.taibtn:hover::before,
|
||||
.taibtn.selected::before,
|
||||
.view-end-button:hover::before,
|
||||
.view-end-button.selected::before{
|
||||
display: block
|
||||
}
|
||||
.taibtn::before{
|
||||
padding-left: inherit;
|
||||
}
|
||||
.left-buttons{
|
||||
float: left;
|
||||
display: flex;
|
||||
}
|
||||
.left-buttons .taibtn{
|
||||
margin-right: 0.4em;
|
||||
}
|
||||
.center-buttons{
|
||||
margin: 1.5em 0;
|
||||
}
|
||||
.account-view .center-buttons{
|
||||
margin: 0.3em 0;
|
||||
}
|
||||
.center-buttons>div{
|
||||
text-align: center;
|
||||
margin: 0.2em 0;
|
||||
}
|
||||
.center-buttons .taibtn{
|
||||
margin: 0 0.2em;
|
||||
}
|
||||
.diag-txt textarea,
|
||||
.diag-txt iframe{
|
||||
width: 100%;
|
||||
height: 5em;
|
||||
font-size: inherit;
|
||||
resize: none;
|
||||
word-break: break-all;
|
||||
margin-bottom: 1em;
|
||||
background: #fff;
|
||||
border: 1px solid #a9a9a9;
|
||||
user-select: all;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.text-warn{
|
||||
color: #d00;
|
||||
}
|
||||
.link-btn a{
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
.nowrap{
|
||||
white-space: nowrap;
|
||||
}
|
||||
@keyframes border-pulse{
|
||||
0%{border-color: #ff0}
|
||||
50%{border-color: rgba(255, 255, 0, 0)}
|
||||
100%{border-color: #ff0}
|
||||
}
|
||||
@keyframes border-pulse2{
|
||||
0%{border-color: #e29e06}
|
||||
50%{border-color: rgba(226, 158, 6, 0)}
|
||||
100%{border-color: #e29e06}
|
||||
}
|
||||
.settings-outer{
|
||||
background-size: 50vh;
|
||||
}
|
||||
.setting-box{
|
||||
display: flex;
|
||||
height: 2em;
|
||||
margin-top: 1.2em;
|
||||
border: 0.25em solid #000;
|
||||
border-radius: 0.5em;
|
||||
padding: 0.3em;
|
||||
outline: none;
|
||||
color: #000;
|
||||
cursor: pointer;
|
||||
}
|
||||
.setting-box:first-child{
|
||||
margin-top: 0;
|
||||
}
|
||||
.view-content:not(:hover) .setting-box.selected,
|
||||
.setting-box:hover{
|
||||
background: #ffb547;
|
||||
animation: 2s linear border-pulse infinite;
|
||||
}
|
||||
.bold-fonts .setting-box{
|
||||
line-height: 1em;
|
||||
}
|
||||
.setting-name{
|
||||
position: relative;
|
||||
width: 50%;
|
||||
padding: 0.3em;
|
||||
font-size: 1.3em;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
.view-content:not(:hover) .setting-box.selected .setting-name,
|
||||
.setting-box:hover .setting-name,
|
||||
.setting-box:hover #gamepad-value{
|
||||
color: #fff;
|
||||
z-index: 0;
|
||||
}
|
||||
.setting-name::before{
|
||||
padding-left: 0.3em;
|
||||
}
|
||||
.setting-name::after{
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 40px;
|
||||
height: 100%;
|
||||
background-image: linear-gradient(90deg, rgba(246, 234, 212, 0), #f6ead4 90%);
|
||||
}
|
||||
.view-content:not(:hover) .setting-box.selected .setting-name::after,
|
||||
.setting-box:hover .setting-name::after{
|
||||
background-image: linear-gradient(90deg, rgba(255, 181, 71, 0), #ffb547 90%);
|
||||
}
|
||||
.setting-value{
|
||||
display: flex;
|
||||
background: #fff;
|
||||
width: 50%;
|
||||
border-radius: 0.2em;
|
||||
padding: 0.5em;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.setting-value.selected{
|
||||
width: calc(50% + 0.2em);
|
||||
margin: -0.1em;
|
||||
border: 0.2em solid #e29e06;
|
||||
padding: 0.4em;
|
||||
animation: 2s linear border-pulse2 infinite;
|
||||
}
|
||||
.setting-value>div{
|
||||
padding: 0 0.4em;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.shadow-outer{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
z-index: 1;
|
||||
}
|
||||
#settings-gamepad,
|
||||
#settings-latency,
|
||||
#customsongs-error{
|
||||
display: none;
|
||||
}
|
||||
#settings-gamepad .view{
|
||||
width: 29.9em;
|
||||
max-width: 100vw;
|
||||
}
|
||||
#settings-gamepad .setting-box{
|
||||
height: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
#gamepad-bg,
|
||||
#gamepad-buttons{
|
||||
background-size: 20.53em;
|
||||
}
|
||||
#gamepad-bg{
|
||||
position: relative;
|
||||
width: 20.53em;
|
||||
height: 11.83em;
|
||||
max-height: none;
|
||||
background-repeat: no-repeat;
|
||||
text-align: center;
|
||||
font-size: 1.4em;
|
||||
cursor: pointer;
|
||||
}
|
||||
#gamepad-buttons{
|
||||
position: absolute;
|
||||
left: 5.26em;
|
||||
top: 4.48em;
|
||||
width: 10.52em;
|
||||
height: 4.89em;
|
||||
background-position: 0 -11.87em;
|
||||
background-repeat: no-repeat;
|
||||
pointer-events: none;
|
||||
}
|
||||
#gamepad-value{
|
||||
position: relative;
|
||||
margin-top: 1em;
|
||||
}
|
||||
#gamepad-value::before{
|
||||
left: auto;
|
||||
}
|
||||
#settings-latency .view{
|
||||
width: 30em;
|
||||
}
|
||||
.setting-value{
|
||||
position: relative;
|
||||
}
|
||||
.setting-value:not(.selected) .latency-buttons{
|
||||
display: none;
|
||||
}
|
||||
.setting-value .latency-buttons{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.latency-buttons span{
|
||||
display: inline-block;
|
||||
width: 2em;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
background-color: #c3862a;
|
||||
color: #fff;
|
||||
line-height: 2em;
|
||||
outline: none;
|
||||
}
|
||||
.latency-buttons span:hover,
|
||||
.latency-buttons span:active{
|
||||
background-color: #946013;
|
||||
}
|
||||
.left-buttons .taibtn,
|
||||
.center-buttons .taibtn{
|
||||
z-index: 1;
|
||||
}
|
||||
.accountpass-form,
|
||||
.accountdel-form,
|
||||
.login-form{
|
||||
text-align: center;
|
||||
width: 80%;
|
||||
margin: auto;
|
||||
}
|
||||
.accountpass-form .accountpass-div,
|
||||
.accountdel-form .accountdel-div,
|
||||
.login-form .password2-div{
|
||||
display: none;
|
||||
}
|
||||
.account-view .displayname,
|
||||
.accountpass-form input[type=password],
|
||||
.accountdel-form input[type=password],
|
||||
.login-form input[type=text],
|
||||
.login-form input[type=password]{
|
||||
width: 100%;
|
||||
font-size: 1.4em;
|
||||
margin: 0.1em 0;
|
||||
padding: 0.3em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.accountpass-form input[type=password]{
|
||||
width: calc(100% / 3);
|
||||
}
|
||||
.accountpass-form input[type=password]::placeholder{
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.login-form input[type=checkbox]{
|
||||
transform: scale(1.4);
|
||||
}
|
||||
.account-view .displayname-hint,
|
||||
.login-form .username-hint,
|
||||
.login-form .password-hint,
|
||||
.login-form .remember-label{
|
||||
display: block;
|
||||
font-size: 1.1em;
|
||||
padding: 0.5em;
|
||||
}
|
||||
.login-form .remember-label{
|
||||
padding: 0.85em;
|
||||
}
|
||||
.account-view .save-btn{
|
||||
float: right;
|
||||
padding: 0.4em 1.5em;
|
||||
font-weight: bold;
|
||||
border-color: #000;
|
||||
color: #000;
|
||||
z-index: 1;
|
||||
}
|
||||
.account-view .view-end-button{
|
||||
margin-right: 0.4em;
|
||||
font-weight: normal;
|
||||
border-color: #dacdb2;
|
||||
color: #555;
|
||||
}
|
||||
.account-view .save-btn:hover,
|
||||
.account-view .save-btn.selected,
|
||||
.account-view .view-end-button:hover,
|
||||
.account-view .view-end-button.selected{
|
||||
color: #fff;
|
||||
border-color: #fff;
|
||||
}
|
||||
.account-view .displayname-div{
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.accountpass-form .accountpass-btn,
|
||||
.accountdel-form .accountdel-btn,
|
||||
.login-form .login-btn{
|
||||
z-index: 1;
|
||||
}
|
||||
.accountpass-form,
|
||||
.accountdel-form{
|
||||
margin: 0.3em auto;
|
||||
}
|
||||
.view-content .error-div{
|
||||
display: none;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
padding: 0.5em;
|
||||
font-size: 1.1em;
|
||||
color: #d00;
|
||||
}
|
||||
.customdon-div{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: right;
|
||||
}
|
||||
.customdon-canvas{
|
||||
width: 13em;
|
||||
cursor: pointer;
|
||||
}
|
||||
.customdon-div label{
|
||||
display: block;
|
||||
padding: 0.3em;
|
||||
}
|
||||
.customdon-div input[type="color"]{
|
||||
font-size: inherit;
|
||||
width: 2.6em;
|
||||
height: 1.6em;
|
||||
padding: 0 0.1em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.customdon-reset{
|
||||
width: 100%;
|
||||
font-family: inherit;
|
||||
font-size: 1em;
|
||||
padding: 0.2em;
|
||||
}
|
||||
#customsongs-error .view,
|
||||
#dropzone .view{
|
||||
width: 600px;
|
||||
}
|
||||
#dropzone{
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
#dropzone .view-content{
|
||||
font-size: 2em;
|
||||
text-align: center;
|
||||
}
|
||||
#dropzone.dragover{
|
||||
opacity: 1;
|
||||
}
|
||||
.plugin-browse-button{
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
#plugin-browse{
|
||||
position: absolute;
|
||||
font-size: inherit;
|
||||
top: -0.1em;
|
||||
left: -0.1em;
|
||||
right: -0.1em;
|
||||
bottom: -0.1em;
|
||||
border-radius: 0.5em;
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
#plugin-browse::-webkit-file-upload-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
@ -0,0 +1,253 @@
|
|||
class About{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(touchEnabled){
|
||||
this.touchEnabled = touchEnabled
|
||||
loader.changePage("about", true)
|
||||
cancelTouch = false
|
||||
|
||||
this.endButton = this.getElement("view-end-button")
|
||||
this.diagTxt = this.getElement("diag-txt")
|
||||
this.version = document.getElementById("version-link").href
|
||||
this.tutorialOuter = this.getElement("view-outer")
|
||||
if(touchEnabled){
|
||||
this.tutorialOuter.classList.add("touch-enabled")
|
||||
}
|
||||
this.linkIssues = document.getElementById("link-issues")
|
||||
this.linkEmail = document.getElementById("link-email")
|
||||
|
||||
var tutorialTitle = this.getElement("view-title")
|
||||
tutorialTitle.innerText = strings.aboutSimulator
|
||||
tutorialTitle.setAttribute("alt", strings.aboutSimulator)
|
||||
var tutorialContent = this.getElement("view-content")
|
||||
strings.about.bugReporting.forEach(string => {
|
||||
tutorialContent.appendChild(document.createTextNode(string))
|
||||
tutorialContent.appendChild(document.createElement("br"))
|
||||
})
|
||||
var span = document.createElement("span")
|
||||
span.classList.add("text-warn")
|
||||
span.innerText = strings.about.diagnosticWarning
|
||||
tutorialContent.appendChild(span)
|
||||
this.endButton.innerText = strings.tutorial.ok
|
||||
this.endButton.setAttribute("alt", strings.tutorial.ok)
|
||||
|
||||
this.items = []
|
||||
|
||||
this.getLink(this.linkIssues).innerText = strings.about.issues
|
||||
this.linkIssues.setAttribute("alt", strings.about.issues)
|
||||
var versionUrl = gameConfig._version.url
|
||||
this.getLink(this.linkIssues).href = versionUrl + "issues"
|
||||
this.items.push(this.linkIssues)
|
||||
|
||||
var contactEmail = gameConfig.email
|
||||
this.hasEmail = typeof contactEmail === "string"
|
||||
if(this.hasEmail){
|
||||
this.linkEmail.setAttribute("alt", contactEmail)
|
||||
this.getLink(this.linkEmail).href = "mailto:" + contactEmail
|
||||
this.getLink(this.linkEmail).innerText = contactEmail
|
||||
this.items.push(this.linkEmail)
|
||||
}else{
|
||||
this.linkEmail.parentNode.removeChild(this.linkEmail)
|
||||
}
|
||||
|
||||
pageEvents.add(this.linkIssues, ["click", "touchend"], this.linkButton.bind(this))
|
||||
if(this.hasEmail){
|
||||
pageEvents.add(this.linkEmail, ["click", "touchend"], this.linkButton.bind(this))
|
||||
}
|
||||
pageEvents.add(this.endButton, ["mousedown", "touchstart"], this.onEnd.bind(this))
|
||||
this.items.push(this.endButton)
|
||||
this.selected = this.items.length - 1
|
||||
|
||||
this.keyboard = new Keyboard({
|
||||
confirm: ["enter", "space", "don_l", "don_r"],
|
||||
previous: ["left", "up", "ka_l"],
|
||||
next: ["right", "down", "ka_r"],
|
||||
back: ["escape"]
|
||||
}, this.keyPressed.bind(this))
|
||||
this.gamepad = new Gamepad({
|
||||
"confirm": ["b", "ls", "rs"],
|
||||
"previous": ["u", "l", "lb", "lt", "lsu", "lsl"],
|
||||
"next": ["d", "r", "rb", "rt", "lsd", "lsr"],
|
||||
"back": ["start", "a"]
|
||||
}, this.keyPressed.bind(this))
|
||||
|
||||
pageEvents.send("about", this.addDiag())
|
||||
}
|
||||
getElement(name){
|
||||
return loader.screen.getElementsByClassName(name)[0]
|
||||
}
|
||||
keyPressed(pressed, name){
|
||||
if(!pressed){
|
||||
return
|
||||
}
|
||||
var selected = this.items[this.selected]
|
||||
if(name === "confirm"){
|
||||
if(selected === this.endButton){
|
||||
this.onEnd()
|
||||
}else{
|
||||
this.getLink(selected).click()
|
||||
pageEvents.send("about-link", selected)
|
||||
assets.sounds["se_don"].play()
|
||||
}
|
||||
}else if(name === "previous" || name === "next"){
|
||||
selected.classList.remove("selected")
|
||||
this.selected = this.mod(this.items.length, this.selected + (name === "next" ? 1 : -1))
|
||||
this.items[this.selected].classList.add("selected")
|
||||
assets.sounds["se_ka"].play()
|
||||
}else if(name === "back"){
|
||||
this.onEnd()
|
||||
}
|
||||
}
|
||||
mod(length, index){
|
||||
return ((index % length) + length) % length
|
||||
}
|
||||
onEnd(event){
|
||||
var touched = false
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
touched = true
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
this.clean()
|
||||
assets.sounds["se_don"].play()
|
||||
localStorage.setItem("tutorial", "true")
|
||||
setTimeout(() => {
|
||||
new SongSelect("about", false, touched)
|
||||
}, 500)
|
||||
}
|
||||
addDiag(){
|
||||
var diag = []
|
||||
|
||||
diag.push("```")
|
||||
diag.push("Taiko-Web version: " + this.version)
|
||||
diag.push("URL: " + location.href)
|
||||
diag.push("User agent: " + navigator.userAgent)
|
||||
diag.push("Screen size: " + innerWidth + "x" + innerHeight + ", outer: " + outerWidth + "x" + outerHeight + ", ratio: " + (window.devicePixelRatio || 1).toFixed(2))
|
||||
if(this.touchEnabled){
|
||||
diag.push("Touch enabled: true")
|
||||
}
|
||||
if(!fullScreenSupported){
|
||||
diag.push("Full screen supported: false")
|
||||
}
|
||||
diag.push("Blur performance: " + perf.blur + "ms, all images: " + perf.allImg + "ms")
|
||||
diag.push("Page load: " + (perf.load / 1000).toFixed(1) + "s")
|
||||
if("getGamepads" in navigator){
|
||||
var gamepads = navigator.getGamepads()
|
||||
for(var i = 0; i < gamepads.length; i++){
|
||||
if(gamepads[i]){
|
||||
var gamepadDiag = []
|
||||
gamepadDiag.push(gamepads[i].id)
|
||||
gamepadDiag.push("buttons: " + gamepads[i].buttons.length)
|
||||
gamepadDiag.push("axes: " + gamepads[i].axes.length)
|
||||
diag.push("Gamepad #" + (i + 1) + ": " + gamepadDiag.join(", "))
|
||||
}
|
||||
}
|
||||
}
|
||||
var userLangStr = " (none)"
|
||||
if("languages" in navigator){
|
||||
var userLang = navigator.languages.slice()
|
||||
if(userLang[0] !== navigator.language){
|
||||
userLang.unshift(navigator.language)
|
||||
}
|
||||
if(userLang.length !== 0){
|
||||
userLangStr = " (" + userLang.join(", ") + ")"
|
||||
}
|
||||
}
|
||||
diag.push("Language: " + strings.id + userLangStr)
|
||||
var latency = settings.getItem("latency")
|
||||
diag.push("Audio Latency: " + (latency.audio > 0 ? "+" : "") + latency.audio.toString() + "ms, Video Latency: " + (latency.video > 0 ? "+" : "") + latency.video.toString() + "ms")
|
||||
var pluginList = plugins.allPlugins.map(pluginLoader => {
|
||||
return (pluginLoader.plugin.module && pluginLoader.plugin.module.name || pluginLoader.name) + (pluginLoader.plugin.started ? " (started)" : "")
|
||||
})
|
||||
diag.push("Plugins: " + pluginList.join(", "))
|
||||
var errorObj = {}
|
||||
if(localStorage["lastError"]){
|
||||
try{
|
||||
errorObj = JSON.parse(localStorage["lastError"])
|
||||
}catch(e){}
|
||||
}
|
||||
if(errorObj.timestamp && errorObj.stack){
|
||||
if(errorObj.timestamp + 1000 * 60 * 60 * 24 > Date.now()){
|
||||
diag.push("Last error: " + errorObj.stack)
|
||||
diag.push("Error date: " + new Date(errorObj.timestamp).toGMTString())
|
||||
}else{
|
||||
localStorage.removeItem("lastError")
|
||||
}
|
||||
}
|
||||
diag.push("```")
|
||||
var diag = diag.join("\n")
|
||||
|
||||
if(navigator.userAgent.indexOf("Android") >= 0){
|
||||
var iframe = document.createElement("iframe")
|
||||
this.diagTxt.appendChild(iframe)
|
||||
var body = iframe.contentWindow.document.body
|
||||
body.innerText = diag
|
||||
|
||||
body.setAttribute("style", `
|
||||
font-family: monospace;
|
||||
margin: 2px 0 0 2px;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
cursor: text;
|
||||
`)
|
||||
body.setAttribute("onblur", `
|
||||
getSelection().removeAllRanges()
|
||||
`)
|
||||
}else{
|
||||
this.textarea = document.createElement("textarea")
|
||||
this.textarea.readOnly = true
|
||||
this.textarea.value = diag
|
||||
this.diagTxt.appendChild(this.textarea)
|
||||
if(!this.touchEnabled){
|
||||
pageEvents.add(this.textarea, "focus", () => {
|
||||
this.textarea.select()
|
||||
})
|
||||
pageEvents.add(this.textarea, "blur", () => {
|
||||
getSelection().removeAllRanges()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var issueBody = strings.about.issueTemplate + "\n\n\n\n" + diag
|
||||
if(this.hasEmail){
|
||||
this.getLink(this.linkEmail).href += "?body=" + encodeURIComponent(issueBody.replace(/\n/g, "<br>\r\n"))
|
||||
}
|
||||
|
||||
return diag
|
||||
}
|
||||
getLink(target){
|
||||
return target.getElementsByTagName("a")[0]
|
||||
}
|
||||
linkButton(event){
|
||||
if(event.target === event.currentTarget){
|
||||
this.getLink(event.currentTarget).click()
|
||||
pageEvents.send("about-link", event.currentTarget)
|
||||
assets.sounds["se_don"].play()
|
||||
}
|
||||
}
|
||||
clean(){
|
||||
cancelTouch = true
|
||||
this.keyboard.clean()
|
||||
this.gamepad.clean()
|
||||
pageEvents.remove(this.linkIssues, ["click", "touchend"])
|
||||
if(this.hasEmail){
|
||||
pageEvents.remove(this.linkEmail, ["click", "touchend"])
|
||||
}
|
||||
pageEvents.remove(this.endButton, ["mousedown", "touchstart"])
|
||||
if(this.textarea){
|
||||
pageEvents.remove(this.textarea, ["focus", "blur"])
|
||||
}
|
||||
pageEvents.keyRemove(this, "all")
|
||||
delete this.endButton
|
||||
delete this.diagTxt
|
||||
delete this.version
|
||||
delete this.tutorialOuter
|
||||
delete this.linkIssues
|
||||
delete this.linkEmail
|
||||
delete this.textarea
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,151 @@
|
|||
function readFile(file, arrayBuffer, encoding){
|
||||
var reader = new FileReader()
|
||||
var promise = pageEvents.load(reader).then(event => event.target.result)
|
||||
reader[arrayBuffer ? "readAsArrayBuffer" : "readAsText"](file, encoding)
|
||||
return promise
|
||||
}
|
||||
function filePermission(file){
|
||||
return file.queryPermission().then(response => {
|
||||
if(response === "granted"){
|
||||
return file
|
||||
}else{
|
||||
return file.requestPermission().then(response => {
|
||||
if(response === "granted"){
|
||||
return file
|
||||
}else{
|
||||
return Promise.reject(strings.accessNotGrantedError)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
class RemoteFile{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(url){
|
||||
this.url = url
|
||||
try{
|
||||
this.path = new URL(url).pathname
|
||||
}catch(e){
|
||||
this.path = url
|
||||
}
|
||||
if(this.path.startsWith("/")){
|
||||
this.path = this.path.slice(1)
|
||||
}
|
||||
if(this.url.startsWith("data:")){
|
||||
this.name = "datauri"
|
||||
if(this.url.startsWith("data:audio/ogg")){
|
||||
this.name += ".ogg"
|
||||
}
|
||||
}else{
|
||||
this.name = this.path
|
||||
var index = this.name.lastIndexOf("/")
|
||||
if(index !== -1){
|
||||
this.name = this.name.slice(index + 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
arrayBuffer(){
|
||||
return loader.ajax(this.url, request => {
|
||||
request.responseType = "arraybuffer"
|
||||
})
|
||||
}
|
||||
read(encoding){
|
||||
if(encoding){
|
||||
return this.blob().then(blob => readFile(blob, false, encoding))
|
||||
}else{
|
||||
return loader.ajax(this.url)
|
||||
}
|
||||
}
|
||||
blob(){
|
||||
return loader.ajax(this.url, request => {
|
||||
request.responseType = "blob"
|
||||
})
|
||||
}
|
||||
}
|
||||
class LocalFile{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(file, path){
|
||||
this.file = file
|
||||
this.path = path || file.webkitRelativePath
|
||||
this.url = this.path
|
||||
this.name = file.name
|
||||
}
|
||||
arrayBuffer(){
|
||||
return readFile(this.file, true)
|
||||
}
|
||||
read(encoding){
|
||||
return readFile(this.file, false, encoding)
|
||||
}
|
||||
blob(){
|
||||
return Promise.resolve(this.file)
|
||||
}
|
||||
}
|
||||
class FilesystemFile{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(file, path){
|
||||
this.file = file
|
||||
this.path = path
|
||||
this.url = this.path
|
||||
this.name = file.name
|
||||
}
|
||||
arrayBuffer(){
|
||||
return this.blob().then(blob => blob.arrayBuffer())
|
||||
}
|
||||
read(encoding){
|
||||
return this.blob().then(blob => readFile(blob, false, encoding))
|
||||
}
|
||||
blob(){
|
||||
return filePermission(this.file).then(file => file.getFile())
|
||||
}
|
||||
}
|
||||
class GdriveFile{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(fileObj){
|
||||
this.path = fileObj.path
|
||||
this.name = fileObj.name
|
||||
this.id = fileObj.id
|
||||
this.url = gpicker.filesUrl + this.id + "?alt=media"
|
||||
}
|
||||
arrayBuffer(){
|
||||
return gpicker.downloadFile(this.id, "arraybuffer")
|
||||
}
|
||||
read(encoding){
|
||||
if(encoding){
|
||||
return this.blob().then(blob => readFile(blob, false, encoding))
|
||||
}else{
|
||||
return gpicker.downloadFile(this.id)
|
||||
}
|
||||
}
|
||||
blob(){
|
||||
return gpicker.downloadFile(this.id, "blob")
|
||||
}
|
||||
}
|
||||
class CachedFile{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(contents, oldFile){
|
||||
this.contents = contents
|
||||
this.oldFile = oldFile
|
||||
this.path = oldFile.path
|
||||
this.name = oldFile.name
|
||||
this.url = oldFile.url
|
||||
}
|
||||
arrayBuffer(){
|
||||
return Promise.resolve(this.contents)
|
||||
}
|
||||
read(encoding){
|
||||
return this.arrayBuffer()
|
||||
}
|
||||
blob(){
|
||||
return this.arrayBuffer()
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,682 @@
|
|||
class Account{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(touchEnabled){
|
||||
this.touchEnabled = touchEnabled
|
||||
cancelTouch = false
|
||||
this.locked = false
|
||||
|
||||
if(account.loggedIn){
|
||||
this.accountForm()
|
||||
}else{
|
||||
this.loginForm()
|
||||
}
|
||||
this.selected = this.items.length - 1
|
||||
|
||||
this.keyboard = new Keyboard({
|
||||
confirm: ["enter", "space", "don_l", "don_r"],
|
||||
previous: ["left", "up", "ka_l"],
|
||||
next: ["right", "down", "ka_r"],
|
||||
back: ["escape"]
|
||||
}, this.keyPressed.bind(this))
|
||||
this.gamepad = new Gamepad({
|
||||
"confirm": ["b", "ls", "rs"],
|
||||
"previous": ["u", "l", "lb", "lt", "lsu", "lsl"],
|
||||
"next": ["d", "r", "rb", "rt", "lsd", "lsr"],
|
||||
"back": ["start", "a"]
|
||||
}, this.keyPressed.bind(this))
|
||||
|
||||
pageEvents.send("account", account.loggedIn)
|
||||
}
|
||||
accountForm(){
|
||||
loader.changePage("account", true)
|
||||
this.mode = "account"
|
||||
|
||||
this.setAltText(this.getElement("view-title"), account.username)
|
||||
this.items = []
|
||||
this.inputForms = []
|
||||
this.shownDiv = ""
|
||||
|
||||
this.errorDiv = this.getElement("error-div")
|
||||
this.getElement("displayname-hint").innerText = strings.account.displayName
|
||||
this.displayname = this.getElement("displayname")
|
||||
this.displayname.placeholder = strings.account.displayName
|
||||
this.displayname.value = account.displayName
|
||||
this.inputForms.push(this.displayname)
|
||||
|
||||
this.redrawRunning = true
|
||||
this.redrawPaused = matchMedia("(prefers-reduced-motion: reduce)").matches
|
||||
this.redrawForce = true
|
||||
this.customdonRedrawBind = this.customdonRedraw.bind(this)
|
||||
this.start = new Date().getTime()
|
||||
this.frames = [
|
||||
0 ,0 ,0 ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,6 ,5 ,4 ,3 ,2 ,1 ,
|
||||
0 ,0 ,0 ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,6 ,5 ,4 ,3 ,2 ,1 ,
|
||||
0 ,0 ,0 ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,6 ,5 ,7 ,8 ,9 ,10,
|
||||
11,11,11,11,10,9 ,8 ,7 ,13,12,12,13,14,15,16,17
|
||||
]
|
||||
this.customdonCache = new CanvasCache()
|
||||
this.customdonCache.resize(723 * 2, 1858, 1)
|
||||
this.customdonCanvas = this.getElement("customdon-canvas")
|
||||
pageEvents.add(this.customdonCanvas, "click", this.customdonPause.bind(this))
|
||||
this.customdonCtx = this.customdonCanvas.getContext("2d")
|
||||
this.customdonBodyFill = this.getElement("customdon-bodyfill")
|
||||
this.customdonBodyFill.value = account.don.body_fill
|
||||
var parent = this.customdonBodyFill.parentNode
|
||||
parent.insertBefore(document.createTextNode(strings.account.customdon.bodyFill), parent.firstChild)
|
||||
pageEvents.add(this.customdonBodyFill, ["change", "input"], this.customdonChange.bind(this))
|
||||
this.customdonFaceFill = this.getElement("customdon-facefill")
|
||||
this.customdonFaceFill.value = account.don.face_fill
|
||||
var parent = this.customdonFaceFill.parentNode
|
||||
parent.insertBefore(document.createTextNode(strings.account.customdon.faceFill), parent.firstChild)
|
||||
pageEvents.add(this.customdonFaceFill, ["change", "input"], this.customdonChange.bind(this))
|
||||
this.customdonResetBtn = this.getElement("customdon-reset")
|
||||
this.customdonResetBtn.value = strings.account.customdon.reset
|
||||
pageEvents.add(this.customdonResetBtn, ["click", "touchstart"], this.customdonReset.bind(this))
|
||||
this.customdonChange()
|
||||
this.customdonRedraw()
|
||||
|
||||
this.accountPassButton = this.getElement("accountpass-btn")
|
||||
this.setAltText(this.accountPassButton, strings.account.changePassword)
|
||||
pageEvents.add(this.accountPassButton, ["click", "touchstart"], event => {
|
||||
this.showDiv(event, "pass")
|
||||
})
|
||||
this.accountPass = this.getElement("accountpass-form")
|
||||
for(var i = 0; i < this.accountPass.length; i++){
|
||||
this.accountPass[i].placeholder = strings.account.currentNewRepeat[i]
|
||||
this.inputForms.push(this.accountPass[i])
|
||||
}
|
||||
this.accountPassDiv = this.getElement("accountpass-div")
|
||||
|
||||
this.accountDelButton = this.getElement("accountdel-btn")
|
||||
this.setAltText(this.accountDelButton, strings.account.deleteAccount)
|
||||
pageEvents.add(this.accountDelButton, ["click", "touchstart"], event => {
|
||||
this.showDiv(event, "del")
|
||||
})
|
||||
this.accountDel = this.getElement("accountdel-form")
|
||||
this.accountDel.password.placeholder = strings.account.verifyPassword
|
||||
this.inputForms.push(this.accountDel.password)
|
||||
this.accountDelDiv = this.getElement("accountdel-div")
|
||||
|
||||
this.linkPrivacy = this.getElement("privacy-btn")
|
||||
this.setAltText(this.linkPrivacy, strings.account.privacy)
|
||||
pageEvents.add(this.linkPrivacy, ["mousedown", "touchstart"], this.openPrivacy.bind(this))
|
||||
this.items.push(this.linkPrivacy)
|
||||
|
||||
this.logoutButton = this.getElement("logout-btn")
|
||||
this.setAltText(this.logoutButton, strings.account.logout)
|
||||
pageEvents.add(this.logoutButton, ["mousedown", "touchstart"], this.onLogout.bind(this))
|
||||
this.items.push(this.logoutButton)
|
||||
|
||||
this.endButton = this.getElement("view-end-button")
|
||||
this.setAltText(this.endButton, strings.account.cancel)
|
||||
pageEvents.add(this.endButton, ["mousedown", "touchstart"], this.onEnd.bind(this))
|
||||
this.items.push(this.endButton)
|
||||
|
||||
this.saveButton = this.getElement("save-btn")
|
||||
this.setAltText(this.saveButton, strings.account.save)
|
||||
pageEvents.add(this.saveButton, ["mousedown", "touchstart"], this.onSave.bind(this))
|
||||
this.items.push(this.saveButton)
|
||||
|
||||
for(var i = 0; i < this.inputForms.length; i++){
|
||||
pageEvents.add(this.inputForms[i], ["keydown", "keyup", "keypress"], this.onFormPress.bind(this))
|
||||
}
|
||||
}
|
||||
customdonPause(){
|
||||
this.redrawPaused = !this.redrawPaused
|
||||
this.redrawForce = true
|
||||
this.start = new Date().getTime()
|
||||
}
|
||||
customdonChange(){
|
||||
var ctx = this.customdonCtx
|
||||
this.customdonCache.clear()
|
||||
var w = 722
|
||||
var h = 1858
|
||||
this.customdonCache.set({
|
||||
w: w, h: h, id: "bodyFill"
|
||||
}, ctx => {
|
||||
ctx.drawImage(assets.image["don_anim_normal_b1"], 0, 0)
|
||||
ctx.globalCompositeOperation = "source-atop"
|
||||
ctx.fillStyle = this.customdonBodyFill.value
|
||||
ctx.fillRect(0, 0, w, h)
|
||||
})
|
||||
this.customdonCache.set({
|
||||
w: w, h: h, id: "faceFill"
|
||||
}, ctx => {
|
||||
ctx.drawImage(assets.image["don_anim_normal_b2"], 0, 0)
|
||||
ctx.globalCompositeOperation = "source-atop"
|
||||
ctx.fillStyle = this.customdonFaceFill.value
|
||||
ctx.fillRect(0, 0, w, h)
|
||||
|
||||
ctx.globalCompositeOperation = "source-over"
|
||||
this.customdonCache.get({
|
||||
ctx: ctx,
|
||||
x: 0, y: 0, w: w, h: h,
|
||||
id: "bodyFill"
|
||||
})
|
||||
})
|
||||
this.redrawForce = true
|
||||
}
|
||||
customdonReset(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}
|
||||
this.customdonBodyFill.value = defaultDon.body_fill
|
||||
this.customdonFaceFill.value = defaultDon.face_fill
|
||||
this.customdonChange()
|
||||
}
|
||||
customdonRedraw(){
|
||||
if(!this.redrawRunning){
|
||||
return
|
||||
}
|
||||
requestAnimationFrame(this.customdonRedrawBind)
|
||||
if(!document.hasFocus() || this.redrawPaused && !this.redrawForce){
|
||||
return
|
||||
}
|
||||
var ms = new Date().getTime()
|
||||
var ctx = this.customdonCtx
|
||||
if(this.redrawPaused){
|
||||
var frame = 0
|
||||
}else{
|
||||
var frame = this.frames[Math.floor((ms - this.start) / 30) % this.frames.length]
|
||||
}
|
||||
var w = 360
|
||||
var h = 184
|
||||
var sx = Math.floor(frame / 10) * (w + 2)
|
||||
var sy = (frame % 10) * (h + 2)
|
||||
ctx.clearRect(0, 0, w, h)
|
||||
this.customdonCache.get({
|
||||
ctx: ctx,
|
||||
sx: sx, sy: sy, sw: w, sh: h,
|
||||
x: -26, y: 0, w: w, h: h,
|
||||
id: "faceFill"
|
||||
})
|
||||
ctx.drawImage(assets.image["don_anim_normal_a"],
|
||||
sx, sy, w, h,
|
||||
-26, 0, w, h
|
||||
)
|
||||
this.redrawForce = false
|
||||
}
|
||||
showDiv(event, div){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
var otherDiv = this.shownDiv && this.shownDiv !== div
|
||||
var display = this.shownDiv === div ? "" : "block"
|
||||
this.shownDiv = display ? div : ""
|
||||
switch(div){
|
||||
case "pass":
|
||||
if(otherDiv){
|
||||
this.accountDelDiv.style.display = ""
|
||||
}
|
||||
this.accountPassDiv.style.display = display
|
||||
break
|
||||
case "del":
|
||||
if(otherDiv){
|
||||
this.accountPassDiv.style.display = ""
|
||||
}
|
||||
this.accountDelDiv.style.display = display
|
||||
break
|
||||
}
|
||||
}
|
||||
loginForm(register, fromSwitch){
|
||||
loader.changePage("login", true)
|
||||
this.mode = register ? "register" : "login"
|
||||
|
||||
this.setAltText(this.getElement("view-title"), strings.account[this.mode])
|
||||
|
||||
this.errorDiv = this.getElement("error-div")
|
||||
this.items = []
|
||||
this.form = this.getElement("login-form")
|
||||
this.getElement("username-hint").innerText = strings.account.username
|
||||
this.form.username.placeholder = strings.account.enterUsername
|
||||
this.getElement("password-hint").innerText = strings.account.password
|
||||
this.form.password.placeholder = strings.account.enterPassword
|
||||
this.password2 = this.getElement("password2-div")
|
||||
this.remember = this.getElement("remember-div")
|
||||
this.getElement("remember-label").appendChild(document.createTextNode(strings.account.remember))
|
||||
this.loginButton = this.getElement("login-btn")
|
||||
this.registerButton = this.getElement("register-btn")
|
||||
|
||||
if(register){
|
||||
var pass2 = document.createElement("input")
|
||||
pass2.type = "password"
|
||||
pass2.name = "password2"
|
||||
pass2.required = true
|
||||
pass2.placeholder = strings.account.repeatPassword
|
||||
this.password2.appendChild(pass2)
|
||||
this.password2.style.display = "block"
|
||||
this.remember.style.display = "none"
|
||||
this.setAltText(this.loginButton, strings.account.registerAccount)
|
||||
this.setAltText(this.registerButton, strings.account.login)
|
||||
}else{
|
||||
this.setAltText(this.loginButton, strings.account.login)
|
||||
this.setAltText(this.registerButton, strings.account.register)
|
||||
}
|
||||
|
||||
pageEvents.add(this.form, "submit", this.onLogin.bind(this))
|
||||
pageEvents.add(this.loginButton, ["mousedown", "touchstart"], this.onLogin.bind(this))
|
||||
|
||||
pageEvents.add(this.registerButton, ["mousedown", "touchstart"], this.onSwitchMode.bind(this))
|
||||
this.items.push(this.registerButton)
|
||||
|
||||
this.linkPrivacy = this.getElement("privacy-btn")
|
||||
this.setAltText(this.linkPrivacy, strings.account.privacy)
|
||||
pageEvents.add(this.linkPrivacy, ["mousedown", "touchstart"], this.openPrivacy.bind(this))
|
||||
this.items.push(this.linkPrivacy)
|
||||
|
||||
if(!register){
|
||||
this.items.push(this.loginButton)
|
||||
}
|
||||
|
||||
for(var i = 0; i < this.form.length; i++){
|
||||
pageEvents.add(this.form[i], ["keydown", "keyup", "keypress"], this.onFormPress.bind(this))
|
||||
}
|
||||
|
||||
this.endButton = this.getElement("view-end-button")
|
||||
this.setAltText(this.endButton, strings.account.back)
|
||||
pageEvents.add(this.endButton, ["mousedown", "touchstart"], this.onEnd.bind(this))
|
||||
this.items.push(this.endButton)
|
||||
if(fromSwitch){
|
||||
this.selected = 0
|
||||
this.endButton.classList.remove("selected")
|
||||
this.registerButton.classList.add("selected")
|
||||
}
|
||||
}
|
||||
getElement(name){
|
||||
return loader.screen.getElementsByClassName(name)[0]
|
||||
}
|
||||
setAltText(element, text){
|
||||
element.innerText = text
|
||||
element.setAttribute("alt", text)
|
||||
}
|
||||
keyPressed(pressed, name){
|
||||
if(!pressed || this.locked){
|
||||
return
|
||||
}
|
||||
var selected = this.items[this.selected]
|
||||
if(name === "confirm"){
|
||||
if(selected === this.endButton){
|
||||
this.onEnd()
|
||||
}else if(selected === this.registerButton){
|
||||
this.onSwitchMode()
|
||||
}else if(selected === this.loginButton){
|
||||
this.onLogin()
|
||||
}else if(selected === this.linkPrivacy){
|
||||
assets.sounds["se_don"].play()
|
||||
this.openPrivacy()
|
||||
}
|
||||
}else if(name === "previous" || name === "next"){
|
||||
selected.classList.remove("selected")
|
||||
this.selected = this.mod(this.items.length, this.selected + (name === "next" ? 1 : -1))
|
||||
this.items[this.selected].classList.add("selected")
|
||||
if(this.items[this.selected] === this.linkPrivacy){
|
||||
this.items[this.selected].scrollIntoView()
|
||||
}
|
||||
assets.sounds["se_ka"].play()
|
||||
}else if(name === "back"){
|
||||
this.onEnd()
|
||||
}
|
||||
}
|
||||
mod(length, index){
|
||||
return ((index % length) + length) % length
|
||||
}
|
||||
onFormPress(event){
|
||||
event.stopPropagation()
|
||||
if(event.type === "keypress" && event.keyCode === 13){
|
||||
event.preventDefault()
|
||||
if(this.mode === "account"){
|
||||
this.onSave()
|
||||
}else{
|
||||
this.onLogin()
|
||||
}
|
||||
}
|
||||
}
|
||||
onSwitchMode(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
this.clean(true)
|
||||
this.loginForm(this.mode === "login", true)
|
||||
}
|
||||
onLogin(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
var obj = {
|
||||
username: this.form.username.value,
|
||||
password: this.form.password.value
|
||||
}
|
||||
if(!obj.username || !obj.password){
|
||||
this.error(strings.account.cannotBeEmpty.replace("%s", strings.account[!obj.username ? "username" : "password"]))
|
||||
return
|
||||
}
|
||||
if(this.mode === "login"){
|
||||
obj.remember = this.form.remember.checked
|
||||
}else{
|
||||
if(obj.password !== this.form.password2.value){
|
||||
this.error(strings.account.passwordsDoNotMatch)
|
||||
return
|
||||
}
|
||||
}
|
||||
this.request(this.mode, obj).then(response => {
|
||||
account.loggedIn = true
|
||||
account.username = response.username
|
||||
account.displayName = response.display_name
|
||||
account.don = response.don
|
||||
var loadScores = scores => {
|
||||
scoreStorage.load(scores)
|
||||
this.onEnd(false, true, true)
|
||||
pageEvents.send("login", account.username)
|
||||
}
|
||||
if(this.mode === "login"){
|
||||
this.request("scores/get", false, true).then(response => {
|
||||
loadScores(response.scores)
|
||||
}, () => {
|
||||
loadScores({})
|
||||
})
|
||||
}else{
|
||||
scoreStorage.save().catch(() => {}).finally(() => {
|
||||
this.onEnd(false, true, true)
|
||||
pageEvents.send("login", account.username)
|
||||
})
|
||||
}
|
||||
}, response => {
|
||||
if(response && response.status === "error" && response.message){
|
||||
if(response.message in strings.serverError){
|
||||
this.error(strings.serverError[response.message])
|
||||
}else{
|
||||
this.error(response.message)
|
||||
}
|
||||
}else{
|
||||
this.error(strings.account.error)
|
||||
}
|
||||
})
|
||||
}
|
||||
openPrivacy(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
open("privacy")
|
||||
}
|
||||
onLogout(){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
account.loggedIn = false
|
||||
delete account.username
|
||||
delete account.displayName
|
||||
delete account.don
|
||||
var loadScores = () => {
|
||||
scoreStorage.load()
|
||||
this.onEnd(false, true)
|
||||
pageEvents.send("logout")
|
||||
}
|
||||
this.request("logout").then(loadScores, loadScores)
|
||||
}
|
||||
onSave(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
this.clearError()
|
||||
var promises = []
|
||||
var noNameChange = false
|
||||
if(this.shownDiv === "pass"){
|
||||
var passwords = []
|
||||
for(var i = 0; i < this.accountPass.length; i++){
|
||||
passwords.push(this.accountPass[i].value)
|
||||
}
|
||||
if(passwords[1] === passwords[2]){
|
||||
promises.push(this.request("account/password", {
|
||||
current_password: passwords[0],
|
||||
new_password: passwords[1]
|
||||
}))
|
||||
}else{
|
||||
this.error(strings.account.newPasswordsDoNotMatch)
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.shownDiv === "del" && this.accountDel.password.value){
|
||||
noNameChange = true
|
||||
promises.push(this.request("account/remove", {
|
||||
password: this.accountDel.password.value
|
||||
}).then(() => {
|
||||
account.loggedIn = false
|
||||
delete account.username
|
||||
delete account.displayName
|
||||
delete account.don
|
||||
scoreStorage.load()
|
||||
pageEvents.send("logout")
|
||||
return Promise.resolve
|
||||
}))
|
||||
}
|
||||
var newName = this.displayname.value.trim()
|
||||
if(!noNameChange && newName !== account.displayName){
|
||||
promises.push(this.request("account/display_name", {
|
||||
display_name: newName
|
||||
}).then(response => {
|
||||
account.displayName = response.display_name
|
||||
}))
|
||||
}
|
||||
var bodyFill = this.customdonBodyFill.value
|
||||
var faceFill = this.customdonFaceFill.value
|
||||
if(!noNameChange && (bodyFill !== account.body_fill || this.customdonFaceFill.value !== account.face_fill)){
|
||||
promises.push(this.request("account/don", {
|
||||
body_fill: bodyFill,
|
||||
face_fill: faceFill
|
||||
}).then(response => {
|
||||
account.don = response.don
|
||||
}))
|
||||
}
|
||||
var error = false
|
||||
var errorFunc = response => {
|
||||
if(error){
|
||||
return
|
||||
}
|
||||
if(response && response.message){
|
||||
if(response.message in strings.serverError){
|
||||
this.error(strings.serverError[response.message])
|
||||
}else{
|
||||
this.error(response.message)
|
||||
}
|
||||
}else{
|
||||
this.error(strings.account.error)
|
||||
}
|
||||
}
|
||||
Promise.all(promises).then(() => {
|
||||
this.onEnd(false, true)
|
||||
}, errorFunc).catch(errorFunc)
|
||||
}
|
||||
onEnd(event, noSound, noReset){
|
||||
var touched = false
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
touched = true
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
this.clean(false, noReset)
|
||||
assets.sounds["se_don"].play()
|
||||
setTimeout(() => {
|
||||
new SongSelect(false, false, touched)
|
||||
}, 500)
|
||||
}
|
||||
request(url, obj, get){
|
||||
this.lock(true)
|
||||
var doRequest = token => {
|
||||
return new Promise((resolve, reject) => {
|
||||
var request = new XMLHttpRequest()
|
||||
request.open(get ? "GET" : "POST", "api/" + url)
|
||||
pageEvents.load(request).then(() => {
|
||||
this.lock(false)
|
||||
if(request.status !== 200){
|
||||
reject()
|
||||
return
|
||||
}
|
||||
try{
|
||||
var json = JSON.parse(request.response)
|
||||
}catch(e){
|
||||
reject()
|
||||
return
|
||||
}
|
||||
if(json.status === "ok"){
|
||||
resolve(json)
|
||||
}else{
|
||||
reject(json)
|
||||
}
|
||||
}, () => {
|
||||
this.lock(false)
|
||||
reject()
|
||||
})
|
||||
if(!get){
|
||||
request.setRequestHeader("X-CSRFToken", token)
|
||||
}
|
||||
if(obj){
|
||||
request.setRequestHeader("Content-Type", "application/json;charset=UTF-8")
|
||||
request.send(JSON.stringify(obj))
|
||||
}else{
|
||||
request.send()
|
||||
}
|
||||
})
|
||||
}
|
||||
if(get){
|
||||
return doRequest()
|
||||
}else{
|
||||
return loader.getCsrfToken().then(doRequest)
|
||||
}
|
||||
}
|
||||
lock(isLocked){
|
||||
this.locked = isLocked
|
||||
if(this.mode === "login" || this.mode === "register"){
|
||||
for(var i = 0; i < this.form.length; i++){
|
||||
this.form[i].disabled = isLocked
|
||||
}
|
||||
}else if(this.mode === "account"){
|
||||
for(var i = 0; i < this.inputForms.length; i++){
|
||||
this.inputForms[i].disabled = isLocked
|
||||
}
|
||||
}
|
||||
}
|
||||
error(text){
|
||||
this.errorDiv.innerText = text
|
||||
this.errorDiv.style.display = "block"
|
||||
}
|
||||
clearError(){
|
||||
this.errorDiv.innerText = ""
|
||||
this.errorDiv.style.display = ""
|
||||
}
|
||||
clean(eventsOnly, noReset){
|
||||
if(!eventsOnly){
|
||||
cancelTouch = true
|
||||
this.keyboard.clean()
|
||||
this.gamepad.clean()
|
||||
}
|
||||
if(this.mode === "account"){
|
||||
if(!noReset){
|
||||
this.accountPass.reset()
|
||||
this.accountDel.reset()
|
||||
}
|
||||
this.redrawRunning = false
|
||||
this.customdonCache.clean()
|
||||
pageEvents.remove(this.customdonCanvas, "click")
|
||||
pageEvents.remove(this.customdonBodyFill, ["change", "input"])
|
||||
pageEvents.remove(this.customdonFaceFill, ["change", "input"])
|
||||
pageEvents.remove(this.customdonResetBtn, ["click", "touchstart"])
|
||||
pageEvents.remove(this.accounPassButton, ["click", "touchstart"])
|
||||
pageEvents.remove(this.accountDelButton, ["click", "touchstart"])
|
||||
pageEvents.remove(this.linkPrivacy, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.logoutButton, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.saveButton, ["mousedown", "touchstart"])
|
||||
for(var i = 0; i < this.inputForms.length; i++){
|
||||
pageEvents.remove(this.inputForms[i], ["keydown", "keyup", "keypress"])
|
||||
}
|
||||
delete this.errorDiv
|
||||
delete this.displayname
|
||||
delete this.frames
|
||||
delete this.customdonCanvas
|
||||
delete this.customdonCtx
|
||||
delete this.customdonBodyFill
|
||||
delete this.customdonFaceFill
|
||||
delete this.customdonResetBtn
|
||||
delete this.accountPassButton
|
||||
delete this.accountPass
|
||||
delete this.accountPassDiv
|
||||
delete this.accountDelButton
|
||||
delete this.accountDel
|
||||
delete this.accountDelDiv
|
||||
delete this.linkPrivacy
|
||||
delete this.logoutButton
|
||||
delete this.saveButton
|
||||
delete this.inputForms
|
||||
}else if(this.mode === "login" || this.mode === "register"){
|
||||
if(!eventsOnly && !noReset){
|
||||
this.form.reset()
|
||||
}
|
||||
pageEvents.remove(this.form, "submit")
|
||||
pageEvents.remove(this.loginButton, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.registerButton, ["mousedown", "touchstart"])
|
||||
for(var i = 0; i < this.form.length; i++){
|
||||
pageEvents.remove(this.registerButton, ["keydown", "keyup", "keypress"])
|
||||
}
|
||||
pageEvents.remove(this.linkPrivacy, ["mousedown", "touchstart"])
|
||||
delete this.errorDiv
|
||||
delete this.form
|
||||
delete this.password2
|
||||
delete this.remember
|
||||
delete this.loginButton
|
||||
delete this.registerButton
|
||||
delete this.linkPrivacy
|
||||
}
|
||||
pageEvents.remove(this.endButton, ["mousedown", "touchstart"])
|
||||
delete this.endButton
|
||||
delete this.items
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
var assets = {
|
||||
"js": [
|
||||
"lib/md5.min.js",
|
||||
"lib/fuzzysort.js",
|
||||
"loadsong.js",
|
||||
"parseosu.js",
|
||||
"titlescreen.js",
|
||||
"scoresheet.js",
|
||||
"songselect.js",
|
||||
"keyboard.js",
|
||||
"gameinput.js",
|
||||
"game.js",
|
||||
"controller.js",
|
||||
"circle.js",
|
||||
"view.js",
|
||||
"mekadon.js",
|
||||
"gamepad.js",
|
||||
"tutorial.js",
|
||||
"soundbuffer.js",
|
||||
"p2.js",
|
||||
"canvasasset.js",
|
||||
"viewassets.js",
|
||||
"gamerules.js",
|
||||
"canvasdraw.js",
|
||||
"canvastest.js",
|
||||
"canvascache.js",
|
||||
"parsetja.js",
|
||||
"autoscore.js",
|
||||
"about.js",
|
||||
"debug.js",
|
||||
"session.js",
|
||||
"importsongs.js",
|
||||
"logo.js",
|
||||
"settings.js",
|
||||
"scorestorage.js",
|
||||
"account.js",
|
||||
"lyrics.js",
|
||||
"customsongs.js",
|
||||
"abstractfile.js",
|
||||
"idb.js",
|
||||
"plugins.js",
|
||||
"search.js"
|
||||
],
|
||||
"css": [
|
||||
"main.css",
|
||||
"titlescreen.css",
|
||||
"loadsong.css",
|
||||
"game.css",
|
||||
"debug.css",
|
||||
"songbg.css",
|
||||
"view.css",
|
||||
"search.css"
|
||||
],
|
||||
"img": [
|
||||
"notes.png",
|
||||
"notes_drumroll.png",
|
||||
"notes_hit.png",
|
||||
"notes_explosion.png",
|
||||
"balloon.png",
|
||||
"taiko.png",
|
||||
"don_anim_normal_a.png",
|
||||
"don_anim_normal_b1.png",
|
||||
"don_anim_normal_b2.png",
|
||||
"don_anim_10combo_a.png",
|
||||
"don_anim_10combo_b1.png",
|
||||
"don_anim_10combo_b2.png",
|
||||
"don_anim_gogo_a.png",
|
||||
"don_anim_gogo_b1.png",
|
||||
"don_anim_gogo_b2.png",
|
||||
"don_anim_gogostart_a.png",
|
||||
"don_anim_gogostart_b1.png",
|
||||
"don_anim_gogostart_b2.png",
|
||||
"don_anim_clear_a.png",
|
||||
"don_anim_clear_b1.png",
|
||||
"don_anim_clear_b2.png",
|
||||
"fire_anim.png",
|
||||
"fireworks_anim.png",
|
||||
"bg_score_p1.png",
|
||||
"bg_score_p2.png",
|
||||
"bg_pause.png",
|
||||
"badge_auto.png",
|
||||
"mimizu.png"
|
||||
],
|
||||
"cssBackground": {
|
||||
"#title-screen": "title-screen.png",
|
||||
"#loading-don": "dancing-don.gif",
|
||||
".pattern-bg": "bg-pattern-1.png",
|
||||
".song-search-result-course::before": "difficulty.png",
|
||||
"#song-select": "bg_genre_def.png",
|
||||
".settings-outer": "bg_settings.png",
|
||||
"#touch-pause-btn": "touch_pause.png",
|
||||
"#touch-full-btn": "touch_fullscreen.png",
|
||||
"#gamepad-bg, #gamepad-buttons": "settings_gamepad.png",
|
||||
".song-search-result-crown": "crown.png",
|
||||
".song-search-tip-error": "miss.png",
|
||||
"#song-search": "bg_search.png"
|
||||
},
|
||||
"audioSfx": [
|
||||
"se_pause.ogg",
|
||||
"se_calibration.ogg",
|
||||
|
||||
"v_results.ogg",
|
||||
"v_sanka.ogg",
|
||||
"v_songsel.ogg",
|
||||
"v_start.ogg",
|
||||
"v_title.ogg"
|
||||
],
|
||||
"audioSfxLR": [
|
||||
"neiro_1_don.ogg",
|
||||
"neiro_1_ka.ogg",
|
||||
"se_cancel.ogg",
|
||||
"se_don.ogg",
|
||||
"se_ka.ogg",
|
||||
"se_jump.ogg",
|
||||
|
||||
"se_balloon.ogg",
|
||||
"se_gameclear.ogg",
|
||||
"se_gamefail.ogg",
|
||||
"se_gamefullcombo.ogg",
|
||||
"se_results_countup.ogg",
|
||||
"se_results_crown.ogg",
|
||||
|
||||
"v_fullcombo.ogg",
|
||||
"v_renda.ogg",
|
||||
"v_results_fullcombo.ogg",
|
||||
"v_results_fullcombo2.ogg"
|
||||
],
|
||||
"audioSfxLoud": [
|
||||
"v_diffsel.ogg"
|
||||
],
|
||||
"audioMusic": [
|
||||
"bgm_songsel.mp3",
|
||||
"bgm_result.mp3",
|
||||
"bgm_setsume.mp3",
|
||||
"bgm_settings.mp3"
|
||||
],
|
||||
"fonts": {
|
||||
"Kozuka": "Kozuka.otf",
|
||||
"TnT": "TnT.ttf"
|
||||
},
|
||||
"views": [
|
||||
"game.html",
|
||||
"loadsong.html",
|
||||
"songselect.html",
|
||||
"titlescreen.html",
|
||||
"tutorial.html",
|
||||
"about.html",
|
||||
"debug.html",
|
||||
"session.html",
|
||||
"settings.html",
|
||||
"account.html",
|
||||
"login.html",
|
||||
"customsongs.html",
|
||||
"search.html"
|
||||
],
|
||||
|
||||
"songs": [],
|
||||
"sounds": {},
|
||||
"image": {},
|
||||
"pages": {},
|
||||
"categories": []
|
||||
}
|
||||
|
||||
var gameConfig = {}
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
class AutoScore {
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(difficulty, level, scoremode, circles) {
|
||||
this.scoremode = scoremode;
|
||||
this.circles = circles;
|
||||
this.basic_max_score_list = {
|
||||
oni: [
|
||||
1200000,
|
||||
700000,
|
||||
750000,
|
||||
800000,
|
||||
850000,
|
||||
900000,
|
||||
950000,
|
||||
1000000,
|
||||
1050000,
|
||||
1100000,
|
||||
1200000
|
||||
],
|
||||
ura: [
|
||||
1200000,
|
||||
700000,
|
||||
750000,
|
||||
800000,
|
||||
850000,
|
||||
900000,
|
||||
950000,
|
||||
1000000,
|
||||
1050000,
|
||||
1100000,
|
||||
1200000
|
||||
],
|
||||
hard: [
|
||||
900000,
|
||||
550000,
|
||||
600000,
|
||||
650000,
|
||||
700000,
|
||||
750000,
|
||||
800000,
|
||||
850000,
|
||||
900000,
|
||||
],
|
||||
normal: [
|
||||
700000,
|
||||
400000,
|
||||
450000,
|
||||
500000,
|
||||
550000,
|
||||
600000,
|
||||
650000,
|
||||
700000,
|
||||
],
|
||||
easy: [
|
||||
380000,
|
||||
300000,
|
||||
320000,
|
||||
340000,
|
||||
360000,
|
||||
380000,
|
||||
]
|
||||
}
|
||||
if (this.GetMaxCombo() === 0) {
|
||||
this.ScoreDiff = 100;
|
||||
this.ScoreInit = 450;
|
||||
return;
|
||||
}
|
||||
const target = this.GetTargetScore(difficulty, level);
|
||||
this.Score = 0;
|
||||
this.ScoreDiff = 0;
|
||||
this.ScoreInit = 0;
|
||||
var max_init = this.GetMaxPossibleInit(target);
|
||||
var min_init = 0;
|
||||
while (true) {
|
||||
this.ScoreInit = (max_init + min_init) / 2;
|
||||
this.ScoreDiff = Math.round(this.ScoreInit / 4);
|
||||
this.Score = this.TryScore(this.ScoreInit, this.ScoreDiff);
|
||||
//console.log(min_init, max_init, this.ScoreInit, this.ScoreDiff, this.Score);
|
||||
if (this.ScoreInit === target) {
|
||||
this.ScoreInit = Math.floor(this.ScoreInit / 10) * 10;
|
||||
this.ScoreDiff = Math.round(this.ScoreInit / 4);
|
||||
this.Score = this.TryScore(this.ScoreInit, this.ScoreDiff);
|
||||
break;
|
||||
} else if (this.Score >= target) {
|
||||
max_init = this.ScoreInit;
|
||||
} else {
|
||||
min_init = this.ScoreInit;
|
||||
}
|
||||
if (max_init - min_init <= 10) {
|
||||
this.ScoreInit = Math.floor(this.ScoreInit / 10) * 10;
|
||||
this.ScoreDiff = Math.round(this.ScoreInit / 4);
|
||||
this.Score = this.TryScore(this.ScoreInit, this.ScoreDiff);
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (this.Score < target) {
|
||||
this.ScoreInit += 10;
|
||||
this.ScoreDiff = Math.round(this.ScoreInit / 4);
|
||||
this.Score = this.TryScore(this.ScoreInit, this.ScoreDiff);
|
||||
//console.log(this.ScoreInit, this.ScoreDiff, this.Score);
|
||||
}
|
||||
//console.log(this.ScoreInit, this.ScoreDiff, this.Score);
|
||||
}
|
||||
IsCommonCircle(circle) {
|
||||
const ty = circle.type;
|
||||
return ty === "don" || ty === "ka" || ty === "daiDon" || ty === "daiKa";
|
||||
}
|
||||
TryScore(init, diff) {
|
||||
var score = 0;
|
||||
var combo = 0;
|
||||
for (var circle of this.circles) {
|
||||
if (circle.branch && circle.branch.name !== "master") {
|
||||
continue;
|
||||
}
|
||||
if (this.IsCommonCircle(circle)) {
|
||||
combo++;
|
||||
if (combo % 100 === 0 && this.scoremode !== 1) {
|
||||
score += 10000;
|
||||
}
|
||||
}
|
||||
var diff_mul = 0;
|
||||
var multiplier = circle.gogoTime ? 1.2 : 1;
|
||||
if (this.scoremode === 1) {
|
||||
diff_mul = Math.max(0, Math.floor((Math.min(combo, 100) - 1) / 10));
|
||||
} else {
|
||||
if (combo >= 100) {
|
||||
diff_mul = 8;
|
||||
} else if (combo >= 50) {
|
||||
diff_mul = 4;
|
||||
} else if (combo >= 30) {
|
||||
diff_mul = 2;
|
||||
} else if (combo >= 10) {
|
||||
diff_mul = 1;
|
||||
}
|
||||
}
|
||||
switch (circle.type) {
|
||||
case "don":
|
||||
case "ka": {
|
||||
score += Math.floor((init + diff * diff_mul) * multiplier / 10) * 10;
|
||||
break;
|
||||
}
|
||||
case "daiDon":
|
||||
case "daiKa": {
|
||||
score += Math.floor((init + diff * diff_mul) * multiplier / 5) * 10;
|
||||
break;
|
||||
}
|
||||
case "balloon": {
|
||||
score += (5000 + 300 * circle.requiredHits) * multiplier;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return score;
|
||||
}
|
||||
GetTargetScore(difficulty, level) {
|
||||
//console.log(difficulty, level)
|
||||
var ret = this.basic_max_score_list[difficulty][level];
|
||||
if (!ret) {
|
||||
ret = this.basic_max_score_list[difficulty][0];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
GetMaxCombo() {
|
||||
var combo = 0;
|
||||
for (var circle of this.circles) {
|
||||
if (this.IsCommonCircle(circle) && (!circle.branch || circle.branch.name === "master")) {
|
||||
combo++;
|
||||
}
|
||||
}
|
||||
return combo;
|
||||
}
|
||||
GetMaxPossibleInit(target) {
|
||||
var basic_score = 0;
|
||||
if (this.scoremode !== 1) {
|
||||
const max_combo = this.GetMaxCombo();
|
||||
basic_score += Math.floor(max_combo / 100);
|
||||
}
|
||||
var combo = 0;
|
||||
for (var circle of this.circles) {
|
||||
if (circle.branch && circle.branch.name !== "master") {
|
||||
continue;
|
||||
}
|
||||
var multiplier = circle.gogoTime ? 1.2 : 1;
|
||||
switch (circle.type) {
|
||||
case "don":
|
||||
case "ka": {
|
||||
combo += (1 * multiplier);
|
||||
break;
|
||||
}
|
||||
case "daiDon":
|
||||
case "daiKa": {
|
||||
combo += (2 * multiplier);
|
||||
break;
|
||||
}
|
||||
case "balloon": {
|
||||
basic_score += (5000 + 300 * circle.requiredHits) * multiplier;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
combo = Math.floor(combo);
|
||||
return Math.ceil((target - basic_score) / combo / 10) * 10;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,203 @@
|
|||
function browserSupport(){
|
||||
var tests = {
|
||||
"Arrow function": function(){
|
||||
eval("()=>{}")
|
||||
return true
|
||||
},
|
||||
"AudioContext": function(){
|
||||
if("AudioContext" in window || "webkitAudioContext" in window){
|
||||
return typeof (window.AudioContext || window.webkitAudioContext) === "function"
|
||||
}
|
||||
return false
|
||||
},
|
||||
"Class": function(){
|
||||
eval("class a{}")
|
||||
return true
|
||||
},
|
||||
"Class field declarations": function(){
|
||||
eval("class a{a=1}")
|
||||
return true
|
||||
},
|
||||
"Array.find": function(){
|
||||
return "find" in Array.prototype && "findIndex" in Array.prototype
|
||||
},
|
||||
"Path2D SVG": function(){
|
||||
var canvas = document.createElement("canvas")
|
||||
canvas.width = 1
|
||||
canvas.height = 1
|
||||
var ctx = canvas.getContext("2d")
|
||||
var path = new Path2D("M0 0H1V1H0")
|
||||
ctx.fill(path)
|
||||
return ctx.getImageData(0, 0, 1, 1).data[3] !== 0
|
||||
},
|
||||
"Promise": function(){
|
||||
if("Promise" in window && "resolve" in window.Promise && "reject" in window.Promise && "all" in window.Promise && "race" in window.Promise){
|
||||
var resolve
|
||||
new window.Promise(function(r){resolve = r})
|
||||
return typeof resolve === "function"
|
||||
}
|
||||
return false
|
||||
},
|
||||
"CSS calc": function(){
|
||||
var el = document.createElement("a")
|
||||
el.style.width = "calc(1px)"
|
||||
return el.style.length !== 0
|
||||
},
|
||||
"let statement": function(){
|
||||
eval("let a")
|
||||
return true
|
||||
},
|
||||
"CSS custom property": function(){
|
||||
var el = document.createElement("a")
|
||||
el.style.setProperty("--a", 1)
|
||||
return el.style.length !== 0
|
||||
},
|
||||
"Font Loading API": function(){
|
||||
return typeof FontFace === "function"
|
||||
},
|
||||
"OGG or WebAssembly": function(){
|
||||
return new Audio().canPlayType("audio/ogg;codecs=vorbis") || "WebAssembly" in window
|
||||
},
|
||||
"KeyboardEvent.key": function(){
|
||||
return "key" in KeyboardEvent.prototype
|
||||
},
|
||||
"Module import": function(){
|
||||
eval("import('data:text/javascript,')")
|
||||
return true
|
||||
}
|
||||
}
|
||||
failedTests = []
|
||||
for(var name in tests){
|
||||
var result = false
|
||||
try{
|
||||
result = tests[name]()
|
||||
}catch(e){}
|
||||
if(result === false){
|
||||
failedTests.push(name)
|
||||
}
|
||||
}
|
||||
if(failedTests.length !== 0){
|
||||
showUnsupported()
|
||||
}
|
||||
}
|
||||
function showUnsupported(strings){
|
||||
if(!strings){
|
||||
var lang
|
||||
try{
|
||||
if("localStorage" in window && window.localStorage.lang && window.localStorage.lang in allStrings){
|
||||
lang = window.localStorage.lang
|
||||
}
|
||||
if(!lang && "languages" in navigator){
|
||||
var userLang = navigator.languages.slice()
|
||||
userLang.unshift(navigator.language)
|
||||
for(var i in userLang){
|
||||
for(var j in allStrings){
|
||||
if(allStrings[j].regex.test(userLang[i])){
|
||||
lang = j
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(e){}
|
||||
if(!lang){
|
||||
lang = "en"
|
||||
}
|
||||
strings = allStrings[lang]
|
||||
}
|
||||
|
||||
var div = document.getElementById("unsupportedBrowser")
|
||||
if(div){
|
||||
div.parentNode.removeChild(div)
|
||||
}
|
||||
div = document.createElement("div")
|
||||
div.id = "unsupportedBrowser"
|
||||
|
||||
var warn = document.createElement("div")
|
||||
warn.id = "unsupportedWarn"
|
||||
warn.innerText = "!"
|
||||
warn.textContent = "!"
|
||||
div.appendChild(warn)
|
||||
var hide = document.createElement("div")
|
||||
hide.id = "unsupportedHide"
|
||||
hide.innerText = "x"
|
||||
hide.textContent = "x"
|
||||
div.appendChild(hide)
|
||||
|
||||
var span = document.createElement("span")
|
||||
var browserWarning = strings.browserSupport.browserWarning.split("%s")
|
||||
for(var i = 0; i < browserWarning.length; i++){
|
||||
if(i !== 0){
|
||||
var link = document.createElement("a")
|
||||
link.innerText = strings.browserSupport.details
|
||||
link.textContent = strings.browserSupport.details
|
||||
span.appendChild(link)
|
||||
}
|
||||
span.appendChild(document.createTextNode(browserWarning[i]))
|
||||
}
|
||||
div.appendChild(span)
|
||||
|
||||
var details = document.createElement("div")
|
||||
details.id = "unsupportedDetails"
|
||||
details.appendChild(document.createTextNode(strings.browserSupport.failedTests))
|
||||
|
||||
var ul = document.createElement("ul")
|
||||
for(var i = 0; i < failedTests.length; i++){
|
||||
var li = document.createElement("li")
|
||||
li.innerText = failedTests[i]
|
||||
li.textContent = failedTests[i]
|
||||
ul.appendChild(li)
|
||||
}
|
||||
details.appendChild(ul)
|
||||
|
||||
var supportedBrowser = strings.browserSupport.supportedBrowser.split("%s")
|
||||
for(var i = 0; i < supportedBrowser.length; i++){
|
||||
if(i !== 0){
|
||||
var chrome = document.createElement("a")
|
||||
chrome.href = "https://www.google.com/chrome/"
|
||||
chrome.innerText = "Google Chrome"
|
||||
chrome.textContent = "Google Chrome"
|
||||
details.appendChild(chrome)
|
||||
}
|
||||
details.appendChild(document.createTextNode(supportedBrowser[i]))
|
||||
}
|
||||
|
||||
div.appendChild(details)
|
||||
|
||||
document.body.appendChild(div)
|
||||
var divClick = function(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
getSelection().removeAllRanges()
|
||||
}
|
||||
div.classList.remove("hidden")
|
||||
}
|
||||
div.addEventListener("click", divClick)
|
||||
div.addEventListener("touchstart", divClick)
|
||||
var toggleDetails = function(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}
|
||||
if(details.style.display === "block"){
|
||||
details.style.display = ""
|
||||
}else{
|
||||
details.style.display = "block"
|
||||
}
|
||||
}
|
||||
link.addEventListener("click", toggleDetails)
|
||||
link.addEventListener("touchstart", toggleDetails)
|
||||
var hideClick = function(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}
|
||||
event.stopPropagation()
|
||||
div.classList.add("hidden")
|
||||
}
|
||||
hide.addEventListener("click", hideClick)
|
||||
hide.addEventListener("touchstart", hideClick)
|
||||
chrome.addEventListener("touchend", function(event){
|
||||
event.preventDefault()
|
||||
chrome.click()
|
||||
})
|
||||
}
|
||||
var failedTests
|
||||
browserSupport()
|
||||
|
|
@ -0,0 +1,151 @@
|
|||
class CanvasAsset{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(view, layer, position){
|
||||
this.ctx = view.ctx
|
||||
this.view = view
|
||||
this.position = position
|
||||
this.animationFrames = {}
|
||||
this.speed = 1000 / 60
|
||||
this.animationStart = 0
|
||||
this.layer = layer
|
||||
this.beatInterval = 468.75
|
||||
}
|
||||
draw(){
|
||||
if(this.animation){
|
||||
var u = (a, b) => typeof a === "undefined" ? b : a
|
||||
var frame = 0
|
||||
var ms = this.view.getMS()
|
||||
var beatInterval = this.frameSpeed ? 1000 / 60 : this.beatInterval
|
||||
|
||||
if(this.animationEnd){
|
||||
if(ms > this.animationStart + this.animationEnd.frameCount * this.speed * beatInterval){
|
||||
this.animationEnd.callback()
|
||||
this.animationEnd = false
|
||||
return this.draw()
|
||||
}
|
||||
}
|
||||
var index = Math.floor((ms - this.animationStart) / (this.speed * beatInterval))
|
||||
if(Array.isArray(this.animation)){
|
||||
frame = this.animation[this.mod(this.animation.length, index)]
|
||||
}else{
|
||||
frame = this.mod(this.animation, index)
|
||||
}
|
||||
this.ctx.save()
|
||||
var pos = this.position(frame)
|
||||
if(this.image){
|
||||
this.ctx.drawImage(this.image,
|
||||
u(pos.sx, pos.x), u(pos.sy, pos.y),
|
||||
u(pos.sw, pos.w), u(pos.sh, pos.h),
|
||||
pos.x, pos.y, pos.w, pos.h
|
||||
)
|
||||
}
|
||||
this.ctx.restore()
|
||||
}
|
||||
}
|
||||
mod(length, index){
|
||||
return ((index % length) + length) % length
|
||||
}
|
||||
addFrames(name, frames, image, don){
|
||||
var framesObj = {
|
||||
frames: frames,
|
||||
don: don
|
||||
}
|
||||
if(don){
|
||||
var img = assets.image[image + "_a"]
|
||||
var cache1 = new CanvasCache()
|
||||
var cache2 = new CanvasCache()
|
||||
var w = img.width
|
||||
var h = img.height
|
||||
cache1.resize(w, h, 1)
|
||||
cache2.resize(w, h, 1)
|
||||
cache1.set({
|
||||
w: w, h: h, id: "1"
|
||||
}, ctx => {
|
||||
ctx.drawImage(assets.image[image + "_b1"], 0, 0)
|
||||
ctx.globalCompositeOperation = "source-atop"
|
||||
ctx.fillStyle = don.body_fill
|
||||
ctx.fillRect(0, 0, w, h)
|
||||
})
|
||||
cache2.set({
|
||||
w: w, h: h, id: "2"
|
||||
}, ctx => {
|
||||
ctx.drawImage(assets.image[image + "_b2"], 0, 0)
|
||||
ctx.globalCompositeOperation = "source-atop"
|
||||
ctx.fillStyle = don.face_fill
|
||||
ctx.fillRect(0, 0, w, h)
|
||||
|
||||
ctx.globalCompositeOperation = "source-over"
|
||||
cache1.get({
|
||||
ctx: ctx,
|
||||
x: 0, y: 0, w: w, h: h,
|
||||
id: "1"
|
||||
})
|
||||
ctx.drawImage(img, 0, 0)
|
||||
})
|
||||
cache1.clean()
|
||||
framesObj.cache = cache2
|
||||
framesObj.image = cache2.canvas
|
||||
}else if(image){
|
||||
framesObj.image = assets.image[image]
|
||||
}
|
||||
this.animationFrames[name] = framesObj
|
||||
}
|
||||
setAnimation(name){
|
||||
var framesObj = this.animationFrames[name]
|
||||
this.animationName = name
|
||||
if(framesObj){
|
||||
this.animation = framesObj.frames
|
||||
if(framesObj.image){
|
||||
this.image = framesObj.image
|
||||
}
|
||||
this.don = framesObj.don
|
||||
}else{
|
||||
this.animation = false
|
||||
}
|
||||
}
|
||||
getAnimation(){
|
||||
return this.animationName
|
||||
}
|
||||
getAnimationLength(name){
|
||||
var frames = this.animationFrames[name].frames
|
||||
if(Array.isArray(frames)){
|
||||
return frames.length
|
||||
}else{
|
||||
return frames
|
||||
}
|
||||
}
|
||||
setUpdateSpeed(speed, frameSpeed){
|
||||
this.speed = speed
|
||||
this.frameSpeed = frameSpeed
|
||||
}
|
||||
setAnimationStart(ms){
|
||||
this.animationStart = ms
|
||||
}
|
||||
setAnimationEnd(frameCount, callback){
|
||||
if(typeof frameCount === "undefined"){
|
||||
this.animationEnd = false
|
||||
}else{
|
||||
this.animationEnd = {
|
||||
frameCount: frameCount,
|
||||
callback: callback
|
||||
}
|
||||
}
|
||||
}
|
||||
changeBeatInterval(beatMS, initial){
|
||||
if(!initial && !this.frameSpeed){
|
||||
var ms = this.view.getMS()
|
||||
this.animationStart = ms - (ms - this.animationStart) / this.beatInterval * beatMS
|
||||
}
|
||||
this.beatInterval = beatMS
|
||||
}
|
||||
clean(){
|
||||
for(var i in this.animationFrames){
|
||||
var frame = this.animationFrames[i]
|
||||
if(frame.cache){
|
||||
frame.cache.clean()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
class CanvasCache{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(noSmoothing, w, h, scale){
|
||||
this.noSmoothing = noSmoothing
|
||||
if(w){
|
||||
this.resize(w, h, scale)
|
||||
}
|
||||
this.index = Number.MIN_SAFE_INTEGER
|
||||
}
|
||||
resize(w, h, scale){
|
||||
if(this.canvas){
|
||||
this.map.clear()
|
||||
}else{
|
||||
this.map = new Map()
|
||||
this.canvas = document.createElement("canvas")
|
||||
this.ctx = this.canvas.getContext("2d")
|
||||
if(this.noSmoothing){
|
||||
this.ctx.imageSmoothingEnabled = false
|
||||
}
|
||||
}
|
||||
this.scale = scale
|
||||
this.x = 0
|
||||
this.y = 0
|
||||
this.w = w
|
||||
this.h = h
|
||||
this.lastW = 0
|
||||
this.lastH = 0
|
||||
this.canvas.width = Math.max(1, this.w * this.scale)
|
||||
this.canvas.height = Math.max(1, this.h * this.scale)
|
||||
this.ctx.scale(this.scale, this.scale)
|
||||
}
|
||||
get(config, callback, setOnly){
|
||||
var img = this.map.get(config.id)
|
||||
if(img && setOnly || !img && !callback){
|
||||
return
|
||||
}
|
||||
var saved = false
|
||||
var index = this.index++
|
||||
if(!img){
|
||||
var w = config.w
|
||||
var h = config.h
|
||||
this.x += this.lastW + (this.lastW ? 1 : 0)
|
||||
if(this.x + w > this.w){
|
||||
this.x = 0
|
||||
this.y += this.lastH + 1
|
||||
}
|
||||
if(this.y + h > this.h){
|
||||
var clear = true
|
||||
var oldest = {index: index}
|
||||
this.map.forEach((oldImg, id) => {
|
||||
if(oldImg.index < oldest.index){
|
||||
oldest.id = id
|
||||
oldest.index = oldImg.index
|
||||
}
|
||||
})
|
||||
var oldImg = this.map.get(oldest.id)
|
||||
this.map.delete(oldest.id)
|
||||
img = {
|
||||
x: oldImg.x,
|
||||
y: oldImg.y,
|
||||
w: w,
|
||||
h: h
|
||||
}
|
||||
}else{
|
||||
var clear = false
|
||||
this.lastW = w
|
||||
this.lastH = Math.max(this.lastH, h)
|
||||
img = {
|
||||
x: this.x,
|
||||
y: this.y,
|
||||
w: w,
|
||||
h: h
|
||||
}
|
||||
}
|
||||
|
||||
saved = true
|
||||
this.ctx.save()
|
||||
this.ctx.translate(img.x |0, img.y |0)
|
||||
if(clear){
|
||||
this.ctx.clearRect(0, 0, (img.w |0) + 1, (img.h |0) + 1)
|
||||
}
|
||||
this.ctx.beginPath()
|
||||
this.ctx.rect(0, 0, img.w |0, img.h |0)
|
||||
this.ctx.clip()
|
||||
|
||||
this.map.set(config.id, img)
|
||||
callback(this.ctx)
|
||||
}
|
||||
img.index = index
|
||||
if(setOnly){
|
||||
this.ctx.restore()
|
||||
return
|
||||
}
|
||||
var z = this.scale
|
||||
var sx = (img.x + (config.sx || 0)) * z |0
|
||||
var sy = (img.y + (config.sy || 0)) * z |0
|
||||
var sw = (config.sw || img.w) * z |0
|
||||
var sh = (config.sh || img.h) * z |0
|
||||
config.ctx.drawImage(this.canvas,
|
||||
sx, sy, sw, sh,
|
||||
config.x |0, config.y |0, config.w |0, config.h |0
|
||||
)
|
||||
if(saved){
|
||||
this.ctx.restore()
|
||||
}
|
||||
}
|
||||
set(config, callback){
|
||||
return this.get(config, callback, true)
|
||||
}
|
||||
clear(){
|
||||
this.x = 0
|
||||
this.y = 0
|
||||
this.lastW = 0
|
||||
this.lastH = 0
|
||||
this.map.clear()
|
||||
this.ctx.clearRect(0, 0, this.w, this.h)
|
||||
}
|
||||
clean(){
|
||||
if(!this.canvas){
|
||||
return
|
||||
}
|
||||
this.resize(1, 1, 1)
|
||||
delete this.map
|
||||
delete this.ctx
|
||||
delete this.canvas
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,151 @@
|
|||
class CanvasTest{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(){
|
||||
this.canvas = document.createElement("canvas")
|
||||
var pixelRatio = window.devicePixelRatio || 1
|
||||
var width = innerWidth * pixelRatio
|
||||
var height = innerHeight * pixelRatio
|
||||
this.canvas.width = Math.max(1, width)
|
||||
this.canvas.height = Math.max(1, height)
|
||||
this.ctx = this.canvas.getContext("2d")
|
||||
this.ctx.scale(pixelRatio, pixelRatio)
|
||||
this.ratio = pixelRatio
|
||||
this.draw = new CanvasDraw()
|
||||
this.font = "serif"
|
||||
|
||||
this.songAsset = {
|
||||
marginLeft: 18,
|
||||
marginTop: 90,
|
||||
width: 82,
|
||||
height: 452,
|
||||
border: 6,
|
||||
innerBorder: 8
|
||||
}
|
||||
}
|
||||
blurPerformance(){
|
||||
return new Promise(resolve => {
|
||||
requestAnimationFrame(() => {
|
||||
var ctx = this.ctx
|
||||
ctx.save()
|
||||
var lastIteration = this.blurIteration()
|
||||
var frameTime = []
|
||||
|
||||
for(var i = 0; i < 10; i++){
|
||||
lastIteration = lastIteration.then(ms => {
|
||||
frameTime.push(ms)
|
||||
return this.blurIteration()
|
||||
})
|
||||
}
|
||||
|
||||
lastIteration.then(() => {
|
||||
ctx.restore()
|
||||
resolve(frameTime.reduce((a, b) => a + b) / frameTime.length)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
blurIteration(){
|
||||
return new Promise(resolve => {
|
||||
requestAnimationFrame(() => {
|
||||
var startTime = Date.now()
|
||||
var ctx = this.ctx
|
||||
ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)
|
||||
|
||||
for(var x = 0; x < this.canvas.width; x += this.songAsset.width + this.songAsset.marginLeft){
|
||||
this.draw.songFrame({
|
||||
ctx: ctx,
|
||||
x: x,
|
||||
y: this.songAsset.marginTop,
|
||||
width: this.songAsset.width,
|
||||
height: this.songAsset.height,
|
||||
border: this.songAsset.border,
|
||||
innerBorder: this.songAsset.innerBorder,
|
||||
background: "#efb058",
|
||||
borderStyle: ["#ffe7bd", "#c68229"],
|
||||
ratio: this.ratio,
|
||||
innerContent: () => {}
|
||||
})
|
||||
}
|
||||
|
||||
for(var i = 0; i < 2; i++){
|
||||
this.draw.layeredText({
|
||||
ctx: ctx,
|
||||
text: "I am a text",
|
||||
fontSize: 48,
|
||||
fontFamily: this.font,
|
||||
x: 23 + 300 * i,
|
||||
y: 15
|
||||
}, [
|
||||
{x: -2, y: -2, outline: "#000", letterBorder: 22},
|
||||
{},
|
||||
{x: 2, y: 2, shadow: [2, 2, 7]},
|
||||
{x: 2, y: 2, outline: "#ad1516", letterBorder: 10},
|
||||
{x: -2, y: -2, outline: "#ff797b"},
|
||||
{outline: "#f70808"},
|
||||
{fill: "#fff", shadow: [-1, 1, 3, 1.5]}
|
||||
])
|
||||
}
|
||||
resolve(Date.now() - startTime)
|
||||
})
|
||||
})
|
||||
}
|
||||
drawAllImages(){
|
||||
return new Promise(resolve => {
|
||||
requestAnimationFrame(() => {
|
||||
var startTime = Date.now()
|
||||
var ctx = this.ctx
|
||||
ctx.save()
|
||||
ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)
|
||||
|
||||
for(var name in assets.image){
|
||||
ctx.drawImage(assets.image[name], 0, 0)
|
||||
}
|
||||
|
||||
var comboCount = 765
|
||||
var comboX = 100
|
||||
var comboY = 100
|
||||
var fontSize = 120
|
||||
this.ctx.font = "normal " + fontSize + "px TnT, Meiryo, sans-serif"
|
||||
this.ctx.textAlign = "center"
|
||||
this.ctx.strokeStyle = "#000"
|
||||
this.ctx.lineWidth = fontSize / 10
|
||||
var glyph = this.ctx.measureText("0").width
|
||||
var comboText = comboCount.toString().split("")
|
||||
for(var i in comboText){
|
||||
var textX = comboX + glyph * (i - (comboText.length - 1) / 2)
|
||||
if(comboCount >= 100){
|
||||
var grd = this.ctx.createLinearGradient(
|
||||
textX - glyph * 0.2,
|
||||
comboY - fontSize * 0.8,
|
||||
textX + glyph * 0.2,
|
||||
comboY - fontSize * 0.2
|
||||
)
|
||||
grd.addColorStop(0, "#f00")
|
||||
grd.addColorStop(1, "#fe0")
|
||||
this.ctx.fillStyle = grd
|
||||
}else{
|
||||
this.ctx.fillStyle = "#fff"
|
||||
}
|
||||
this.strokeFillText(comboText[i],
|
||||
textX,
|
||||
comboY
|
||||
)
|
||||
}
|
||||
|
||||
ctx.restore()
|
||||
resolve(Date.now() - startTime)
|
||||
})
|
||||
})
|
||||
}
|
||||
strokeFillText(text, x, y){
|
||||
this.ctx.strokeText(text, x, y)
|
||||
this.ctx.fillText(text, x, y)
|
||||
}
|
||||
clean(){
|
||||
this.draw.clean()
|
||||
delete this.ctx
|
||||
delete this.canvas
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
class Circle{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(config){
|
||||
this.id = config.id
|
||||
this.ms = config.start
|
||||
this.originalMS = this.ms
|
||||
this.type = config.type
|
||||
this.text = config.txt
|
||||
this.speed = config.speed
|
||||
this.endTime = config.endTime || this.ms
|
||||
this.originalEndTime = this.endTime
|
||||
this.isPlayed = 0
|
||||
this.animating = false
|
||||
this.animT = 0
|
||||
this.score = 0
|
||||
this.lastFrame = this.ms + 100
|
||||
this.animationEnded = false
|
||||
this.timesHit = 0
|
||||
this.timesKa = 0
|
||||
this.requiredHits = config.requiredHits || 0
|
||||
this.rendaPlayed = false
|
||||
this.gogoTime = config.gogoTime || false
|
||||
this.gogoChecked = false
|
||||
this.beatMS = config.beatMS
|
||||
this.fixedPos = config.fixedPos
|
||||
this.branch = config.branch
|
||||
this.section = config.section
|
||||
}
|
||||
animate(ms){
|
||||
this.animating = true
|
||||
this.animT = ms
|
||||
}
|
||||
played(score, big){
|
||||
this.score = score
|
||||
this.isPlayed = score <= 0 ? score - 1 : (big ? 2 : 1)
|
||||
}
|
||||
hit(keysKa){
|
||||
this.timesHit++
|
||||
if(keysKa){
|
||||
this.timesKa++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,391 @@
|
|||
class Controller{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(selectedSong, songData, autoPlayEnabled, multiplayer, touchEnabled){
|
||||
this.selectedSong = selectedSong
|
||||
this.songData = songData
|
||||
this.autoPlayEnabled = autoPlayEnabled
|
||||
this.saveScore = !autoPlayEnabled
|
||||
this.multiplayer = multiplayer
|
||||
this.touchEnabled = touchEnabled
|
||||
if(multiplayer === 2){
|
||||
this.snd = p2.player === 2 ? "_p1" : "_p2"
|
||||
this.don = p2.don || defaultDon
|
||||
}else{
|
||||
this.snd = multiplayer ? "_p" + p2.player : ""
|
||||
this.don = account.loggedIn ? account.don : defaultDon
|
||||
}
|
||||
if(this.snd === "_p2" && this.objEqual(defaultDon, this.don)){
|
||||
this.don = {
|
||||
body_fill: defaultDon.face_fill,
|
||||
face_fill: defaultDon.body_fill
|
||||
}
|
||||
}
|
||||
|
||||
this.calibrationMode = selectedSong.folder === "calibration"
|
||||
this.audioLatency = 0
|
||||
this.videoLatency = 0
|
||||
if(!this.calibrationMode){
|
||||
var latency = settings.getItem("latency")
|
||||
if(!autoPlayEnabled || this.multiplayer){
|
||||
this.audioLatency = Math.round(latency.audio) || 0
|
||||
}
|
||||
this.videoLatency = Math.round(latency.video) || 0 + this.audioLatency
|
||||
}
|
||||
if(this.multiplayer !== 2){
|
||||
loader.changePage("game", false)
|
||||
}
|
||||
|
||||
if(selectedSong.type === "tja"){
|
||||
this.parsedSongData = new ParseTja(songData, selectedSong.difficulty, selectedSong.stars, selectedSong.offset)
|
||||
}else{
|
||||
this.parsedSongData = new ParseOsu(songData, selectedSong.difficulty, selectedSong.stars, selectedSong.offset)
|
||||
}
|
||||
this.offset = this.parsedSongData.soundOffset
|
||||
|
||||
var maxCombo = this.parsedSongData.circles.filter(circle => ["don", "ka", "daiDon", "daiKa"].indexOf(circle.type) > -1 && (!circle.branch || circle.branch.name == "master")).length
|
||||
if (maxCombo >= 50) {
|
||||
var comboVoices = ["v_combo_50"].concat(Array.from(Array(Math.min(50, Math.floor(maxCombo / 100))), (d, i) => "v_combo_" + ((i + 1) * 100)))
|
||||
var promises = []
|
||||
|
||||
comboVoices.forEach(name => {
|
||||
if (!assets.sounds[name + "_p1"]) {
|
||||
promises.push(loader.loadSound(name + ".ogg", snd.sfxGain).then(sound => {
|
||||
assets.sounds[name + "_p1"] = assets.sounds[name].copy(snd.sfxGainL)
|
||||
assets.sounds[name + "_p2"] = assets.sounds[name].copy(snd.sfxGainR)
|
||||
}))
|
||||
}
|
||||
})
|
||||
|
||||
Promise.all(promises)
|
||||
}
|
||||
|
||||
if(this.calibrationMode){
|
||||
this.volume = 1
|
||||
}else{
|
||||
assets.songs.forEach(song => {
|
||||
if(song.id == this.selectedSong.folder){
|
||||
this.mainAsset = song.sound
|
||||
this.volume = song.volume || 1
|
||||
if(!multiplayer && (!this.touchEnabled || this.autoPlayEnabled) && settings.getItem("showLyrics")){
|
||||
if(song.lyricsData){
|
||||
var lyricsDiv = document.getElementById("song-lyrics")
|
||||
this.lyrics = new Lyrics(song.lyricsData, selectedSong.offset, lyricsDiv)
|
||||
}else if(this.parsedSongData.lyrics){
|
||||
var lyricsDiv = document.getElementById("song-lyrics")
|
||||
this.lyrics = new Lyrics(this.parsedSongData.lyrics, selectedSong.offset, lyricsDiv, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
this.game = new Game(this, this.selectedSong, this.parsedSongData)
|
||||
this.view = new View(this)
|
||||
this.mekadon = new Mekadon(this, this.game)
|
||||
this.keyboard = new GameInput(this)
|
||||
if(!autoPlayEnabled && this.multiplayer !== 2){
|
||||
this.easierBigNotes = settings.getItem("easierBigNotes") || this.keyboard.keyboard.TaikoForceLv5
|
||||
}else{
|
||||
this.easierBigNotes = false
|
||||
}
|
||||
|
||||
this.drumSounds = settings.getItem("latency").drumSounds
|
||||
this.playedSounds = {}
|
||||
}
|
||||
run(syncWith){
|
||||
if(syncWith){
|
||||
this.syncWith = syncWith
|
||||
}
|
||||
if(this.multiplayer !== 2){
|
||||
snd.musicGain.setVolumeMul(this.volume)
|
||||
}
|
||||
this.game.run()
|
||||
this.view.run()
|
||||
if(this.multiplayer === 1){
|
||||
syncWith.run(this)
|
||||
syncWith.game.elapsedTime = this.game.elapsedTime
|
||||
syncWith.game.startDate = this.game.startDate
|
||||
}
|
||||
requestAnimationFrame(() => {
|
||||
this.startMainLoop()
|
||||
if(!this.multiplayer){
|
||||
debugObj.controller = this
|
||||
if(debugObj.debug){
|
||||
debugObj.debug.updateStatus()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
startMainLoop(){
|
||||
this.mainLoopRunning = true
|
||||
this.gameLoop()
|
||||
this.viewLoop()
|
||||
if(this.multiplayer !== 2){
|
||||
this.gameInterval = setInterval(this.gameLoop.bind(this), 1000 / 60)
|
||||
pageEvents.send("game-start", {
|
||||
selectedSong: this.selectedSong,
|
||||
autoPlayEnabled: this.autoPlayEnabled,
|
||||
multiplayer: this.multiplayer,
|
||||
touchEnabled: this.touchEnabled
|
||||
})
|
||||
}
|
||||
}
|
||||
stopMainLoop(){
|
||||
this.mainLoopRunning = false
|
||||
if(this.game.mainAsset){
|
||||
this.game.mainAsset.stop()
|
||||
}
|
||||
if(this.multiplayer !== 2){
|
||||
clearInterval(this.gameInterval)
|
||||
}
|
||||
}
|
||||
gameLoop(){
|
||||
if(this.mainLoopRunning){
|
||||
if(this.multiplayer === 1){
|
||||
this.syncWith.game.elapsedTime = this.game.elapsedTime
|
||||
this.syncWith.game.startDate = this.game.startDate
|
||||
}
|
||||
var ms = this.game.elapsedTime
|
||||
|
||||
if(this.game.musicFadeOut < 3){
|
||||
this.keyboard.checkMenuKeys()
|
||||
}
|
||||
if(this.calibrationMode){
|
||||
this.game.calibration()
|
||||
}
|
||||
if(!this.game.isPaused()){
|
||||
this.keyboard.checkGameKeys()
|
||||
|
||||
if(ms < 0){
|
||||
this.game.updateTime()
|
||||
}else{
|
||||
if(!this.calibrationMode){
|
||||
this.game.update()
|
||||
}
|
||||
if(!this.mainLoopRunning){
|
||||
return
|
||||
}
|
||||
this.game.playMainMusic()
|
||||
}
|
||||
}
|
||||
if(this.multiplayer === 1){
|
||||
this.syncWith.gameLoop()
|
||||
}
|
||||
}
|
||||
}
|
||||
viewLoop(){
|
||||
if(this.mainLoopRunning){
|
||||
if(this.multiplayer !== 2){
|
||||
requestAnimationFrame(() => {
|
||||
var player = this.multiplayer ? p2.player : 1
|
||||
if(player === 1){
|
||||
this.viewLoop()
|
||||
}
|
||||
if(this.multiplayer === 1){
|
||||
this.syncWith.viewLoop()
|
||||
}
|
||||
if(player === 2){
|
||||
this.viewLoop()
|
||||
}
|
||||
if(this.scoresheet){
|
||||
if(this.view.ctx){
|
||||
this.view.ctx.save()
|
||||
this.view.ctx.setTransform(1, 0, 0, 1, 0, 0)
|
||||
}
|
||||
this.scoresheet.redraw()
|
||||
if(this.view.ctx){
|
||||
this.view.ctx.restore()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
this.view.refresh()
|
||||
}
|
||||
}
|
||||
gameEnded(){
|
||||
var score = this.getGlobalScore()
|
||||
var vp
|
||||
if(this.game.rules.clearReached(score.gauge)){
|
||||
if(score.bad === 0){
|
||||
vp = "fullcombo"
|
||||
this.playSound("v_fullcombo", 1.350)
|
||||
}else{
|
||||
vp = "clear"
|
||||
}
|
||||
}else{
|
||||
vp = "fail"
|
||||
}
|
||||
this.playSound("se_game" + vp)
|
||||
}
|
||||
displayResults(){
|
||||
if(this.multiplayer !== 2){
|
||||
if(this.view.cursorHidden){
|
||||
this.view.canvas.style.cursor = ""
|
||||
}
|
||||
this.scoresheet = new Scoresheet(this, this.getGlobalScore(), this.multiplayer, this.touchEnabled)
|
||||
}
|
||||
}
|
||||
displayScore(score, notPlayed, bigNote){
|
||||
this.view.displayScore(score, notPlayed, bigNote)
|
||||
}
|
||||
songSelection(fadeIn, showWarning){
|
||||
if(!fadeIn){
|
||||
if(this.cleaned){
|
||||
return
|
||||
}
|
||||
this.clean()
|
||||
}
|
||||
if(this.calibrationMode){
|
||||
new SettingsView(this.touchEnabled, false, null, "latency")
|
||||
}else{
|
||||
new SongSelect(false, fadeIn, this.touchEnabled, null, showWarning)
|
||||
}
|
||||
}
|
||||
restartSong(){
|
||||
if(this.cleaned){
|
||||
return
|
||||
}
|
||||
this.clean()
|
||||
if(this.multiplayer){
|
||||
new LoadSong(this.selectedSong, false, true, this.touchEnabled)
|
||||
}else{
|
||||
new Promise(resolve => {
|
||||
if(this.calibrationMode){
|
||||
resolve()
|
||||
}else{
|
||||
var songObj = assets.songs.find(song => song.id === this.selectedSong.folder)
|
||||
var promises = []
|
||||
if(songObj.chart && songObj.chart !== "blank"){
|
||||
var chart = songObj.chart
|
||||
if(chart.separateDiff){
|
||||
var chartDiff = this.selectedSong.difficulty
|
||||
chart = chart[chartDiff]
|
||||
}
|
||||
this.addPromise(promises, chart.read(this.selectedSong.type === "tja" ? "sjis" : undefined).then(data => {
|
||||
this.songData = data.replace(/\0/g, "").split("\n")
|
||||
return Promise.resolve()
|
||||
}), chart.url)
|
||||
}
|
||||
if(songObj.lyricsFile){
|
||||
this.addPromise(promises, songObj.lyricsFile.read().then(result => {
|
||||
songObj.lyricsData = result
|
||||
}, () => Promise.resolve()), songObj.lyricsFile.url)
|
||||
}
|
||||
Promise.all(promises).then(resolve)
|
||||
}
|
||||
}).then(() => {
|
||||
var taikoGame = new Controller(this.selectedSong, this.songData, this.autoPlayEnabled, false, this.touchEnabled)
|
||||
taikoGame.run()
|
||||
})
|
||||
}
|
||||
}
|
||||
addPromise(promises, promise, url){
|
||||
promises.push(promise.catch(error => {
|
||||
if(this.restartSongError){
|
||||
return
|
||||
}
|
||||
this.restartSongError = true
|
||||
if(url){
|
||||
error = (Array.isArray(error) ? error[0] + ": " : (error ? error + ": " : "")) + url
|
||||
}
|
||||
pageEvents.send("load-song-error", error)
|
||||
errorMessage(new Error(error).stack)
|
||||
var title = this.selectedSong.title
|
||||
if(title !== this.selectedSong.originalTitle){
|
||||
title += " (" + this.selectedSong.originalTitle + ")"
|
||||
}
|
||||
setTimeout(() => {
|
||||
new SongSelect(false, false, this.touchEnabled, null, {
|
||||
name: "loadSongError",
|
||||
title: title,
|
||||
id: this.selectedSong.folder,
|
||||
error: error
|
||||
})
|
||||
}, 500)
|
||||
return Promise.reject(error)
|
||||
}))
|
||||
}
|
||||
playSound(id, time, noSnd){
|
||||
if(!this.drumSounds && (id === "neiro_1_don" || id === "neiro_1_ka" || id === "se_don" || id === "se_ka")){
|
||||
return
|
||||
}
|
||||
var ms = Date.now() + (time || 0) * 1000
|
||||
if(!(id in this.playedSounds) || ms > this.playedSounds[id] + 30){
|
||||
assets.sounds[id + (noSnd ? "" : this.snd)].play(time)
|
||||
this.playedSounds[id] = ms
|
||||
}
|
||||
}
|
||||
togglePause(forcePause, pauseMove, noSound){
|
||||
if(this.multiplayer === 1){
|
||||
this.syncWith.game.togglePause(forcePause, pauseMove, noSound)
|
||||
}
|
||||
this.game.togglePause(forcePause, pauseMove, noSound)
|
||||
}
|
||||
getKeys(){
|
||||
return this.keyboard.getKeys()
|
||||
}
|
||||
setKey(pressed, name, ms){
|
||||
return this.keyboard.setKey(pressed, name, ms)
|
||||
}
|
||||
getElapsedTime(){
|
||||
return this.game.elapsedTime
|
||||
}
|
||||
getCircles(){
|
||||
return this.game.getCircles()
|
||||
}
|
||||
getCurrentCircle(){
|
||||
return this.game.getCurrentCircle()
|
||||
}
|
||||
isWaiting(key, type){
|
||||
return this.keyboard.isWaiting(key, type)
|
||||
}
|
||||
waitForKeyup(key, type){
|
||||
this.keyboard.waitForKeyup(key, type)
|
||||
}
|
||||
getKeyTime(){
|
||||
return this.keyboard.getKeyTime()
|
||||
}
|
||||
getCombo(){
|
||||
return this.game.getCombo()
|
||||
}
|
||||
getGlobalScore(){
|
||||
return this.game.getGlobalScore()
|
||||
}
|
||||
autoPlay(circle){
|
||||
if(this.multiplayer){
|
||||
p2.play(circle, this.mekadon)
|
||||
}else{
|
||||
return this.mekadon.play(circle)
|
||||
}
|
||||
}
|
||||
objEqual(a, b){
|
||||
for(var i in a){
|
||||
if(a[i] !== b[i]){
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
clean(){
|
||||
this.cleaned = true
|
||||
if(this.multiplayer === 1){
|
||||
this.syncWith.clean()
|
||||
}
|
||||
this.stopMainLoop()
|
||||
this.keyboard.clean()
|
||||
this.view.clean()
|
||||
snd.buffer.loadSettings()
|
||||
|
||||
if(!this.multiplayer){
|
||||
debugObj.controller = null
|
||||
if(debugObj.debug){
|
||||
debugObj.debug.updateStatus()
|
||||
}
|
||||
}
|
||||
if(this.lyrics){
|
||||
this.lyrics.clean()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,551 @@
|
|||
class CustomSongs{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(touchEnabled, noPage, noLoading){
|
||||
this.loaderDiv = document.createElement("div")
|
||||
this.loaderDiv.innerHTML = assets.pages["loadsong"]
|
||||
var loadingText = this.loaderDiv.querySelector("#loading-text")
|
||||
this.setAltText(loadingText, strings.loading)
|
||||
|
||||
this.locked = false
|
||||
this.mode = "main"
|
||||
|
||||
if(noPage){
|
||||
this.noPage = true
|
||||
this.noLoading = noLoading
|
||||
return
|
||||
}
|
||||
|
||||
this.touchEnabled = touchEnabled
|
||||
loader.changePage("customsongs", true)
|
||||
if(touchEnabled){
|
||||
this.getElement("view-outer").classList.add("touch-enabled")
|
||||
}
|
||||
|
||||
var tutorialTitle = this.getElement("view-title")
|
||||
this.setAltText(tutorialTitle, strings.customSongs.title)
|
||||
|
||||
var tutorialContent = this.getElement("view-content")
|
||||
strings.customSongs.description.forEach(string => {
|
||||
tutorialContent.appendChild(document.createTextNode(string))
|
||||
tutorialContent.appendChild(document.createElement("br"))
|
||||
})
|
||||
|
||||
this.items = []
|
||||
this.linkLocalFolder = document.getElementById("link-localfolder")
|
||||
this.hasLocal = (typeof showDirectoryPicker === "function" || "webkitdirectory" in HTMLInputElement.prototype) && !(/Android|iPhone|iPad/.test(navigator.userAgent))
|
||||
this.selected = -1
|
||||
|
||||
if(this.hasLocal){
|
||||
this.browse = document.getElementById("browse")
|
||||
pageEvents.add(this.browse, "change", this.browseChange.bind(this))
|
||||
this.setAltText(this.linkLocalFolder, strings.customSongs.localFolder)
|
||||
pageEvents.add(this.linkLocalFolder, ["mousedown", "touchstart"], this.localFolder.bind(this))
|
||||
this.items.push(this.linkLocalFolder)
|
||||
if(this.selected === -1){
|
||||
this.linkLocalFolder.classList.add("selected")
|
||||
this.selected = this.items.length - 1
|
||||
}
|
||||
}else{
|
||||
this.linkLocalFolder.parentNode.removeChild(this.linkLocalFolder)
|
||||
}
|
||||
|
||||
var groupGdrive = document.getElementById("group-gdrive")
|
||||
this.linkGdriveFolder = document.getElementById("link-gdrivefolder")
|
||||
this.linkGdriveAccount = document.getElementById("link-gdriveaccount")
|
||||
this.linkPrivacy = document.getElementById("link-privacy")
|
||||
if(gameConfig.google_credentials.gdrive_enabled){
|
||||
this.setAltText(this.linkGdriveFolder, strings.customSongs.gdriveFolder)
|
||||
pageEvents.add(this.linkGdriveFolder, ["mousedown", "touchstart"], this.gdriveFolder.bind(this))
|
||||
this.items.push(this.linkGdriveFolder)
|
||||
if(this.selected === -1){
|
||||
this.linkGdriveFolder.classList.add("selected")
|
||||
this.selected = this.items.length - 1
|
||||
}
|
||||
this.setAltText(this.linkGdriveAccount, strings.customSongs.gdriveAccount)
|
||||
pageEvents.add(this.linkGdriveAccount, ["mousedown", "touchstart"], this.gdriveAccount.bind(this))
|
||||
this.items.push(this.linkGdriveAccount)
|
||||
this.setAltText(this.linkPrivacy, strings.account.privacy)
|
||||
pageEvents.add(this.linkPrivacy, ["mousedown", "touchstart"], this.openPrivacy.bind(this))
|
||||
this.items.push(this.linkPrivacy)
|
||||
}else{
|
||||
groupGdrive.style.display = "none"
|
||||
this.linkPrivacy.parentNode.removeChild(this.linkPrivacy)
|
||||
}
|
||||
|
||||
this.endButton = this.getElement("view-end-button")
|
||||
this.setAltText(this.endButton, strings.session.cancel)
|
||||
pageEvents.add(this.endButton, ["mousedown", "touchstart"], event => this.onEnd(event, true))
|
||||
this.items.push(this.endButton)
|
||||
if(this.selected === -1){
|
||||
this.endButton.classList.add("selected")
|
||||
this.selected = this.items.length - 1
|
||||
}
|
||||
|
||||
this.fileSystem = location.protocol === "https:" && DataTransferItem.prototype.getAsFileSystemHandle
|
||||
if(this.fileSystem || DataTransferItem.prototype.webkitGetAsEntry){
|
||||
this.dropzone = document.getElementById("dropzone")
|
||||
var dropContent = this.dropzone.getElementsByClassName("view-content")[0]
|
||||
dropContent.innerText = strings.customSongs.dropzone
|
||||
this.dragging = false
|
||||
this.dragTarget = null
|
||||
pageEvents.add(document, "dragenter", event => {
|
||||
event.preventDefault()
|
||||
this.dragTarget = event.target
|
||||
})
|
||||
pageEvents.add(document, "dragover", event => {
|
||||
event.preventDefault()
|
||||
if(!this.locked){
|
||||
event.dataTransfer.dropEffect = "copy"
|
||||
this.dropzone.classList.add("dragover")
|
||||
this.dragging = true
|
||||
}else{
|
||||
event.dataTransfer.dropEffect = "none"
|
||||
}
|
||||
})
|
||||
pageEvents.add(document, "dragleave", () => {
|
||||
if(this.dragTarget === event.target){
|
||||
event.preventDefault()
|
||||
this.dropzone.classList.remove("dragover")
|
||||
this.dragging = false
|
||||
}
|
||||
})
|
||||
pageEvents.add(document, "drop", this.filesDropped.bind(this))
|
||||
}
|
||||
|
||||
this.errorDiv = document.getElementById("customsongs-error")
|
||||
pageEvents.add(this.errorDiv, ["mousedown", "touchstart"], event => {
|
||||
if(event.target === event.currentTarget){
|
||||
this.hideError()
|
||||
}
|
||||
})
|
||||
var errorTitle = this.errorDiv.getElementsByClassName("view-title")[0]
|
||||
this.setAltText(errorTitle, strings.customSongs.importError)
|
||||
this.errorContent = this.errorDiv.getElementsByClassName("view-content")[0]
|
||||
this.errorEnd = this.errorDiv.getElementsByClassName("view-end-button")[0]
|
||||
this.setAltText(this.errorEnd, strings.tutorial.ok)
|
||||
pageEvents.add(this.errorEnd, ["mousedown", "touchstart"], () => this.hideError(true))
|
||||
|
||||
this.keyboard = new Keyboard({
|
||||
confirm: ["enter", "space", "don_l", "don_r"],
|
||||
previous: ["left", "up", "ka_l"],
|
||||
next: ["right", "down", "ka_r"],
|
||||
backEsc: ["escape"]
|
||||
}, this.keyPressed.bind(this))
|
||||
this.gamepad = new Gamepad({
|
||||
confirmPad: ["b", "ls", "rs"],
|
||||
previous: ["u", "l", "lb", "lt", "lsu", "lsl"],
|
||||
next: ["d", "r", "rb", "rt", "lsd", "lsr"],
|
||||
back: ["start", "a"]
|
||||
}, this.keyPressed.bind(this))
|
||||
|
||||
pageEvents.send("custom-songs")
|
||||
}
|
||||
getElement(name){
|
||||
return loader.screen.getElementsByClassName(name)[0]
|
||||
}
|
||||
setAltText(element, text){
|
||||
element.innerText = text
|
||||
element.setAttribute("alt", text)
|
||||
}
|
||||
localFolder(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked || this.mode !== "main"){
|
||||
return
|
||||
}
|
||||
this.changeSelected(this.linkLocalFolder)
|
||||
if(typeof showDirectoryPicker === "function" && !(/\bOPR\/|\bOPRGX\//.test(navigator.userAgent))){
|
||||
return showDirectoryPicker().then(file => {
|
||||
this.walkFilesystem(file).then(files => this.importLocal(files)).then(input => {
|
||||
if(input){
|
||||
db.setItem("customFolder", [file])
|
||||
}
|
||||
}).catch(e => {
|
||||
if(e !== "cancel"){
|
||||
return Promise.reject(e)
|
||||
}
|
||||
})
|
||||
}, () => {})
|
||||
}else{
|
||||
this.browse.click()
|
||||
}
|
||||
}
|
||||
browseChange(event){
|
||||
var files = []
|
||||
for(var i = 0; i < event.target.files.length; i++){
|
||||
files.push(new LocalFile(event.target.files[i]))
|
||||
}
|
||||
this.importLocal(files)
|
||||
}
|
||||
walkFilesystem(file, path="", output=[]){
|
||||
if(file.kind === "directory"){
|
||||
return filePermission(file).then(file => {
|
||||
var values = file.values()
|
||||
var walkValues = () => values.next().then(generator => {
|
||||
if(generator.done){
|
||||
return output
|
||||
}
|
||||
return this.walkFilesystem(generator.value, path + file.name + "/", output).then(() => walkValues())
|
||||
})
|
||||
return walkValues()
|
||||
}, () => Promise.resolve())
|
||||
}else{
|
||||
output.push(new FilesystemFile(file, path + file.name))
|
||||
return Promise.resolve(output)
|
||||
}
|
||||
}
|
||||
filesDropped(event){
|
||||
event.preventDefault()
|
||||
this.dropzone.classList.remove("dragover")
|
||||
this.dragging = false
|
||||
if(this.locked){
|
||||
return
|
||||
}
|
||||
var allFiles = []
|
||||
var dropPromises = []
|
||||
var dbItems = []
|
||||
for(var i = 0; i < event.dataTransfer.items.length; i++){
|
||||
var item = event.dataTransfer.items[i]
|
||||
let promise
|
||||
if(this.fileSystem){
|
||||
promise = item.getAsFileSystemHandle().then(file => {
|
||||
dbItems.push(file)
|
||||
return this.walkFilesystem(file)
|
||||
})
|
||||
}else{
|
||||
var entry = item.webkitGetAsEntry()
|
||||
if(entry){
|
||||
promise = this.walkEntry(entry)
|
||||
}
|
||||
}
|
||||
if(promise){
|
||||
dropPromises.push(promise.then(files => {
|
||||
allFiles = allFiles.concat(files)
|
||||
}))
|
||||
}
|
||||
}
|
||||
Promise.all(dropPromises).then(() => this.importLocal(allFiles)).then(input => {
|
||||
if(input && dbItems.length){
|
||||
db.setItem("customFolder", dbItems)
|
||||
}
|
||||
})
|
||||
}
|
||||
walkEntry(entry, path="", output=[]){
|
||||
return new Promise(resolve => {
|
||||
if(entry.isFile){
|
||||
entry.file(file => {
|
||||
output.push(new LocalFile(file, path + file.name))
|
||||
return resolve()
|
||||
}, resolve)
|
||||
}else if(entry.isDirectory){
|
||||
var dirReader = entry.createReader()
|
||||
dirReader.readEntries(entries => {
|
||||
var dirPromises = []
|
||||
for(var i = 0; i < entries.length; i++){
|
||||
dirPromises.push(this.walkEntry(entries[i], path + entry.name + "/", output))
|
||||
}
|
||||
return Promise.all(dirPromises).then(resolve)
|
||||
}, resolve)
|
||||
}else{
|
||||
return resolve()
|
||||
}
|
||||
}).then(() => output)
|
||||
}
|
||||
importLocal(files){
|
||||
if(!files.length){
|
||||
if(this.noPage){
|
||||
return Promise.reject("cancel")
|
||||
}else{
|
||||
return Promise.resolve("cancel")
|
||||
}
|
||||
}
|
||||
this.locked = true
|
||||
this.loading(true)
|
||||
|
||||
var importSongs = new ImportSongs()
|
||||
return importSongs.load(files).then(this.songsLoaded.bind(this), e => {
|
||||
if(!this.noPage){
|
||||
this.browse.form.reset()
|
||||
}
|
||||
this.locked = false
|
||||
this.loading(false)
|
||||
if(e === "nosongs"){
|
||||
this.showError(strings.customSongs.noSongs, "nosongs")
|
||||
}else if(e !== "cancel"){
|
||||
return Promise.reject(e)
|
||||
}
|
||||
return false
|
||||
})
|
||||
}
|
||||
gdriveFolder(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked || this.mode !== "main"){
|
||||
return
|
||||
}
|
||||
this.changeSelected(this.linkGdriveFolder)
|
||||
this.locked = true
|
||||
this.loading(true)
|
||||
var importSongs = new ImportSongs(true)
|
||||
if(!gpicker){
|
||||
var gpickerPromise = loader.loadScript("src/js/gpicker.js").then(() => {
|
||||
gpicker = new Gpicker()
|
||||
})
|
||||
}else{
|
||||
var gpickerPromise = Promise.resolve()
|
||||
}
|
||||
gpickerPromise.then(() => {
|
||||
return gpicker.browse(locked => {
|
||||
this.locked = locked
|
||||
this.loading(locked)
|
||||
}, error => {
|
||||
this.showError(error)
|
||||
})
|
||||
}).then(files => importSongs.load(files))
|
||||
.then(this.songsLoaded.bind(this))
|
||||
.catch(e => {
|
||||
this.locked = false
|
||||
this.loading(false)
|
||||
if(e === "nosongs"){
|
||||
this.showError(strings.customSongs.noSongs, "nosongs")
|
||||
}else if(e !== "cancel"){
|
||||
return Promise.reject(e)
|
||||
}
|
||||
}).finally(() => {
|
||||
if(this.linkGdriveAccount){
|
||||
var addRemove = !gpicker || !gpicker.oauthToken ? "add" : "remove"
|
||||
this.linkGdriveAccount.classList[addRemove]("hiddenbtn")
|
||||
}
|
||||
})
|
||||
}
|
||||
gdriveAccount(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked || this.mode !== "main"){
|
||||
return
|
||||
}
|
||||
this.changeSelected(this.linkGdriveAccount)
|
||||
this.locked = true
|
||||
this.loading(true)
|
||||
if(!gpicker){
|
||||
var gpickerPromise = loader.loadScript("/src/js/gpicker.js").then(() => {
|
||||
gpicker = new Gpicker()
|
||||
})
|
||||
}else{
|
||||
var gpickerPromise = Promise.resolve()
|
||||
}
|
||||
gpickerPromise.then(() => {
|
||||
return gpicker.switchAccounts(locked => {
|
||||
this.locked = locked
|
||||
this.loading(locked)
|
||||
}, error => {
|
||||
this.showError(error)
|
||||
})
|
||||
}).then(() => {
|
||||
this.locked = false
|
||||
this.loading(false)
|
||||
}).catch(error => {
|
||||
if(error !== "cancel"){
|
||||
this.showError(error)
|
||||
}
|
||||
})
|
||||
}
|
||||
openPrivacy(event){
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}
|
||||
if(this.locked || this.mode !== "main"){
|
||||
return
|
||||
}
|
||||
this.changeSelected(this.linkPrivacy)
|
||||
open("privacy")
|
||||
}
|
||||
loading(show){
|
||||
if(this.noLoading){
|
||||
return
|
||||
}
|
||||
if(show){
|
||||
loader.screen.appendChild(this.loaderDiv)
|
||||
}else if(this.loaderDiv.parentNode){
|
||||
this.loaderDiv.parentNode.removeChild(this.loaderDiv)
|
||||
}
|
||||
}
|
||||
songsLoaded(songs){
|
||||
if(songs){
|
||||
var length = songs.length
|
||||
assets.songs = songs
|
||||
assets.customSongs = true
|
||||
assets.customSelected = this.noPage ? +localStorage.getItem("customSelected") : 0
|
||||
}
|
||||
if(this.noPage){
|
||||
pageEvents.send("import-songs", length)
|
||||
}else{
|
||||
assets.sounds["se_don"].play()
|
||||
setTimeout(() => {
|
||||
new SongSelect("customSongs", false, this.touchEnabled)
|
||||
pageEvents.send("import-songs", length)
|
||||
}, 500)
|
||||
}
|
||||
this.clean()
|
||||
return songs && songs.length
|
||||
}
|
||||
keyPressed(pressed, name){
|
||||
if(!pressed || this.locked){
|
||||
return
|
||||
}
|
||||
var selected = this.items[this.selected]
|
||||
if(this.mode === "main"){
|
||||
if(name === "confirm" || name === "confirmPad"){
|
||||
if(selected === this.endButton){
|
||||
this.onEnd(null, true)
|
||||
}else if(name !== "confirmPad"){
|
||||
if(selected === this.linkLocalFolder){
|
||||
assets.sounds["se_don"].play()
|
||||
this.localFolder()
|
||||
}else if(selected === this.linkGdriveFolder){
|
||||
assets.sounds["se_don"].play()
|
||||
this.gdriveFolder()
|
||||
}else if(selected === this.linkGdriveAccount){
|
||||
assets.sounds["se_don"].play()
|
||||
this.gdriveAccount()
|
||||
}else if(selected === this.linkPrivacy){
|
||||
assets.sounds["se_don"].play()
|
||||
this.openPrivacy()
|
||||
}
|
||||
}
|
||||
}else if(name === "previous" || name === "next"){
|
||||
selected.classList.remove("selected")
|
||||
do{
|
||||
this.selected = this.mod(this.items.length, this.selected + (name === "next" ? 1 : -1))
|
||||
}while(this.items[this.selected] === this.linkPrivacy && name !== "previous")
|
||||
this.items[this.selected].classList.add("selected")
|
||||
assets.sounds["se_ka"].play()
|
||||
}else if(name === "back" || name === "backEsc"){
|
||||
if(!this.dragging || name !== "backEsc"){
|
||||
this.onEnd()
|
||||
}
|
||||
}
|
||||
}else if(this.mode === "error"){
|
||||
if(name === "confirm" || name === "confirmPad" || name === "back" || name === "backEsc"){
|
||||
this.hideError(name === "confirm" || name === "confirmPad")
|
||||
}
|
||||
}
|
||||
}
|
||||
changeSelected(button){
|
||||
var selected = this.items[this.selected]
|
||||
if(selected !== button){
|
||||
selected.classList.remove("selected")
|
||||
this.selected = this.items.findIndex(item => item === button)
|
||||
this.items[this.selected].classList.add("selected")
|
||||
}
|
||||
}
|
||||
mod(length, index){
|
||||
return ((index % length) + length) % length
|
||||
}
|
||||
onEnd(event, confirm){
|
||||
if(this.locked || this.mode !== "main"){
|
||||
return
|
||||
}
|
||||
var touched = false
|
||||
if(event){
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
touched = true
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
}else{
|
||||
touched = this.touchEnabled
|
||||
}
|
||||
this.clean()
|
||||
if(!this.noPage){
|
||||
assets.sounds[confirm ? "se_don" : "se_cancel"].play()
|
||||
}
|
||||
return new Promise(resolve => setTimeout(() => {
|
||||
new SongSelect("customSongs", false, touched)
|
||||
resolve()
|
||||
}, 500))
|
||||
}
|
||||
showError(text, errorName){
|
||||
this.locked = false
|
||||
this.loading(false)
|
||||
if(this.noPage){
|
||||
var error = new Error(text)
|
||||
error.name = errorName
|
||||
throw error
|
||||
}else if(this.mode === "error"){
|
||||
return
|
||||
}
|
||||
this.mode = "error"
|
||||
this.errorContent.innerText = text
|
||||
this.errorDiv.style.display = "flex"
|
||||
assets.sounds["se_pause"].play()
|
||||
}
|
||||
hideError(confirm){
|
||||
if(this.mode !== "error"){
|
||||
return
|
||||
}
|
||||
this.mode = "main"
|
||||
this.errorDiv.style.display = ""
|
||||
assets.sounds[confirm ? "se_don" : "se_cancel"].play()
|
||||
}
|
||||
clean(){
|
||||
delete this.loaderDiv
|
||||
if(this.noPage){
|
||||
return
|
||||
}
|
||||
this.keyboard.clean()
|
||||
this.gamepad.clean()
|
||||
pageEvents.remove(this.browse, "change")
|
||||
if(this.hasLocal){
|
||||
pageEvents.remove(this.linkLocalFolder, ["mousedown", "touchstart"])
|
||||
}
|
||||
if(gameConfig.google_credentials.gdrive_enabled){
|
||||
pageEvents.remove(this.linkGdriveFolder, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.linkGdriveAccount, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.linkPrivacy, ["mousedown", "touchstart"])
|
||||
}
|
||||
pageEvents.remove(this.endButton, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.errorDiv, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.errorEnd, ["mousedown", "touchstart"])
|
||||
if(DataTransferItem.prototype.webkitGetAsEntry){
|
||||
pageEvents.remove(document, ["dragenter", "dragover", "dragleave", "drop"])
|
||||
delete this.dropzone
|
||||
delete this.dragTarget
|
||||
}
|
||||
if(gpicker){
|
||||
gpicker.tokenResolve = null
|
||||
}
|
||||
delete this.browse
|
||||
delete this.linkLocalFolder
|
||||
delete this.linkGdriveFolder
|
||||
delete this.linkGdriveAccount
|
||||
delete this.linkPrivacy
|
||||
delete this.endButton
|
||||
delete this.items
|
||||
delete this.errorDiv
|
||||
delete this.errorContent
|
||||
delete this.errorEnd
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,491 @@
|
|||
class Debug{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(){
|
||||
if(!assets.pages["debug"]){
|
||||
return
|
||||
}
|
||||
this.debugDiv = document.createElement("div")
|
||||
this.debugDiv.id = "debug"
|
||||
this.debugDiv.innerHTML = assets.pages["debug"]
|
||||
document.body.appendChild(this.debugDiv)
|
||||
|
||||
this.titleDiv = this.byClass("title")
|
||||
this.minimiseDiv = this.byClass("minimise")
|
||||
this.offsetDiv = this.byClass("offset")
|
||||
this.measureNumDiv = this.byClass("measure-num")
|
||||
this.branchHideDiv = this.byClass("branch-hide")
|
||||
this.branchSelectDiv = this.byClass("branch-select")
|
||||
this.branchSelect = this.branchSelectDiv.getElementsByTagName("select")[0]
|
||||
this.branchResetBtn = this.branchSelectDiv.getElementsByClassName("reset")[0]
|
||||
this.volumeDiv = this.byClass("music-volume")
|
||||
this.lyricsHideDiv = this.byClass("lyrics-hide")
|
||||
this.lyricsOffsetDiv = this.byClass("lyrics-offset")
|
||||
this.restartLabel = this.byClass("change-restart-label")
|
||||
this.restartCheckbox = this.byClass("change-restart")
|
||||
this.autoplayLabel = this.byClass("autoplay-label")
|
||||
this.autoplayCheckbox = this.byClass("autoplay")
|
||||
this.restartBtn = this.byClass("restart-btn")
|
||||
this.exitBtn = this.byClass("exit-btn")
|
||||
|
||||
this.moving = false
|
||||
this.windowSymbol = Symbol()
|
||||
pageEvents.add(window, ["mousedown", "mouseup", "touchstart", "touchend", "blur", "resize"], this.stopMove.bind(this), this.windowSymbol)
|
||||
pageEvents.mouseAdd(this, this.onMove.bind(this))
|
||||
pageEvents.add(window, "touchmove", this.onMove.bind(this))
|
||||
pageEvents.add(this.titleDiv, ["mousedown", "touchstart"], this.startMove.bind(this))
|
||||
pageEvents.add(this.minimiseDiv, ["click", "touchstart"], this.minimise.bind(this))
|
||||
pageEvents.add(this.restartBtn, ["click", "touchstart"], this.restartSong.bind(this))
|
||||
pageEvents.add(this.exitBtn, ["click", "touchstart"], this.clean.bind(this))
|
||||
pageEvents.add(this.restartLabel, "touchstart", this.touchBox.bind(this))
|
||||
pageEvents.add(this.autoplayLabel, "touchstart", this.touchBox.bind(this))
|
||||
pageEvents.add(this.autoplayCheckbox, "change", this.toggleAutoplay.bind(this))
|
||||
pageEvents.add(this.branchSelect, "change", this.branchChange.bind(this))
|
||||
pageEvents.add(this.branchResetBtn, ["click", "touchstart"], this.branchReset.bind(this))
|
||||
|
||||
this.offsetSlider = new InputSlider(this.offsetDiv, -60, 60, 3)
|
||||
this.offsetSlider.onchange(this.offsetChange.bind(this))
|
||||
|
||||
this.measureNumSlider = new InputSlider(this.measureNumDiv, 0, 1000, 0)
|
||||
this.measureNumSlider.onchange(this.measureNumChange.bind(this))
|
||||
this.measureNumSlider.set(0)
|
||||
|
||||
this.volumeSlider = new InputSlider(this.volumeDiv, 0, 3, 2)
|
||||
this.volumeSlider.onchange(this.volumeChange.bind(this))
|
||||
this.volumeSlider.set(1)
|
||||
|
||||
this.lyricsSlider = new InputSlider(this.lyricsOffsetDiv, -60, 60, 3)
|
||||
this.lyricsSlider.onchange(this.lyricsChange.bind(this))
|
||||
|
||||
this.moveTo(100, 100)
|
||||
this.restore()
|
||||
this.updateStatus()
|
||||
pageEvents.send("debug")
|
||||
}
|
||||
byClass(name){
|
||||
return this.debugDiv.getElementsByClassName(name)[0]
|
||||
}
|
||||
startMove(event){
|
||||
if(event.which === 1 || event.type === "touchstart"){
|
||||
event.stopPropagation()
|
||||
var divPos = this.debugDiv.getBoundingClientRect()
|
||||
var click = event.type === "touchstart" ? event.changedTouches[0] : event
|
||||
var x = click.pageX - divPos.left
|
||||
var y = click.pageY - divPos.top
|
||||
this.moving = {x: x, y: y}
|
||||
}
|
||||
}
|
||||
onMove(event){
|
||||
if(this.moving){
|
||||
var click = event.type === "touchmove" ? event.changedTouches[0] : event
|
||||
var x = click.clientX - this.moving.x
|
||||
var y = click.clientY - this.moving.y
|
||||
this.moveTo(x, y)
|
||||
}
|
||||
}
|
||||
stopMove(event){
|
||||
if(this.debugDiv.style.display === "none"){
|
||||
return
|
||||
}
|
||||
if(!event || event.type === "resize"){
|
||||
var divPos = this.debugDiv.getBoundingClientRect()
|
||||
var x = divPos.left
|
||||
var y = divPos.top
|
||||
}else{
|
||||
var click = event.type === "touchstart" || event.type === "touchend" ? event.changedTouches[0] : event
|
||||
if(event.type == "blur"){
|
||||
var x = this.moving.x
|
||||
var y = this.moving.y
|
||||
}else{
|
||||
var x = click.clientX - this.moving.x
|
||||
var y = click.clientY - this.moving.y
|
||||
}
|
||||
}
|
||||
var w = this.debugDiv.offsetWidth
|
||||
var h = this.debugDiv.offsetHeight
|
||||
if(x + w > innerWidth){
|
||||
x = innerWidth - w
|
||||
}
|
||||
if(y + h > lastHeight){
|
||||
y = lastHeight - h
|
||||
}
|
||||
if(x < 0){
|
||||
x = 0
|
||||
}
|
||||
if(y < 0){
|
||||
y = 0
|
||||
}
|
||||
this.moveTo(x, y)
|
||||
this.moving = false
|
||||
}
|
||||
moveTo(x, y){
|
||||
this.debugDiv.style.transform = "translate(" + x + "px, " + y + "px)"
|
||||
}
|
||||
restore(){
|
||||
debugObj.state = "open"
|
||||
this.debugDiv.style.display = ""
|
||||
this.stopMove()
|
||||
}
|
||||
minimise(){
|
||||
debugObj.state = "minimised"
|
||||
this.debugDiv.style.display = "none"
|
||||
}
|
||||
updateStatus(){
|
||||
if(debugObj.controller && !this.controller){
|
||||
this.controller = debugObj.controller
|
||||
|
||||
this.restartBtn.style.display = "block"
|
||||
this.autoplayLabel.style.display = "block"
|
||||
if(this.controller.parsedSongData.branches){
|
||||
this.branchHideDiv.style.display = "block"
|
||||
}
|
||||
if(this.controller.lyrics){
|
||||
this.lyricsHideDiv.style.display = "block"
|
||||
}
|
||||
|
||||
var selectedSong = this.controller.selectedSong
|
||||
this.defaultOffset = selectedSong.offset || 0
|
||||
if(this.songHash === selectedSong.hash){
|
||||
this.offsetChange(this.offsetSlider.get(), true)
|
||||
this.branchChange(null, true)
|
||||
this.volumeChange(this.volumeSlider.get(), true)
|
||||
this.lyricsChange(this.lyricsSlider.get(), true)
|
||||
}else{
|
||||
this.songHash = selectedSong.hash
|
||||
this.offsetSlider.set(this.defaultOffset)
|
||||
this.branchReset(null, true)
|
||||
this.volumeSlider.set(this.controller.volume)
|
||||
this.lyricsSlider.set(this.controller.lyrics ? this.controller.lyrics.vttOffset / 1000 : 0)
|
||||
}
|
||||
|
||||
var measures = this.controller.parsedSongData.measures.filter((measure, i, array) => {
|
||||
return i === 0 || Math.abs(measure.ms - array[i - 1].ms) > 0.01
|
||||
})
|
||||
this.measureNumSlider.setMinMax(0, measures.length - 1)
|
||||
if(this.measureNum > 0 && measures.length >= this.measureNum){
|
||||
var measureMS = measures[this.measureNum - 1].ms
|
||||
var game = this.controller.game
|
||||
game.started = true
|
||||
var timestamp = Date.now()
|
||||
var currentDate = timestamp - measureMS
|
||||
game.startDate = currentDate
|
||||
game.sndTime = timestamp - snd.buffer.getTime() * 1000
|
||||
var circles = game.songData.circles
|
||||
for(var i in circles){
|
||||
game.currentCircle = i
|
||||
if(circles[i].endTime >= measureMS){
|
||||
break
|
||||
}
|
||||
game.skipNote(circles[i])
|
||||
}
|
||||
if(game.mainMusicPlaying){
|
||||
game.mainMusicPlaying = false
|
||||
game.mainAsset.stop()
|
||||
}
|
||||
}
|
||||
this.autoplayCheckbox.checked = this.controller.autoPlayEnabled
|
||||
}
|
||||
if(this.controller && !debugObj.controller){
|
||||
this.restartBtn.style.display = ""
|
||||
this.autoplayLabel.style.display = ""
|
||||
this.branchHideDiv.style.display = ""
|
||||
this.lyricsHideDiv.style.display = ""
|
||||
this.controller = null
|
||||
}
|
||||
this.stopMove()
|
||||
}
|
||||
offsetChange(value, noRestart){
|
||||
if(this.controller){
|
||||
var offset = (this.defaultOffset - value) * 1000
|
||||
var songData = this.controller.parsedSongData
|
||||
songData.circles.forEach(circle => {
|
||||
circle.ms = circle.originalMS + offset
|
||||
circle.endTime = circle.originalEndTime + offset
|
||||
})
|
||||
songData.measures.forEach(measure => {
|
||||
measure.ms = measure.originalMS + offset
|
||||
})
|
||||
if(songData.branches){
|
||||
songData.branches.forEach(branch => {
|
||||
branch.ms = branch.originalMS + offset
|
||||
})
|
||||
}
|
||||
if(this.controller.lyrics){
|
||||
this.controller.lyrics.offsetChange(value * 1000)
|
||||
}
|
||||
if(this.restartCheckbox.checked && !noRestart){
|
||||
this.restartSong()
|
||||
}
|
||||
}
|
||||
}
|
||||
measureNumChange(value){
|
||||
this.measureNum = value
|
||||
if(this.restartCheckbox.checked){
|
||||
this.restartSong()
|
||||
}
|
||||
}
|
||||
volumeChange(value, noRestart){
|
||||
if(this.controller){
|
||||
snd.musicGain.setVolumeMul(value)
|
||||
}
|
||||
if(this.restartCheckbox.checked && !noRestart){
|
||||
this.restartSong()
|
||||
}
|
||||
}
|
||||
lyricsChange(value, noRestart){
|
||||
if(this.controller && this.controller.lyrics){
|
||||
this.controller.lyrics.offsetChange(undefined, value * 1000)
|
||||
}
|
||||
if(this.restartCheckbox.checked && !noRestart){
|
||||
this.restartSong()
|
||||
}
|
||||
}
|
||||
restartSong(){
|
||||
if(this.controller){
|
||||
this.controller.restartSong()
|
||||
}
|
||||
}
|
||||
toggleAutoplay(event){
|
||||
if(this.controller){
|
||||
this.controller.autoPlayEnabled = this.autoplayCheckbox.checked
|
||||
if(this.controller.autoPlayEnabled){
|
||||
this.controller.saveScore = false
|
||||
}else{
|
||||
var keyboard = debugObj.controller.keyboard
|
||||
keyboard.setKey(false, "don_l")
|
||||
keyboard.setKey(false, "don_r")
|
||||
keyboard.setKey(false, "ka_l")
|
||||
keyboard.setKey(false, "ka_r")
|
||||
}
|
||||
}
|
||||
}
|
||||
branchChange(event, noRestart){
|
||||
if(this.controller){
|
||||
var game = this.controller.game
|
||||
var name = this.branchSelect.value
|
||||
game.branch = name === "auto" ? false : name
|
||||
game.branchSet = name === "auto"
|
||||
if(noRestart){
|
||||
game.branchStatic = true
|
||||
}
|
||||
var selectedOption = this.branchSelect.selectedOptions[0]
|
||||
this.branchSelect.style.background = selectedOption.style.background
|
||||
if(this.restartCheckbox.checked && !noRestart){
|
||||
this.restartSong()
|
||||
}
|
||||
}
|
||||
}
|
||||
branchReset(event, noRestart){
|
||||
this.branchSelect.value = "auto"
|
||||
this.branchChange(null, noRestart)
|
||||
}
|
||||
touchBox(event){
|
||||
event.currentTarget.click()
|
||||
}
|
||||
clean(){
|
||||
this.offsetSlider.clean()
|
||||
this.measureNumSlider.clean()
|
||||
this.volumeSlider.clean()
|
||||
this.lyricsSlider.clean()
|
||||
|
||||
pageEvents.remove(window, ["mousedown", "mouseup", "touchstart", "touchend", "blur", "resize"], this.windowSymbol)
|
||||
pageEvents.mouseRemove(this)
|
||||
pageEvents.remove(window, "touchmove")
|
||||
pageEvents.remove(this.titleDiv, ["mousedown", "touchstart"])
|
||||
pageEvents.remove(this.minimiseDiv, ["click", "touchstart"])
|
||||
pageEvents.remove(this.restartBtn, ["click", "touchstart"])
|
||||
pageEvents.remove(this.exitBtn, ["click", "touchstart"])
|
||||
pageEvents.remove(this.restartLabel, "touchstart")
|
||||
pageEvents.remove(this.autoplayLabel, "touchstart")
|
||||
pageEvents.remove(this.autoplayCheckbox, "change")
|
||||
pageEvents.remove(this.branchSelect, "change")
|
||||
pageEvents.remove(this.branchResetBtn, ["click", "touchstart"])
|
||||
|
||||
delete this.offsetSlider
|
||||
delete this.measureNumSlider
|
||||
delete this.volumeSlider
|
||||
delete this.titleDiv
|
||||
delete this.minimiseDiv
|
||||
delete this.offsetDiv
|
||||
delete this.measureNumDiv
|
||||
delete this.branchHideDiv
|
||||
delete this.branchSelectDiv
|
||||
delete this.branchSelect
|
||||
delete this.branchResetBtn
|
||||
delete this.volumeDiv
|
||||
delete this.lyricsHideDiv
|
||||
delete this.lyricsOffsetDiv
|
||||
delete this.restartCheckbox
|
||||
delete this.autoplayLabel
|
||||
delete this.autoplayCheckbox
|
||||
delete this.restartBtn
|
||||
delete this.exitBtn
|
||||
delete this.controller
|
||||
delete this.windowSymbol
|
||||
|
||||
debugObj.state = "closed"
|
||||
debugObj.debug = null
|
||||
document.body.removeChild(this.debugDiv)
|
||||
|
||||
delete this.debugDiv
|
||||
}
|
||||
}
|
||||
class InputSlider{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(sliderDiv, min, max, fixedPoint){
|
||||
this.fixedPoint = fixedPoint
|
||||
this.mul = Math.pow(10, fixedPoint)
|
||||
this.min = min * this.mul
|
||||
this.max = max * this.mul
|
||||
|
||||
this.input = sliderDiv.getElementsByTagName("input")[0]
|
||||
this.reset = sliderDiv.getElementsByClassName("reset")[0]
|
||||
this.plus = sliderDiv.getElementsByClassName("plus")[0]
|
||||
this.minus = sliderDiv.getElementsByClassName("minus")[0]
|
||||
this.value = null
|
||||
this.defaultValue = null
|
||||
this.callbacks = []
|
||||
this.touchEnd = []
|
||||
this.windowSymbol = Symbol()
|
||||
pageEvents.add(this.input, ["touchstart", "touchend"], event => {
|
||||
event.stopPropagation()
|
||||
})
|
||||
pageEvents.add(window, ["mouseup", "touchstart", "touchend", "blur"], event => {
|
||||
if(event.type !== "touchstart"){
|
||||
this.touchEnd.forEach(func => func(event))
|
||||
}else if(event.target !== this.input){
|
||||
this.input.blur()
|
||||
}
|
||||
}, this.windowSymbol)
|
||||
|
||||
this.addTouchRepeat(this.plus, this.add.bind(this))
|
||||
this.addTouchRepeat(this.minus, this.subtract.bind(this))
|
||||
this.addTouch(this.reset, this.resetValue.bind(this))
|
||||
pageEvents.add(this.input, "change", this.manualSet.bind(this))
|
||||
pageEvents.add(this.input, "keydown", this.captureKeys.bind(this))
|
||||
}
|
||||
update(noCallback, force){
|
||||
var oldValue = this.input.value
|
||||
if(this.value === null){
|
||||
this.input.value = ""
|
||||
this.input.readOnly = true
|
||||
}else{
|
||||
if(this.value > this.max){
|
||||
this.value = this.max
|
||||
}
|
||||
if(this.value < this.min){
|
||||
this.value = this.min
|
||||
}
|
||||
this.input.value = this.get().toFixed(this.fixedPoint)
|
||||
this.input.readOnly = false
|
||||
}
|
||||
if(force || !noCallback && oldValue !== this.input.value){
|
||||
this.callbacks.forEach(callback => {
|
||||
callback(this.get())
|
||||
})
|
||||
}
|
||||
}
|
||||
set(number){
|
||||
this.value = Math.floor(number * this.mul)
|
||||
this.defaultValue = this.value
|
||||
this.update(true)
|
||||
}
|
||||
setMinMax(min, max){
|
||||
this.min = min
|
||||
this.max = max
|
||||
this.update()
|
||||
}
|
||||
get(){
|
||||
if(this.value === null){
|
||||
return null
|
||||
}else{
|
||||
return Math.floor(this.value) / this.mul
|
||||
}
|
||||
}
|
||||
add(event){
|
||||
if(this.value !== null){
|
||||
var newValue = this.value + this.eventNumber(event)
|
||||
if(newValue <= this.max){
|
||||
this.value = newValue
|
||||
this.update()
|
||||
}
|
||||
}
|
||||
}
|
||||
subtract(event){
|
||||
if(this.value !== null){
|
||||
var newValue = this.value - this.eventNumber(event)
|
||||
if(newValue >= this.min){
|
||||
this.value = newValue
|
||||
this.update()
|
||||
}
|
||||
}
|
||||
}
|
||||
eventNumber(event){
|
||||
return (event.ctrlKey ? 10 : 1) * (event.shiftKey ? 10 : 1) * (event.altKey ? 10 : 1) * 1
|
||||
}
|
||||
resetValue(){
|
||||
this.value = this.defaultValue
|
||||
this.update()
|
||||
}
|
||||
onchange(callback){
|
||||
this.callbacks.push(callback)
|
||||
}
|
||||
manualSet(){
|
||||
var number = parseFloat(this.input.value) * this.mul
|
||||
if(Number.isFinite(number) && this.min <= number && number <= this.max){
|
||||
this.value = number
|
||||
}
|
||||
this.update(false, true)
|
||||
}
|
||||
captureKeys(event){
|
||||
event.stopPropagation()
|
||||
}
|
||||
addTouch(element, callback){
|
||||
pageEvents.add(element, ["mousedown", "touchstart"], event => {
|
||||
if(event.type === "touchstart"){
|
||||
event.preventDefault()
|
||||
}else if(event.which !== 1){
|
||||
return
|
||||
}
|
||||
callback(event)
|
||||
})
|
||||
}
|
||||
addTouchRepeat(element, callback){
|
||||
this.addTouch(element, event => {
|
||||
var active = true
|
||||
var func = () => {
|
||||
active = false
|
||||
this.touchEnd.splice(this.touchEnd.indexOf(func), 1)
|
||||
}
|
||||
this.touchEnd.push(func)
|
||||
var repeat = delay => {
|
||||
if(active && this.touchEnd){
|
||||
callback(event)
|
||||
setTimeout(() => repeat(50), delay)
|
||||
}
|
||||
}
|
||||
repeat(400)
|
||||
})
|
||||
}
|
||||
removeTouch(element){
|
||||
pageEvents.remove(element, ["mousedown", "touchstart"])
|
||||
}
|
||||
clean(){
|
||||
this.removeTouch(this.plus)
|
||||
this.removeTouch(this.minus)
|
||||
this.removeTouch(this.reset)
|
||||
pageEvents.remove(this.input, ["touchstart", "touchend"])
|
||||
pageEvents.remove(window, ["mouseup", "touchstart", "touchend", "blur"], this.windowSymbol)
|
||||
pageEvents.remove(this.input, ["touchstart", "change", "keydown"])
|
||||
|
||||
delete this.input
|
||||
delete this.reset
|
||||
delete this.plus
|
||||
delete this.minus
|
||||
delete this.windowSymbol
|
||||
delete this.touchEnd
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,862 @@
|
|||
class Game{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(controller, selectedSong, songData){
|
||||
this.controller = controller
|
||||
this.selectedSong = selectedSong
|
||||
this.songData = songData
|
||||
this.elapsedTime = 0
|
||||
this.currentCircle = -1
|
||||
this.currentEvent = 0
|
||||
this.updateCurrentCircle()
|
||||
this.combo = 0
|
||||
this.rules = new GameRules(this)
|
||||
this.globalScore = {
|
||||
points: 0,
|
||||
good: 0,
|
||||
ok: 0,
|
||||
bad: 0,
|
||||
maxCombo: 0,
|
||||
drumroll: 0,
|
||||
gauge: 0,
|
||||
title: selectedSong.title,
|
||||
difficulty: this.rules.difficulty
|
||||
}
|
||||
var combo = this.songData.circles.filter(circle => {
|
||||
var type = circle.type
|
||||
return (type === "don" || type === "ka" || type === "daiDon" || type === "daiKa") && (!circle.branch || circle.branch.active)
|
||||
}).length
|
||||
this.soulPoints = this.rules.soulPoints(combo)
|
||||
this.paused = false
|
||||
this.started = false
|
||||
this.mainMusicPlaying = false
|
||||
this.musicFadeOut = 0
|
||||
this.fadeOutStarted = false
|
||||
this.currentTimingPoint = 0
|
||||
this.branchNames = ["normal", "advanced", "master"]
|
||||
this.resetSection()
|
||||
this.gameLagSync = !this.controller.touchEnabled && !(/Firefox/.test(navigator.userAgent))
|
||||
|
||||
assets.songs.forEach(song => {
|
||||
if(song.id == selectedSong.folder){
|
||||
this.mainAsset = song.sound
|
||||
}
|
||||
})
|
||||
}
|
||||
run(){
|
||||
this.timeForDistanceCircle = 2500
|
||||
this.initTiming()
|
||||
this.view = this.controller.view
|
||||
}
|
||||
initTiming(){
|
||||
// Date when the chrono is started (before the game begins)
|
||||
var firstCircle = this.songData.circles[0]
|
||||
if(this.controller.calibrationMode){
|
||||
var offsetTime = 0
|
||||
}else{
|
||||
var offsetTime = Math.max(0, this.timeForDistanceCircle - (firstCircle ? firstCircle.ms : 0)) |0
|
||||
}
|
||||
if(this.controller.multiplayer){
|
||||
var syncWith = this.controller.syncWith
|
||||
var syncCircles = syncWith.game.songData.circles
|
||||
var syncOffsetTime = Math.max(0, this.timeForDistanceCircle - syncCircles[0].ms) |0
|
||||
offsetTime = Math.max(offsetTime, syncOffsetTime)
|
||||
}
|
||||
this.elapsedTime = -offsetTime
|
||||
// The real start for the game will start when chrono will reach 0
|
||||
this.startDate = Date.now() + offsetTime
|
||||
}
|
||||
update(){
|
||||
this.updateTime()
|
||||
// Main operations
|
||||
this.updateCirclesStatus()
|
||||
this.checkPlays()
|
||||
// Event operations
|
||||
this.whenFadeoutMusic()
|
||||
if(this.controller.multiplayer !== 2){
|
||||
this.whenLastCirclePlayed()
|
||||
}
|
||||
}
|
||||
getCircles(){
|
||||
return this.songData.circles
|
||||
}
|
||||
updateCirclesStatus(){
|
||||
var nextSet = false
|
||||
var ms = this.elapsedTime
|
||||
var circles = this.songData.circles
|
||||
var startIndex = this.currentCircle === 0 ? 0 : this.currentCircle - 1
|
||||
var index = 0
|
||||
|
||||
for(var i = startIndex; i < circles.length; i++){
|
||||
var circle = circles[i]
|
||||
if(circle && (!circle.branch || circle.branch.active) && !circle.isPlayed){
|
||||
var type = circle.type
|
||||
var drumrollNotes = type === "balloon" || type === "drumroll" || type === "daiDrumroll"
|
||||
var endTime = circle.endTime + (drumrollNotes ? 0 : this.rules.bad) + this.controller.audioLatency
|
||||
|
||||
if(ms >= circle.ms + this.controller.audioLatency){
|
||||
if(drumrollNotes && !circle.rendaPlayed && ms < endTime + this.controller.audioLatency){
|
||||
circle.rendaPlayed = true
|
||||
if(this.rules.difficulty === "easy"){
|
||||
assets.sounds["v_renda" + this.controller.snd].stop()
|
||||
this.controller.playSound("v_renda")
|
||||
}
|
||||
}
|
||||
}
|
||||
if(circle.daiFailed && (ms >= circle.daiFailed.ms + this.rules.daiLeniency || ms > endTime)){
|
||||
this.checkScore(circle, circle.daiFailed.check)
|
||||
}else if(ms > endTime){
|
||||
if(!this.controller.autoPlayEnabled){
|
||||
if(drumrollNotes){
|
||||
if(circle.section && circle.timesHit === 0){
|
||||
this.resetSection()
|
||||
}
|
||||
circle.played(-1, false)
|
||||
this.updateCurrentCircle()
|
||||
if(this.controller.multiplayer === 1){
|
||||
var value = {
|
||||
pace: (ms - circle.ms - this.controller.audioLatency) / circle.timesHit
|
||||
}
|
||||
if(type === "drumroll" || type === "daiDrumroll"){
|
||||
value.kaAmount = circle.timesKa / circle.timesHit
|
||||
}
|
||||
p2.send("drumroll", value)
|
||||
}
|
||||
}else{
|
||||
this.skipNote(circle)
|
||||
this.updateCurrentCircle()
|
||||
}
|
||||
}
|
||||
}else if(!this.controller.autoPlayEnabled && !nextSet){
|
||||
nextSet = true
|
||||
this.currentCircle = i
|
||||
}
|
||||
if(index++ > 1){
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var branches = this.songData.branches
|
||||
if(branches){
|
||||
var force = this.controller.multiplayer === 2 ? p2 : this
|
||||
var measures = this.songData.measures
|
||||
if(this.controller.multiplayer === 2 || force.branch){
|
||||
if(!force.branchSet){
|
||||
force.branchSet = true
|
||||
if(branches.length){
|
||||
this.setBranch(branches[0], force.branch)
|
||||
}
|
||||
var view = this.controller.view
|
||||
var currentMeasure = view.branch
|
||||
for(var i = measures.length; i--;){
|
||||
var measure = measures[i]
|
||||
if(measure.nextBranch && measure.ms <= ms){
|
||||
currentMeasure = measure.nextBranch.active
|
||||
}
|
||||
}
|
||||
if(view.branch !== currentMeasure){
|
||||
if(!this.branchStatic){
|
||||
view.branchAnimate = {
|
||||
ms: ms,
|
||||
fromBranch: view.branch
|
||||
}
|
||||
}
|
||||
this.branchStatic = false
|
||||
view.branch = currentMeasure
|
||||
}
|
||||
}
|
||||
}
|
||||
for(var i = 0; i < measures.length; i++){
|
||||
var measure = measures[i]
|
||||
if(measure.ms > ms){
|
||||
break
|
||||
}else{
|
||||
if(measure.nextBranch && !measure.gameChecked){
|
||||
measure.gameChecked = true
|
||||
var branch = measure.nextBranch
|
||||
if(branch.type){
|
||||
var accuracy = 0
|
||||
if(branch.type === "drumroll"){
|
||||
if(force.branch){
|
||||
var accuracy = Math.max(0, branch.requirement[force.branch])
|
||||
}else{
|
||||
var accuracy = this.sectionDrumroll
|
||||
}
|
||||
}else if(this.sectionNotes.length !== 0){
|
||||
if(force.branch){
|
||||
var accuracy = Math.max(0, Math.min(100, branch.requirement[force.branch]))
|
||||
}else{
|
||||
var accuracy = this.sectionNotes.reduce((a, b) => a + b) / this.sectionNotes.length * 100
|
||||
}
|
||||
}
|
||||
if(accuracy >= branch.requirement.master){
|
||||
this.setBranch(branch, "master")
|
||||
}else if(accuracy >= branch.requirement.advanced){
|
||||
this.setBranch(branch, "advanced")
|
||||
}else{
|
||||
this.setBranch(branch, "normal")
|
||||
}
|
||||
}else if(this.controller.multiplayer === 1){
|
||||
p2.send("branch", "normal")
|
||||
}
|
||||
}
|
||||
if(this.controller.lyrics){
|
||||
if(!measure.branch){
|
||||
this.controller.lyrics.branch = null
|
||||
}else if(measure.branch.active){
|
||||
this.controller.lyrics.branch = measure.branch.name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(this.controller.lyrics){
|
||||
this.controller.lyrics.update(ms)
|
||||
}
|
||||
}
|
||||
fixNoteStream(keysDon){
|
||||
var circleIsNote = circle => {
|
||||
var type = circle.type
|
||||
return type === "don" || type === "ka" || type === "daiDon" || type === "daiKa"
|
||||
}
|
||||
var correctNote = circle => {
|
||||
var type = circle.type
|
||||
return keysDon ? (type === "don" || type === "daiDon") : (type === "ka" || type === "daiKa")
|
||||
}
|
||||
var ms = this.elapsedTime
|
||||
var circles = this.songData.circles
|
||||
|
||||
for(var i = this.currentCircle + 1; i < circles.length; i++){
|
||||
var circle = circles[i]
|
||||
var relative = ms - circle.ms - this.controller.audioLatency
|
||||
if(!circle.branch || circle.branch.active){
|
||||
if((!circleIsNote(circle) || relative < -this.rules.bad)){
|
||||
break
|
||||
}else if(Math.abs(relative) < this.rules.ok && correctNote(circle)){
|
||||
for(var j = this.currentCircle; j < i; j++){
|
||||
var circle = circles[j]
|
||||
if(circle && !circle.branch || circle.branch.active){
|
||||
this.skipNote(circles[j])
|
||||
}
|
||||
}
|
||||
this.currentCircle = i
|
||||
return circles[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
skipNote(circle){
|
||||
if(circle.section){
|
||||
this.resetSection()
|
||||
}
|
||||
circle.played(-1, circle.type === "daiDon" || circle.type === "daiKa")
|
||||
this.sectionNotes.push(0)
|
||||
this.controller.displayScore(0, true)
|
||||
this.updateCombo(0)
|
||||
this.updateGlobalScore(0, 1)
|
||||
if(this.controller.multiplayer === 1){
|
||||
p2.send("note", {
|
||||
score: -1
|
||||
})
|
||||
}
|
||||
}
|
||||
checkPlays(){
|
||||
var circles = this.songData.circles
|
||||
var circle = circles[this.currentCircle]
|
||||
|
||||
if(this.controller.autoPlayEnabled){
|
||||
while(circle && this.controller.autoPlay(circle)){
|
||||
circle = circles[this.currentCircle]
|
||||
}
|
||||
return
|
||||
}
|
||||
var keys = this.controller.getKeys()
|
||||
|
||||
var don_l = keys["don_l"] && !this.controller.isWaiting("don_l", "score")
|
||||
var don_r = keys["don_r"] && !this.controller.isWaiting("don_r", "score")
|
||||
var ka_l = keys["ka_l"] && !this.controller.isWaiting("ka_l", "score")
|
||||
var ka_r = keys["ka_r"] && !this.controller.isWaiting("ka_r", "score")
|
||||
|
||||
var checkDon = () => {
|
||||
if(don_l && don_r){
|
||||
this.checkKey(["don_l", "don_r"], circle, "daiDon")
|
||||
}else if(don_l){
|
||||
this.checkKey(["don_l"], circle, "don")
|
||||
}else if(don_r){
|
||||
this.checkKey(["don_r"], circle, "don")
|
||||
}
|
||||
}
|
||||
var checkKa = () => {
|
||||
if(ka_l && ka_r){
|
||||
this.checkKey(["ka_l", "ka_r"], circle, "daiKa")
|
||||
}else if(ka_l){
|
||||
this.checkKey(["ka_l"], circle, "ka")
|
||||
}else if(ka_r){
|
||||
this.checkKey(["ka_r"], circle, "ka")
|
||||
}
|
||||
}
|
||||
var keyTime = this.controller.getKeyTime()
|
||||
if(keyTime["don"] >= keyTime["ka"]){
|
||||
checkDon()
|
||||
checkKa()
|
||||
}else{
|
||||
checkKa()
|
||||
checkDon()
|
||||
}
|
||||
}
|
||||
checkKey(keyCodes, circle, check){
|
||||
if(circle && !circle.isPlayed){
|
||||
if(!this.checkScore(circle, check)){
|
||||
return
|
||||
}
|
||||
}
|
||||
keyCodes.forEach(keyCode => {
|
||||
this.controller.waitForKeyup(keyCode, "score")
|
||||
})
|
||||
}
|
||||
checkScore(circle, check){
|
||||
var ms = this.elapsedTime
|
||||
var type = circle.type
|
||||
|
||||
var keysDon = check === "don" || check === "daiDon"
|
||||
var keysKa = check === "ka" || check === "daiKa"
|
||||
var keyDai = check === "daiDon" || check === "daiKa"
|
||||
var typeDon = type === "don" || type === "daiDon"
|
||||
var typeKa = type === "ka" || type === "daiKa"
|
||||
var typeDai = type === "daiDon" || type === "daiKa"
|
||||
|
||||
var keyTime = this.controller.getKeyTime()
|
||||
var currentTime = circle.daiFailed ? circle.daiFailed.ms : keysDon ? keyTime["don"] : keyTime["ka"]
|
||||
var relative = currentTime - circle.ms - this.controller.audioLatency
|
||||
|
||||
if(relative >= this.rules.ok){
|
||||
var fixedNote = this.fixNoteStream(keysDon)
|
||||
if(fixedNote){
|
||||
return this.checkScore(fixedNote, check)
|
||||
}
|
||||
}
|
||||
|
||||
if(typeDon || typeKa){
|
||||
if(-this.rules.bad >= relative || relative >= this.rules.bad){
|
||||
return true
|
||||
}
|
||||
var score = 0
|
||||
if(keysDon && typeDon || keysKa && typeKa){
|
||||
var circleStatus = -1
|
||||
relative = Math.abs(relative)
|
||||
if(relative < this.rules.good){
|
||||
circleStatus = 450
|
||||
}else if(relative < this.rules.ok){
|
||||
circleStatus = 230
|
||||
}else if(relative < this.rules.bad){
|
||||
circleStatus = 0
|
||||
}
|
||||
if(typeDai && !keyDai){
|
||||
if(this.controller.easierBigNotes){
|
||||
// Taiko Force Lv5 can't hit both Dons at the same time, so dai offered
|
||||
keyDai = true
|
||||
}else if(!circle.daiFailed){
|
||||
circle.daiFailed = {
|
||||
ms: ms,
|
||||
status: circleStatus,
|
||||
check: check
|
||||
}
|
||||
return false
|
||||
}else if(ms < circle.daiFailed.ms + this.rules.daiLeniency){
|
||||
return false
|
||||
}else{
|
||||
circleStatus = circle.daiFailed.status
|
||||
}
|
||||
}
|
||||
if(circleStatus === 230 || circleStatus === 450){
|
||||
score = circleStatus
|
||||
}
|
||||
circle.played(score, score === 0 ? typeDai : keyDai)
|
||||
this.controller.displayScore(score, false, typeDai && keyDai)
|
||||
}else{
|
||||
var keyTime = this.controller.getKeyTime()
|
||||
var keyTimeRelative = Math.abs(keyTime.don - keyTime.ka)
|
||||
if(Math.abs(relative) >= (keyTimeRelative <= 25 ? this.rules.bad : this.rules.good)){
|
||||
return true
|
||||
}
|
||||
circle.played(-1, typeDai)
|
||||
this.controller.displayScore(score, true, false)
|
||||
}
|
||||
this.updateCombo(score)
|
||||
this.updateGlobalScore(score, typeDai && keyDai ? 2 : 1, circle.gogoTime)
|
||||
this.updateCurrentCircle()
|
||||
if(circle.section){
|
||||
this.resetSection()
|
||||
}
|
||||
this.sectionNotes.push(score === 450 ? 1 : (score === 230 ? 0.5 : 0))
|
||||
if(this.controller.multiplayer === 1){
|
||||
var value = {
|
||||
score: score,
|
||||
ms: circle.ms - currentTime - this.controller.audioLatency,
|
||||
dai: typeDai ? (keyDai ? 2 : 1) : 0
|
||||
}
|
||||
if((!keysDon || !typeDon) && (!keysKa || !typeKa)){
|
||||
value.reverse = true
|
||||
}
|
||||
p2.send("note", value)
|
||||
}
|
||||
}else{
|
||||
if(circle.ms + this.controller.audioLatency > currentTime || currentTime > circle.endTime + this.controller.audioLatency){
|
||||
return true
|
||||
}
|
||||
if(keysDon && type === "balloon"){
|
||||
this.checkBalloon(circle)
|
||||
if(check === "daiDon" && !circle.isPlayed){
|
||||
this.checkBalloon(circle)
|
||||
}
|
||||
}else if((keysDon || keysKa) && (type === "drumroll" || type === "daiDrumroll")){
|
||||
this.checkDrumroll(circle, keysKa)
|
||||
if(keyDai){
|
||||
this.checkDrumroll(circle, keysKa)
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
checkBalloon(circle){
|
||||
if(circle.timesHit >= circle.requiredHits - 1){
|
||||
var score = 5000
|
||||
this.updateCurrentCircle()
|
||||
circle.hit()
|
||||
circle.played(score)
|
||||
if(this.controller.multiplayer == 1){
|
||||
p2.send("drumroll", {
|
||||
pace: (this.elapsedTime - circle.ms + this.controller.audioLatency) / circle.timesHit
|
||||
})
|
||||
}
|
||||
}else{
|
||||
var score = 300
|
||||
circle.hit()
|
||||
}
|
||||
this.globalScore.drumroll++
|
||||
this.sectionDrumroll++
|
||||
this.globalScore.points += score
|
||||
this.view.setDarkBg(false)
|
||||
}
|
||||
checkDrumroll(circle, keysKa){
|
||||
var ms = this.elapsedTime
|
||||
var dai = circle.type === "daiDrumroll"
|
||||
var score = 100
|
||||
if(circle.section && circle.timesHit === 0){
|
||||
this.resetSection()
|
||||
}
|
||||
circle.hit(keysKa)
|
||||
var keyTime = this.controller.getKeyTime()
|
||||
if(circle.type === "drumroll"){
|
||||
var sound = keyTime["don"] > keyTime["ka"] ? "don" : "ka"
|
||||
}else{
|
||||
var sound = keyTime["don"] > keyTime["ka"] ? "daiDon" : "daiKa"
|
||||
}
|
||||
var circleAnim = new Circle({
|
||||
id: 0,
|
||||
start: ms,
|
||||
type: sound,
|
||||
txt: "",
|
||||
speed: circle.speed,
|
||||
gogoTime: circle.gogoTime,
|
||||
fixedPos: document.hasFocus()
|
||||
})
|
||||
circleAnim.played(score, dai)
|
||||
circleAnim.animate(ms)
|
||||
this.view.drumroll.push(circleAnim)
|
||||
this.globalScore.drumroll++
|
||||
this.sectionDrumroll++
|
||||
this.globalScore.points += score * (dai ? 2 : 1)
|
||||
this.view.setDarkBg(false)
|
||||
}
|
||||
getLastCircle(circles){
|
||||
for(var i = circles.length; i--;){
|
||||
return circles[i]
|
||||
}
|
||||
}
|
||||
whenLastCirclePlayed(){
|
||||
var ms = this.elapsedTime
|
||||
if(!this.lastCircle){
|
||||
var circles = this.songData.circles
|
||||
var circle = this.getLastCircle(circles)
|
||||
this.lastCircle = circle ? circle.endTime : 0
|
||||
if(this.controller.multiplayer){
|
||||
var syncWith = this.controller.syncWith
|
||||
var syncCircles = syncWith.game.songData.circles
|
||||
circle = this.getLastCircle(syncCircles)
|
||||
var syncLastCircle = circle ? circle.endTime : 0
|
||||
if(syncLastCircle > this.lastCircle){
|
||||
this.lastCircle = syncLastCircle
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!this.fadeOutStarted && ms >= this.lastCircle + 2000 + this.controller.audioLatency){
|
||||
this.fadeOutStarted = ms
|
||||
if(this.controller.multiplayer){
|
||||
this.controller.syncWith.game.fadeOutStarted = ms
|
||||
}
|
||||
}
|
||||
}
|
||||
whenFadeoutMusic(){
|
||||
var started = this.fadeOutStarted
|
||||
if(started){
|
||||
var ms = this.elapsedTime
|
||||
var duration = this.mainAsset ? this.mainAsset.duration : 0
|
||||
var musicDuration = duration * 1000 - this.controller.offset
|
||||
if(this.musicFadeOut === 0){
|
||||
if(this.controller.multiplayer === 1){
|
||||
var obj = this.getGlobalScore()
|
||||
obj.name = account.loggedIn ? account.displayName : null
|
||||
p2.send("gameresults", obj)
|
||||
}
|
||||
this.musicFadeOut++
|
||||
}else if(this.musicFadeOut === 1 && ms >= started + 1600){
|
||||
this.controller.gameEnded()
|
||||
if(!p2.session && this.controller.multiplayer === 1){
|
||||
p2.send("gameend")
|
||||
}
|
||||
this.musicFadeOut++
|
||||
}else if(this.musicFadeOut === 2 && (ms >= Math.max(started + 8600, Math.min(started + 8600 + 5000, musicDuration + 250)))){
|
||||
this.controller.displayResults()
|
||||
this.musicFadeOut++
|
||||
}else if(this.musicFadeOut === 3 && (ms >= Math.max(started + 9600, Math.min(started + 9600 + 5000, musicDuration + 1250)))){
|
||||
this.controller.clean()
|
||||
if(this.controller.scoresheet){
|
||||
this.controller.scoresheet.startRedraw()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
playMainMusic(){
|
||||
var ms = this.elapsedTime + this.controller.offset
|
||||
if(!this.mainMusicPlaying && (!this.fadeOutStarted || ms < this.fadeOutStarted + 1600)){
|
||||
if(this.calibrationState === "audio"){
|
||||
var beatInterval = this.controller.view.beatInterval
|
||||
var startAt = ms % beatInterval
|
||||
var duration = this.mainAsset.duration * 1000
|
||||
if(startAt < duration){
|
||||
this.mainAsset.playLoop(0, false, startAt / 1000, 0, beatInterval / 1000)
|
||||
}else{
|
||||
this.mainAsset.playLoop((startAt - duration) / 1000, false, 0, 0, beatInterval / 1000)
|
||||
}
|
||||
}else if(this.controller.multiplayer !== 2 && this.mainAsset){
|
||||
this.mainAsset.play((ms < 0 ? -ms : 0) / 1000, false, Math.max(0, ms / 1000))
|
||||
}
|
||||
this.mainMusicPlaying = true
|
||||
}
|
||||
}
|
||||
togglePause(forcePause, pauseMove, noSound){
|
||||
if(!this.paused){
|
||||
if(forcePause === false){
|
||||
return
|
||||
}
|
||||
if(!noSound){
|
||||
this.controller.playSound("se_pause", 0, true)
|
||||
}
|
||||
this.paused = true
|
||||
this.latestDate = Date.now()
|
||||
if(this.mainAsset){
|
||||
this.mainAsset.stop()
|
||||
}
|
||||
this.mainMusicPlaying = false
|
||||
this.view.pauseMove(pauseMove || 0, true)
|
||||
this.view.gameDiv.classList.add("game-paused")
|
||||
this.view.lastMousemove = this.view.getMS()
|
||||
this.view.cursorHidden = false
|
||||
pageEvents.send("pause")
|
||||
}else if(!forcePause){
|
||||
if(forcePause !== false && this.calibrationState && ["audioHelp", "audioComplete", "videoHelp", "videoComplete", "results"].indexOf(this.calibrationState) !== -1){
|
||||
return
|
||||
}
|
||||
if(this.calibrationState === "audioHelp" || this.calibrationState === "videoHelp"){
|
||||
this.calibrationState = this.calibrationState === "audioHelp" ? "audio" : "video"
|
||||
this.controller.view.pauseOptions = strings.pauseOptions
|
||||
this.controller.playSound("se_don", 0, true)
|
||||
}else if(!noSound){
|
||||
this.controller.playSound("se_cancel", 0, true)
|
||||
}
|
||||
this.paused = false
|
||||
var currentDate = Date.now()
|
||||
this.startDate += currentDate - this.latestDate
|
||||
this.sndTime = currentDate - snd.buffer.getTime() * 1000
|
||||
this.view.gameDiv.classList.remove("game-paused")
|
||||
this.view.pointer()
|
||||
pageEvents.send("unpause", currentDate - this.latestDate)
|
||||
}
|
||||
}
|
||||
isPaused(){
|
||||
return this.paused
|
||||
}
|
||||
updateTime(){
|
||||
// Refreshed date
|
||||
var ms = this.elapsedTime
|
||||
if(ms >= 0 && !this.started){
|
||||
this.startDate = Date.now()
|
||||
this.elapsedTime = this.getAccurateTime()
|
||||
this.started = true
|
||||
this.sndTime = this.startDate - snd.buffer.getTime() * 1000
|
||||
}else if(ms < 0 || ms >= 0 && this.started){
|
||||
var currentDate = Date.now()
|
||||
if(this.gameLagSync){
|
||||
var sndTime = currentDate - snd.buffer.getTime() * 1000
|
||||
var lag = sndTime - this.sndTime
|
||||
if(Math.abs(lag) >= 50){
|
||||
this.startDate += lag
|
||||
this.sndTime = sndTime
|
||||
pageEvents.send("game-lag", lag)
|
||||
}
|
||||
}
|
||||
this.elapsedTime = currentDate - this.startDate
|
||||
}
|
||||
}
|
||||
getAccurateTime(){
|
||||
if(this.isPaused()){
|
||||
return this.elapsedTime
|
||||
}else{
|
||||
return Date.now() - this.startDate
|
||||
}
|
||||
}
|
||||
getCircles(){
|
||||
return this.songData.circles
|
||||
}
|
||||
updateCurrentCircle(){
|
||||
var circles = this.songData.circles
|
||||
do{
|
||||
var circle = circles[++this.currentCircle]
|
||||
}while(circle && (circle.branch && !circle.branch.active))
|
||||
}
|
||||
getCurrentCircle(){
|
||||
return this.currentCircle
|
||||
}
|
||||
updateCombo(score){
|
||||
if(score !== 0){
|
||||
this.combo++
|
||||
}else{
|
||||
this.combo = 0
|
||||
}
|
||||
if(this.combo > this.globalScore.maxCombo){
|
||||
this.globalScore.maxCombo = this.combo
|
||||
}
|
||||
if(this.combo === 50 || this.combo > 0 && this.combo % 100 === 0 && this.combo <= 5000){
|
||||
this.controller.playSound("v_combo_" + this.combo)
|
||||
}
|
||||
if (this.songData.scoremode == 2 && this.combo > 0 && this.combo % 100 == 0) {
|
||||
this.globalScore.points += 10000;
|
||||
}
|
||||
this.view.updateCombo(this.combo)
|
||||
}
|
||||
getCombo(){
|
||||
return this.combo
|
||||
}
|
||||
getGlobalScore(){
|
||||
return this.globalScore
|
||||
}
|
||||
updateGlobalScore(score, multiplier, gogoTime){
|
||||
// Circle score
|
||||
switch(score){
|
||||
case 450:
|
||||
this.globalScore.good++
|
||||
this.globalScore.gauge += this.soulPoints.good
|
||||
break
|
||||
case 230:
|
||||
this.globalScore.ok++
|
||||
this.globalScore.gauge += this.soulPoints.ok
|
||||
break
|
||||
case 0:
|
||||
this.globalScore.bad++
|
||||
this.globalScore.gauge += this.soulPoints.bad
|
||||
break
|
||||
}
|
||||
if (this.songData.scoremode) {
|
||||
switch (score) {
|
||||
case 450:
|
||||
score = this.songData.scoreinit;
|
||||
break;
|
||||
case 230:
|
||||
score = Math.floor(this.songData.scoreinit / 2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Gauge update
|
||||
if(this.globalScore.gauge < 0){
|
||||
this.globalScore.gauge = 0
|
||||
}else if(this.globalScore.gauge > 10000){
|
||||
this.globalScore.gauge = 10000
|
||||
}
|
||||
// Points update
|
||||
if (this.songData.scoremode == 2) {
|
||||
var diff_mul = 0;
|
||||
if (this.combo >= 100) {
|
||||
diff_mul = 8;
|
||||
} else if (this.combo >= 50) {
|
||||
diff_mul = 4;
|
||||
} else if (this.combo >= 30) {
|
||||
diff_mul = 2;
|
||||
} else if (this.combo >= 10) {
|
||||
diff_mul = 1;
|
||||
}
|
||||
score += this.songData.scorediff * diff_mul;
|
||||
} else {
|
||||
score += Math.max(0, Math.floor((Math.min(this.combo, 100) - 1) / 10) * (this.songData.scoremode ? this.songData.scorediff : 100));
|
||||
}
|
||||
|
||||
if(gogoTime){
|
||||
multiplier *= 1.2
|
||||
}
|
||||
this.globalScore.points += Math.floor(score * multiplier / 10) * 10
|
||||
}
|
||||
setBranch(currentBranch, activeName){
|
||||
var pastActive = currentBranch.active
|
||||
var ms = currentBranch.ms
|
||||
for(var i = 0; i < this.songData.branches.length; i++){
|
||||
var branch = this.songData.branches[i]
|
||||
if(branch.ms >= ms){
|
||||
var relevantName = activeName
|
||||
var req = branch.requirement
|
||||
var noNormal = req.advanced <= 0
|
||||
var noAdvanced = req.master <= 0 || req.advanced >= req.master || branch.type === "accuracy" && req.advanced > 100
|
||||
var noMaster = branch.type === "accuracy" && req.master > 100
|
||||
if(relevantName === "normal" && noNormal){
|
||||
relevantName = noAdvanced ? "master" : "advanced"
|
||||
}
|
||||
if(relevantName === "advanced" && noAdvanced){
|
||||
relevantName = noMaster ? "normal" : "master"
|
||||
}
|
||||
if(relevantName === "master" && noMaster){
|
||||
relevantName = noAdvanced ? "normal" : "advanced"
|
||||
}
|
||||
for(var j in this.branchNames){
|
||||
var name = this.branchNames[j]
|
||||
if(name in branch){
|
||||
branch[name].active = name === relevantName
|
||||
}
|
||||
}
|
||||
if(branch === currentBranch){
|
||||
activeName = relevantName
|
||||
}
|
||||
branch.active = relevantName
|
||||
}
|
||||
}
|
||||
var circles = this.songData.circles
|
||||
var circle = circles[this.currentCircle]
|
||||
if(!circle || circle.branch === currentBranch[pastActive]){
|
||||
var ms = this.elapsedTime
|
||||
var closestCircle = circles.findIndex(circle => {
|
||||
return (!circle.branch || circle.branch.active) && circle.endTime + this.controller.audioLatency >= ms
|
||||
})
|
||||
if(closestCircle !== -1){
|
||||
this.currentCircle = closestCircle
|
||||
}
|
||||
}
|
||||
if(this.controller.multiplayer === 1){
|
||||
p2.send("branch", activeName)
|
||||
}
|
||||
}
|
||||
resetSection(){
|
||||
this.sectionNotes = []
|
||||
this.sectionDrumroll = 0
|
||||
}
|
||||
clearKeyTime(){
|
||||
var keyboard = this.controller.keyboard
|
||||
for(var key in keyboard.keyTime){
|
||||
keyboard.keys[key] = null
|
||||
keyboard.keyTime[key] = -Infinity
|
||||
}
|
||||
}
|
||||
calibration(){
|
||||
var view = this.controller.view
|
||||
if(!this.calibrationState){
|
||||
this.controller.parsedSongData.measures = []
|
||||
this.calibrationProgress = {
|
||||
audio: 0,
|
||||
video: 0,
|
||||
requirement: 40
|
||||
}
|
||||
this.calibrationReset("audio", true)
|
||||
}
|
||||
var progress = this.calibrationProgress
|
||||
var state = this.calibrationState
|
||||
switch(state){
|
||||
case "audio":
|
||||
case "video":
|
||||
if(state === "audio" && !this.mainAsset){
|
||||
this.mainAsset = assets.sounds["se_calibration"]
|
||||
this.mainMusicPlaying = false
|
||||
}
|
||||
if(progress.hit >= progress.requirement){
|
||||
var reduced = 0
|
||||
for(var i = 2; i < progress.offsets.length; i++){
|
||||
reduced += progress.offsets[i]
|
||||
}
|
||||
progress[state] = Math.max(0, Math.round(reduced / progress.offsets.length - 2))
|
||||
this.calibrationState += "Complete"
|
||||
view.pauseOptions = []
|
||||
this.clearKeyTime()
|
||||
this.togglePause(true, 1)
|
||||
this.mainAsset = null
|
||||
}
|
||||
break
|
||||
case "audioComplete":
|
||||
case "videoComplete":
|
||||
if(Date.now() - this.latestDate > 3000){
|
||||
var audioComplete = this.calibrationState === "audioComplete"
|
||||
this.controller.playSound("se_pause", 0, true)
|
||||
if(audioComplete){
|
||||
this.calibrationReset("video")
|
||||
}else{
|
||||
view.pauseOptions = [
|
||||
strings.calibration.retryPrevious,
|
||||
strings.calibration.finish
|
||||
]
|
||||
}
|
||||
this.calibrationState = audioComplete ? "videoHelp" : "results"
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
calibrationHit(ms){
|
||||
var progress = this.calibrationProgress
|
||||
var beatInterval = this.controller.view.beatInterval
|
||||
var current = Math.floor((ms + 100) / beatInterval)
|
||||
if(current !== progress.last){
|
||||
var offset = ((ms + 100) % beatInterval) - 100
|
||||
var offsets = progress.offsets
|
||||
if(offsets.length >= progress.requirement){
|
||||
offsets.shift()
|
||||
}
|
||||
offsets.push(offset)
|
||||
progress.hit++
|
||||
progress.last = current
|
||||
this.globalScore.gauge = 10000 / (progress.requirement / progress.hit)
|
||||
}
|
||||
}
|
||||
calibrationReset(to, togglePause){
|
||||
var view = this.controller.view
|
||||
this.songData.circles = []
|
||||
view.pauseOptions = [
|
||||
to === "audio" ? strings.calibration.back : strings.calibration.retryPrevious,
|
||||
strings.calibration.start
|
||||
]
|
||||
this.calibrationState = to + "Help"
|
||||
var progress = this.calibrationProgress
|
||||
progress.offsets = []
|
||||
progress.hit = 0
|
||||
progress.last = null
|
||||
this.globalScore.gauge = 0
|
||||
if(to === "video"){
|
||||
this.clearKeyTime()
|
||||
this.initTiming()
|
||||
this.latestDate = this.startDate
|
||||
this.elapsedTime = 0
|
||||
view.ms = 0
|
||||
}
|
||||
if(togglePause){
|
||||
this.togglePause(true, 1, true)
|
||||
}else{
|
||||
view.pauseMove(1, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,253 @@
|
|||
class GameInput{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(controller){
|
||||
this.controller = controller
|
||||
this.game = this.controller.game
|
||||
|
||||
this.keyboard = new Keyboard({
|
||||
ka_l: ["ka_l"],
|
||||
don_l: ["don_l"],
|
||||
don_r: ["don_r"],
|
||||
ka_r: ["ka_r"],
|
||||
pause: ["q", "esc"],
|
||||
back: ["backspace"],
|
||||
previous: ["left", "up"],
|
||||
next: ["right", "down"],
|
||||
confirm: ["enter", "space"]
|
||||
}, this.keyPress.bind(this))
|
||||
this.keys = {}
|
||||
this.waitKeyupScore = {}
|
||||
this.waitKeyupSound = {}
|
||||
this.waitKeyupMenu = {}
|
||||
this.keyTime = {
|
||||
"don": -Infinity,
|
||||
"ka": -Infinity
|
||||
}
|
||||
this.keyboardEvents = 0
|
||||
|
||||
var layout = settings.getItem("gamepadLayout")
|
||||
if(layout === "b"){
|
||||
var gameBtn = {
|
||||
don_l: ["d", "r", "ls"],
|
||||
don_r: ["a", "x", "rs"],
|
||||
ka_l: ["u", "l", "lb", "lt"],
|
||||
ka_r: ["b", "y", "rb", "rt"]
|
||||
}
|
||||
}else if(layout === "c"){
|
||||
var gameBtn = {
|
||||
don_l: ["d", "l", "ls"],
|
||||
don_r: ["a", "b", "rs"],
|
||||
ka_l: ["u", "r", "lb", "lt"],
|
||||
ka_r: ["x", "y", "rb", "rt"]
|
||||
}
|
||||
}else{
|
||||
var gameBtn = {
|
||||
don_l: ["u", "d", "l", "r", "ls"],
|
||||
don_r: ["a", "b", "x", "y", "rs"],
|
||||
ka_l: ["lb", "lt"],
|
||||
ka_r: ["rb", "rt"]
|
||||
}
|
||||
}
|
||||
this.gamepad = new Gamepad(gameBtn)
|
||||
this.gamepadInterval = setInterval(this.gamepadKeys.bind(this), 1000 / 60 / 2)
|
||||
|
||||
this.gamepadMenu = new Gamepad({
|
||||
cancel: ["a"],
|
||||
confirm: ["b", "ls", "rs"],
|
||||
previous: ["u", "l", "lb", "lt", "lsu", "lsl"],
|
||||
next: ["d", "r", "rb", "rt", "lsd", "lsr"],
|
||||
pause: ["start"]
|
||||
})
|
||||
|
||||
if(controller.multiplayer === 1){
|
||||
pageEvents.add(window, "beforeunload", event => {
|
||||
if(p2.otherConnected){
|
||||
pageEvents.send("p2-abandoned", event)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
keyPress(pressed, name){
|
||||
if(!this.controller.autoPlayEnabled || this.game.isPaused() || name !== "don_l" && name !== "don_r" && name !== "ka_l" && name !== "ka_r"){
|
||||
this.setKey(pressed, name, this.game.getAccurateTime())
|
||||
}
|
||||
}
|
||||
checkGameKeys(){
|
||||
if(this.controller.autoPlayEnabled){
|
||||
this.checkKeySound("don_l", "don")
|
||||
this.checkKeySound("don_r", "don")
|
||||
this.checkKeySound("ka_l", "ka")
|
||||
this.checkKeySound("ka_r", "ka")
|
||||
}
|
||||
}
|
||||
gamepadKeys(){
|
||||
if(!this.game.isPaused() && !this.controller.autoPlayEnabled){
|
||||
this.gamepad.play((pressed, name) => {
|
||||
if(pressed){
|
||||
if(this.keys[name]){
|
||||
this.setKey(false, name)
|
||||
}
|
||||
this.setKey(true, name, this.game.getAccurateTime())
|
||||
}else{
|
||||
this.setKey(false, name)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
checkMenuKeys(){
|
||||
if(!this.controller.multiplayer && !this.locked && this.controller.view.pauseOptions.length !== 0){
|
||||
var moveMenu = 0
|
||||
var ms = this.game.getAccurateTime()
|
||||
this.gamepadMenu.play((pressed, name) => {
|
||||
if(pressed){
|
||||
if(this.game.isPaused()){
|
||||
if(name === "cancel"){
|
||||
this.locked = true
|
||||
return setTimeout(() => {
|
||||
this.controller.togglePause()
|
||||
this.locked = false
|
||||
}, 200)
|
||||
}
|
||||
}
|
||||
if(this.keys[name]){
|
||||
this.setKey(false, name)
|
||||
}
|
||||
this.setKey(true, name, ms)
|
||||
}else{
|
||||
this.setKey(false, name)
|
||||
}
|
||||
})
|
||||
this.checkKey("pause", "menu", () => {
|
||||
this.controller.togglePause()
|
||||
for(var key in this.keyTime){
|
||||
this.keys[key] = null
|
||||
this.keyTime[key] = -Infinity
|
||||
}
|
||||
})
|
||||
var moveMenuMinus = () => {
|
||||
moveMenu = -1
|
||||
}
|
||||
var moveMenuPlus = () => {
|
||||
moveMenu = 1
|
||||
}
|
||||
var moveMenuConfirm = () => {
|
||||
if(this.game.isPaused()){
|
||||
this.locked = true
|
||||
setTimeout(() => {
|
||||
this.controller.view.pauseConfirm()
|
||||
this.locked = false
|
||||
}, 200)
|
||||
}
|
||||
}
|
||||
this.checkKey("previous", "menu", moveMenuMinus)
|
||||
this.checkKey("ka_l", "menu", moveMenuMinus)
|
||||
this.checkKey("next", "menu", moveMenuPlus)
|
||||
this.checkKey("ka_r", "menu", moveMenuPlus)
|
||||
this.checkKey("confirm", "menu", moveMenuConfirm)
|
||||
this.checkKey("don_l", "menu", moveMenuConfirm)
|
||||
this.checkKey("don_r", "menu", moveMenuConfirm)
|
||||
if(moveMenu && this.game.isPaused()){
|
||||
this.controller.playSound("se_ka", 0, true)
|
||||
this.controller.view.pauseMove(moveMenu)
|
||||
}
|
||||
}
|
||||
if(this.controller.multiplayer !== 2){
|
||||
this.checkKey("back", "menu", () => {
|
||||
if(this.controller.multiplayer === 1 && p2.otherConnected){
|
||||
p2.send("gameend")
|
||||
pageEvents.send("p2-abandoned")
|
||||
}
|
||||
this.controller.togglePause()
|
||||
this.controller.songSelection()
|
||||
})
|
||||
}
|
||||
}
|
||||
checkKey(name, type, callback){
|
||||
if(this.keys[name] && !this.isWaiting(name, type)){
|
||||
this.waitForKeyup(name, type)
|
||||
callback()
|
||||
}
|
||||
}
|
||||
checkKeySound(name, sound){
|
||||
this.checkKey(name, "sound", () => {
|
||||
var circles = this.controller.getCircles()
|
||||
var circle = circles[this.controller.getCurrentCircle()]
|
||||
var currentTime = this.keyTime[name]
|
||||
this.keyTime[sound] = currentTime
|
||||
if(circle && !circle.isPlayed){
|
||||
if(circle.type === "balloon"){
|
||||
if(sound === "don" && circle.requiredHits - circle.timesHit <= 1){
|
||||
this.controller.playSound("se_balloon")
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
this.controller.playSound("neiro_1_" + sound)
|
||||
})
|
||||
}
|
||||
getKeys(){
|
||||
return this.keys
|
||||
}
|
||||
setKey(pressed, name, ms){
|
||||
if(pressed){
|
||||
this.keys[name] = true
|
||||
this.waitKeyupScore[name] = false
|
||||
this.waitKeyupSound[name] = false
|
||||
this.waitKeyupMenu[name] = false
|
||||
if(this.game.isPaused()){
|
||||
return
|
||||
}
|
||||
this.keyTime[name] = ms
|
||||
var calibrationState = this.game.calibrationState
|
||||
var calibration = calibrationState && !this.game.paused
|
||||
if(name == "don_l" || name == "don_r"){
|
||||
if(calibration){
|
||||
this.game.calibrationHit(ms)
|
||||
}else{
|
||||
this.checkKeySound(name, "don")
|
||||
}
|
||||
this.keyboardEvents++
|
||||
}else if(name == "ka_l" || name == "ka_r"){
|
||||
if(!calibration){
|
||||
this.checkKeySound(name, "ka")
|
||||
}
|
||||
this.keyboardEvents++
|
||||
}
|
||||
}
|
||||
}
|
||||
isWaiting(name, type){
|
||||
if(type === "score"){
|
||||
return this.waitKeyupScore[name]
|
||||
}else if(type === "sound"){
|
||||
return this.waitKeyupSound[name]
|
||||
}else if(type === "menu"){
|
||||
return this.waitKeyupMenu[name]
|
||||
}
|
||||
}
|
||||
waitForKeyup(name, type){
|
||||
if(!this.keys[name]){
|
||||
return
|
||||
}
|
||||
if(type === "score"){
|
||||
this.waitKeyupScore[name] = true
|
||||
}else if(type === "sound"){
|
||||
this.waitKeyupSound[name] = true
|
||||
}else if(type === "menu"){
|
||||
this.waitKeyupMenu[name] = true
|
||||
}
|
||||
}
|
||||
getKeyTime(){
|
||||
return this.keyTime
|
||||
}
|
||||
clean(){
|
||||
this.keyboard.clean()
|
||||
this.gamepad.clean()
|
||||
this.gamepadMenu.clean()
|
||||
clearInterval(this.gamepadInterval)
|
||||
if(this.controller.multiplayer === 1){
|
||||
pageEvents.remove(window, "beforeunload")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,153 @@
|
|||
class Gamepad{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(bindings, callback){
|
||||
this.bindings = bindings
|
||||
this.callback = !!callback
|
||||
this.b = {
|
||||
"a": 0,
|
||||
"b": 1,
|
||||
"x": 2,
|
||||
"y": 3,
|
||||
"lb": 4,
|
||||
"rb": 5,
|
||||
"lt": 6,
|
||||
"rt": 7,
|
||||
"back": 8,
|
||||
"start": 9,
|
||||
"ls": 10,
|
||||
"rs": 11,
|
||||
"u": 12,
|
||||
"d": 13,
|
||||
"l": 14,
|
||||
"r": 15,
|
||||
"guide": 16,
|
||||
"lsu": "lsu",
|
||||
"lsr": "lsr",
|
||||
"lsd": "lsd",
|
||||
"lsl": "lsl"
|
||||
}
|
||||
this.btn = {}
|
||||
this.gamepadEvents = 0
|
||||
if(callback){
|
||||
this.interval = setInterval(() => {
|
||||
this.play(callback)
|
||||
}, 1000 / 60)
|
||||
}
|
||||
}
|
||||
play(callback){
|
||||
if("getGamepads" in navigator){
|
||||
var gamepads = navigator.getGamepads()
|
||||
if(gamepads.length === 0){
|
||||
return
|
||||
}
|
||||
}else{
|
||||
return
|
||||
}
|
||||
if(pageEvents.lastKeyEvent + 5000 > Date.now()){
|
||||
return
|
||||
}
|
||||
|
||||
var bindings = this.bindings
|
||||
var force = {
|
||||
lsu: false,
|
||||
lsr: false,
|
||||
lsd: false,
|
||||
lsl: false
|
||||
}
|
||||
|
||||
for(var i = 0; i < gamepads.length; i++){
|
||||
if(gamepads[i]){
|
||||
var axes = gamepads[i].axes
|
||||
if(axes.length >= 2){
|
||||
force.lsl = force.lsl || axes[0] <= -0.5
|
||||
force.lsr = force.lsr || axes[0] >= 0.5
|
||||
force.lsu = force.lsu || axes[1] <= -0.5
|
||||
force.lsd = force.lsd || axes[1] >= 0.5
|
||||
}
|
||||
if(axes.length >= 10){
|
||||
// TaTaCon left D-Pad, DualSense D-Pad
|
||||
for(var pov = 0; pov < 8; pov++){
|
||||
if(Math.abs(axes[9] - (pov / 3.5 - 1)) <= 0.01){
|
||||
force.u = force.u || pov === 7 || pov === 0 || pov === 1
|
||||
force.r = force.r || pov === 1 || pov === 2 || pov === 3
|
||||
force.d = force.d || pov === 3 || pov === 4 || pov === 5
|
||||
force.l = force.l || pov === 5 || pov === 6 || pov === 7
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(var i = 0; i < gamepads.length; i++){
|
||||
if(gamepads[i]){
|
||||
this.toRelease = {}
|
||||
for(var bind in bindings){
|
||||
this.toRelease[bind] = bindings[bind].length
|
||||
}
|
||||
for(var bind in bindings){
|
||||
for(var name in bindings[bind]){
|
||||
var bindName = bindings[bind][name]
|
||||
this.checkButton(gamepads, this.b[bindName], bind, callback, force[bindName])
|
||||
if(!this.b){
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
checkButton(gamepads, btnName, keyCode, callback, force){
|
||||
var button = false
|
||||
|
||||
if(typeof force === "undefined"){
|
||||
for(var i = 0; i < gamepads.length; i++){
|
||||
if(gamepads[i]){
|
||||
var btn = gamepads[i].buttons[btnName]
|
||||
if(btn){
|
||||
var btnPressed = btn.pressed || btn.value >= 0.5
|
||||
if(btnPressed){
|
||||
button = btnPressed
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var pressed = !this.btn[btnName] && button
|
||||
var released = this.btn[btnName] && !button
|
||||
}else{
|
||||
var pressed = !this.btn[btnName] && force
|
||||
var released = this.btn[btnName] && !force
|
||||
}
|
||||
|
||||
if(pressed){
|
||||
this.btn[btnName] = true
|
||||
}else if(released){
|
||||
this.btn[btnName] = false
|
||||
}
|
||||
|
||||
if(pressed){
|
||||
callback(true, keyCode)
|
||||
this.gamepadEvents++
|
||||
}else if(!button){
|
||||
if(released){
|
||||
this.toRelease[keyCode + "released"] = true
|
||||
}
|
||||
this.toRelease[keyCode]--
|
||||
if(this.toRelease[keyCode] === 0 && this.toRelease[keyCode + "released"]){
|
||||
callback(false, keyCode)
|
||||
}
|
||||
}
|
||||
}
|
||||
clean(){
|
||||
if(this.callback){
|
||||
clearInterval(this.interval)
|
||||
}
|
||||
delete this.bindings
|
||||
delete this.b
|
||||
delete this.btn
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
class GameRules{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(game){
|
||||
this.difficulty = game.controller.selectedSong.difficulty
|
||||
var frame = 1000 / 60
|
||||
|
||||
switch(this.difficulty){
|
||||
case "easy":
|
||||
case "normal":
|
||||
this.good = 5 / 2 * frame
|
||||
this.ok = 13 / 2 * frame
|
||||
this.bad = 15 / 2 * frame
|
||||
break
|
||||
case "hard":
|
||||
case "oni":
|
||||
case "ura":
|
||||
default:
|
||||
this.good = 3 / 2 * frame
|
||||
this.ok = 9 / 2 * frame
|
||||
this.bad = 13 / 2 * frame
|
||||
break
|
||||
}
|
||||
switch(this.difficulty){
|
||||
case "easy":
|
||||
this.gaugeClear = 30 / 50
|
||||
break
|
||||
case "normal":
|
||||
case "hard":
|
||||
this.gaugeClear = 35 / 50
|
||||
break
|
||||
case "oni":
|
||||
case "ura":
|
||||
this.gaugeClear = 40 / 50
|
||||
break
|
||||
default:
|
||||
this.gaugeClear = 51 / 50
|
||||
break
|
||||
}
|
||||
|
||||
this.daiLeniency = 2 * frame
|
||||
}
|
||||
soulPoints(combo){
|
||||
var good, ok, bad
|
||||
switch(this.difficulty){
|
||||
case "easy":
|
||||
good = Math.floor(10000 / combo * 1.575)
|
||||
ok = Math.floor(good * 0.75)
|
||||
bad = Math.ceil(good / -2)
|
||||
break
|
||||
case "normal":
|
||||
good = Math.floor(10000 / combo / 0.7)
|
||||
ok = Math.floor(good * 0.75)
|
||||
bad = Math.ceil(good / -0.75)
|
||||
break
|
||||
case "hard":
|
||||
good = Math.floor(10000 / combo * 1.5)
|
||||
ok = Math.floor(good * 0.75)
|
||||
bad = Math.ceil(good / -0.8)
|
||||
break
|
||||
case "oni":
|
||||
case "ura":
|
||||
good = Math.floor(10000 / combo / 0.7)
|
||||
ok = Math.floor(good * 0.5)
|
||||
bad = Math.ceil(good * -1.6)
|
||||
break
|
||||
}
|
||||
return {good: good, ok: ok, bad: bad}
|
||||
}
|
||||
gaugePercent(gauge){
|
||||
return Math.floor(gauge / 200) / 50
|
||||
}
|
||||
clearReached(gauge){
|
||||
return this.gaugePercent(gauge) >= this.gaugeClear
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,285 @@
|
|||
class Gpicker{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(){
|
||||
this.apiKey = gameConfig.google_credentials.api_key
|
||||
this.oauthClientId = gameConfig.google_credentials.oauth_client_id
|
||||
this.projectNumber = gameConfig.google_credentials.project_number
|
||||
this.scope = "https://www.googleapis.com/auth/drive.readonly"
|
||||
this.folder = "application/vnd.google-apps.folder"
|
||||
this.filesUrl = "https://www.googleapis.com/drive/v3/files/"
|
||||
this.resolveQueue = []
|
||||
this.queueActive = false
|
||||
this.clientCallbackBind = this.clientCallback.bind(this)
|
||||
}
|
||||
browse(lockedCallback, errorCallback){
|
||||
return this.loadApi(lockedCallback, errorCallback)
|
||||
.then(() => this.getToken(lockedCallback, errorCallback))
|
||||
.then(() => new Promise((resolve, reject) => {
|
||||
this.displayPicker(data => {
|
||||
if(data.action === "picked"){
|
||||
var file = data.docs[0]
|
||||
var folders = []
|
||||
var rateLimit = -1
|
||||
var lastBatch = 0
|
||||
var walk = (files, output=[]) => {
|
||||
for(var i = 0; i < files.length; i++){
|
||||
var path = files[i].path ? files[i].path + "/" : ""
|
||||
var list = files[i].list
|
||||
if(!list){
|
||||
continue
|
||||
}
|
||||
for(var j = 0; j < list.length; j++){
|
||||
var file = list[j]
|
||||
if(file.mimeType === this.folder){
|
||||
folders.push({
|
||||
path: path + file.name,
|
||||
id: file.id
|
||||
})
|
||||
}else{
|
||||
output.push(new GdriveFile({
|
||||
path: path + file.name,
|
||||
name: file.name,
|
||||
id: file.id
|
||||
}))
|
||||
}
|
||||
}
|
||||
}
|
||||
var batchList = []
|
||||
for(var i = 0; i < folders.length && batchList.length < 100; i++){
|
||||
if(!folders[i].listed){
|
||||
folders[i].pos = i
|
||||
folders[i].listed = true
|
||||
batchList.push(folders[i])
|
||||
}
|
||||
}
|
||||
if(batchList.length){
|
||||
var batch = gapi.client.newBatch()
|
||||
batchList.forEach(folder => {
|
||||
var req = {
|
||||
q: "'" + folder.id + "' in parents and trashed = false",
|
||||
orderBy: "name_natural"
|
||||
}
|
||||
if(folder.pageToken){
|
||||
req.pageToken = folder.pageToken
|
||||
}
|
||||
batch.add(gapi.client.drive.files.list(req), {id: folder.pos})
|
||||
})
|
||||
if(lastBatch + batchList.length > 100){
|
||||
var waitPromise = this.sleep(1000)
|
||||
}else{
|
||||
var waitPromise = Promise.resolve()
|
||||
}
|
||||
return waitPromise.then(() => this.queue()).then(() => batch.then(responses => {
|
||||
var files = []
|
||||
var rateLimited = false
|
||||
for(var i in responses.result){
|
||||
var result = responses.result[i].result
|
||||
if(result.error){
|
||||
if(result.error.errors[0].domain !== "usageLimits"){
|
||||
console.warn(result)
|
||||
}else if(!rateLimited){
|
||||
rateLimited = true
|
||||
rateLimit++
|
||||
folders.push({
|
||||
path: folders[i].path,
|
||||
id: folders[i].id,
|
||||
pageToken: folders[i].pageToken
|
||||
})
|
||||
}
|
||||
}else{
|
||||
if(result.nextPageToken){
|
||||
folders.push({
|
||||
path: folders[i].path,
|
||||
id: folders[i].id,
|
||||
pageToken: result.nextPageToken
|
||||
})
|
||||
}
|
||||
files.push({path: folders[i].path, list: result.files})
|
||||
}
|
||||
}
|
||||
if(rateLimited){
|
||||
return this.sleep(Math.pow(2, rateLimit) * 1000).then(() => walk(files, output))
|
||||
}else{
|
||||
return walk(files, output)
|
||||
}
|
||||
}))
|
||||
}else{
|
||||
return output
|
||||
}
|
||||
}
|
||||
if(file.mimeType === this.folder){
|
||||
return walk([{list: [file]}]).then(resolve, reject)
|
||||
}else{
|
||||
return reject("cancel")
|
||||
}
|
||||
}else if(data.action === "cancel"){
|
||||
return reject("cancel")
|
||||
}
|
||||
})
|
||||
}))
|
||||
}
|
||||
loadApi(lockedCallback=()=>{}, errorCallback=()=>{}){
|
||||
if(window.gapi && gapi.client && gapi.client.drive){
|
||||
return Promise.resolve()
|
||||
}
|
||||
var promises = [
|
||||
loader.loadScript("https://apis.google.com/js/api.js"),
|
||||
loader.loadScript("https://accounts.google.com/gsi/client")
|
||||
]
|
||||
var apiLoaded = false
|
||||
return Promise.all(promises).then(() => new Promise((resolve, reject) =>
|
||||
gapi.load("picker:client", {
|
||||
callback: resolve,
|
||||
onerror: reject
|
||||
})
|
||||
))
|
||||
.then(() => new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
if(!apiLoaded){
|
||||
lockedCallback(false)
|
||||
}
|
||||
}, 3000)
|
||||
return gapi.client.load("drive", "v3").then(resolve, reject)
|
||||
})).then(() => {
|
||||
apiLoaded = true
|
||||
lockedCallback(true)
|
||||
}).catch(e => {
|
||||
errorCallback(Array.isArray(e) ? e[0] : e)
|
||||
return Promise.reject("cancel")
|
||||
})
|
||||
}
|
||||
getClient(errorCallback=()=>{}, force){
|
||||
var obj = {
|
||||
client_id: this.oauthClientId,
|
||||
scope: this.scope,
|
||||
callback: this.clientCallbackBind
|
||||
}
|
||||
if(force){
|
||||
if(!this.clientForce){
|
||||
obj.select_account = true
|
||||
this.clientForce = google.accounts.oauth2.initTokenClient(obj)
|
||||
}
|
||||
return this.clientForce
|
||||
}else{
|
||||
if(!this.client){
|
||||
this.client = google.accounts.oauth2.initTokenClient(obj)
|
||||
}
|
||||
return this.client
|
||||
}
|
||||
}
|
||||
clientCallback(tokenResponse){
|
||||
this.tokenResponse = tokenResponse
|
||||
this.oauthToken = tokenResponse && tokenResponse.access_token
|
||||
if(this.oauthToken && this.tokenResolve){
|
||||
this.tokenResolve()
|
||||
}
|
||||
}
|
||||
getToken(lockedCallback=()=>{}, errorCallback=()=>{}, force){
|
||||
if(this.oauthToken && !force){
|
||||
return Promise.resolve()
|
||||
}
|
||||
var client = this.getClient(errorCallback, force)
|
||||
var promise = new Promise(resolve => {
|
||||
this.tokenResolve = resolve
|
||||
})
|
||||
lockedCallback(false)
|
||||
client.requestAccessToken()
|
||||
return promise.then(() => {
|
||||
this.tokenResolve = null
|
||||
if(this.checkScope()){
|
||||
lockedCallback(true)
|
||||
}else{
|
||||
return Promise.reject("cancel")
|
||||
}
|
||||
})
|
||||
}
|
||||
checkScope(){
|
||||
return google.accounts.oauth2.hasGrantedAnyScope(this.tokenResponse, this.scope)
|
||||
}
|
||||
switchAccounts(lockedCallback, errorCallback){
|
||||
return this.loadApi().then(() => this.getToken(lockedCallback, errorCallback, true))
|
||||
}
|
||||
displayPicker(callback){
|
||||
var picker = gapi.picker.api
|
||||
new picker.PickerBuilder()
|
||||
.setDeveloperKey(this.apiKey)
|
||||
.setAppId(this.projectNumber)
|
||||
.setOAuthToken(this.oauthToken)
|
||||
.setLocale(strings.gpicker.locale)
|
||||
.hideTitleBar()
|
||||
.addView(new picker.DocsView("folders")
|
||||
.setLabel(strings.gpicker.myDrive)
|
||||
.setParent("root")
|
||||
.setSelectFolderEnabled(true)
|
||||
.setMode("grid")
|
||||
)
|
||||
.addView(new picker.DocsView("folders")
|
||||
.setLabel(strings.gpicker.starred)
|
||||
.setStarred(true)
|
||||
.setSelectFolderEnabled(true)
|
||||
.setMode("grid")
|
||||
)
|
||||
.addView(new picker.DocsView("folders")
|
||||
.setLabel(strings.gpicker.sharedWithMe)
|
||||
.setOwnedByMe(false)
|
||||
.setSelectFolderEnabled(true)
|
||||
.setMode("list")
|
||||
)
|
||||
.setCallback(callback)
|
||||
.setSize(Infinity, Infinity)
|
||||
.build()
|
||||
.setVisible(true)
|
||||
}
|
||||
downloadFile(id, responseType, retry){
|
||||
var url = this.filesUrl + id + "?alt=media"
|
||||
return this.queue().then(this.getToken.bind(this)).then(() =>
|
||||
loader.ajax(url, request => {
|
||||
if(responseType){
|
||||
request.responseType = responseType
|
||||
}
|
||||
request.setRequestHeader("Authorization", "Bearer " + this.oauthToken)
|
||||
}, true).then(event => {
|
||||
var request = event.target
|
||||
var reject = () => Promise.reject(`${url} (${request.status})`)
|
||||
if(request.status === 200){
|
||||
return request.response
|
||||
}else if(request.status === 401 && !retry){
|
||||
return new Response(request.response).json().then(response => {
|
||||
var e = response.error
|
||||
if(e && e.errors[0].reason === "authError"){
|
||||
delete this.oauthToken
|
||||
return this.downloadFile(id, responseType, true)
|
||||
}else{
|
||||
return reject()
|
||||
}
|
||||
}, reject)
|
||||
}
|
||||
return reject()
|
||||
})
|
||||
)
|
||||
}
|
||||
sleep(time){
|
||||
return new Promise(resolve => setTimeout(resolve, time))
|
||||
}
|
||||
queue(){
|
||||
return new Promise(resolve => {
|
||||
this.resolveQueue.push(resolve)
|
||||
if(!this.queueActive){
|
||||
this.queueActive = true
|
||||
this.queueTimer = setInterval(this.parseQueue.bind(this), 100)
|
||||
this.parseQueue()
|
||||
}
|
||||
})
|
||||
}
|
||||
parseQueue(){
|
||||
if(this.resolveQueue.length){
|
||||
var resolve = this.resolveQueue.shift()
|
||||
resolve()
|
||||
}else{
|
||||
this.queueActive = false
|
||||
clearInterval(this.queueTimer)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
class IDB{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(name, store){
|
||||
this.name = name
|
||||
this.store = store
|
||||
}
|
||||
start(){
|
||||
if(this.db){
|
||||
return Promise.resolve(this.db)
|
||||
}
|
||||
var request = indexedDB.open(this.name)
|
||||
request.onupgradeneeded = event => {
|
||||
var db = event.target.result
|
||||
db.createObjectStore(this.store)
|
||||
}
|
||||
return this.promise(request).then(result => {
|
||||
this.db = result
|
||||
return this.db
|
||||
}, target =>
|
||||
console.warn("DB error", target)
|
||||
)
|
||||
}
|
||||
promise(request){
|
||||
return new Promise((resolve, reject) => {
|
||||
return pageEvents.race(request, "success", "error").then(response => {
|
||||
if(response.type === "success"){
|
||||
return resolve(event.target.result)
|
||||
}else{
|
||||
return reject(event.target)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
transaction(method, ...args){
|
||||
return this.start().then(db =>
|
||||
db.transaction(this.store, "readwrite").objectStore(this.store)[method](...args)
|
||||
).then(this.promise.bind(this))
|
||||
}
|
||||
getItem(name){
|
||||
return this.transaction("get", name)
|
||||
}
|
||||
setItem(name, value){
|
||||
return this.transaction("put", value, name)
|
||||
}
|
||||
removeItem(name){
|
||||
return this.transaction("delete", name)
|
||||
}
|
||||
removeDB(){
|
||||
delete this.db
|
||||
return indexedDB.deleteDatabase(this.name)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,658 @@
|
|||
class ImportSongs{
|
||||
constructor(...args){
|
||||
this.init(...args)
|
||||
}
|
||||
init(limited, otherFiles, noPlugins, pluginAmount){
|
||||
this.limited = limited
|
||||
this.tjaFiles = []
|
||||
this.osuFiles = []
|
||||
this.assetFiles = {}
|
||||
this.pluginFiles = []
|
||||
this.otherFiles = otherFiles || {}
|
||||
this.noPlugins = noPlugins
|
||||
this.pluginAmount = pluginAmount
|
||||
this.songs = []
|
||||
this.stylesheet = []
|
||||
this.plugins = []
|
||||
this.songTitle = this.otherFiles.songTitle || {}
|
||||
this.uraRegex = /\s*[\((]裏[\))]$/
|
||||
this.courseTypes = {
|
||||
"easy": 0,
|
||||
"normal": 1,
|
||||
"hard": 2,
|
||||
"oni": 3,
|
||||
"ura": 4
|
||||
}
|
||||
this.categoryAliases = {}
|
||||
assets.categories.forEach(cat => {
|
||||
this.categoryAliases[cat.title.toLowerCase()] = cat.id
|
||||
if(cat.aliases){
|
||||
cat.aliases.forEach(alias => {
|
||||
this.categoryAliases[alias.toLowerCase()] = cat.id
|
||||
})
|
||||
}
|
||||
if(cat.title_lang){
|
||||
for(var i in cat.title_lang){
|
||||
this.categoryAliases[cat.title_lang[i].toLowerCase()] = cat.id
|
||||
}
|
||||
}
|
||||
})
|
||||
this.assetSelectors = {}
|
||||
for(var selector in assets.cssBackground){
|
||||
var filename = assets.cssBackground[selector]
|
||||
var index = filename.lastIndexOf(".")
|
||||
if(index !== -1){
|
||||
filename = filename.slice(0, index)
|
||||
}
|
||||
this.assetSelectors[filename] = selector
|
||||
}
|
||||
this.comboVoices = ["v_combo_50"].concat(Array.from(Array(50), (d, i) => "v_combo_" + ((i + 1) * 100)))
|
||||
}
|
||||
load(files){
|
||||
var extensionRegex = /\.[^\/]+$/
|
||||
files.sort((a, b) => {
|
||||
var path1 = a.path.replace(extensionRegex, "")
|
||||
var path2 = b.path.replace(extensionRegex, "")
|
||||
return path1 > path2 ? 1 : -1
|
||||
})
|
||||
|
||||
var metaFiles = []
|
||||
for(var i = 0; i < files.length; i++){
|
||||
var file = files[i]
|
||||
var name = file.name.toLowerCase()
|
||||
var path = file.path.toLowerCase()
|
||||
if(name.endsWith(".tja") || name.endsWith(".tjf")){
|
||||
this.tjaFiles.push({
|
||||
file: file,
|
||||
index: i
|
||||
})
|
||||
}else if(name.endsWith(".osu")){
|
||||
this.osuFiles.push({
|
||||
file: file,
|
||||
index: i
|
||||
})
|
||||
}else if(!this.limited && (name === "genre.ini" || name === "box.def") || name === "songtitle.txt"){
|
||||
var level = (file.path.match(/\//g) || []).length
|
||||
metaFiles.push({
|
||||
file: file,
|
||||
level: (level * 2) + (name === "genre.ini" ? 1 : 0)
|
||||
})
|
||||
}else if(!this.limited && (path.indexOf("/taiko-web assets/") !== -1 || path.indexOf("taiko-web assets/") === 0)){
|
||||
if(!(name in this.assetFiles)){
|
||||
this.assetFiles[name] = file
|
||||
}
|
||||
}else if(name.endsWith(".taikoweb.js")){
|
||||
this.pluginFiles.push({
|
||||
file: file,
|
||||
index: i
|
||||
})
|
||||
}else{
|
||||
this.otherFiles[path] = file
|
||||
}
|
||||
}
|
||||
|
||||
if(!this.noPlugins && this.pluginFiles.length){
|
||||
var pluginPromises = []
|
||||
this.pluginFiles.forEach(fileObj => {
|
||||
pluginPromises.push(this.addPlugin(fileObj).catch(e => console.warn(e)))
|
||||
})
|
||||
return Promise.all(pluginPromises).then(() => {
|
||||
var startPromises = []
|
||||
var pluginAmount = 0
|
||||
if(this.plugins.length && confirm(strings.plugins.warning.replace("%s",
|
||||
strings.plugins.plugin[strings.plural.select(this.plugins.length)].replace("%s",
|
||||
this.plugins.length.toString()
|
||||
)
|
||||
))){
|
||||
this.plugins.forEach(obj => {
|
||||
var plugin = plugins.add(obj.data, {
|
||||
name: obj.name,
|
||||
raw: true
|
||||
})
|
||||
if(plugin){
|
||||
pluginAmount++
|
||||
plugin.imported = true
|
||||
startPromises.push(plugin.start())
|
||||
}
|
||||
})
|
||||
}
|
||||
return Promise.all(startPromises).then(() => {
|
||||
var importSongs = new ImportSongs(this.limited, this.otherFiles, true, pluginAmount)
|
||||
return importSongs.load(files)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
var metaPromises = []
|
||||
metaFiles.forEach(fileObj => {
|
||||
metaPromises.push(this.addMeta(fileObj))
|
||||
})
|
||||
|
||||
return Promise.all(metaPromises).then(() => {
|
||||
var songPromises = []
|
||||
|
||||
this.tjaFiles.forEach(fileObj => {
|
||||
songPromises.push(this.addTja(fileObj).catch(e => console.warn(e)))
|
||||
})
|
||||
this.osuFiles.forEach(fileObj => {
|
||||
songPromises.push(this.addOsu(fileObj).catch(e => console.warn(e)))
|
||||
})
|
||||
songPromises.push(this.addAssets())
|
||||
return Promise.all(songPromises)
|
||||
}).then(this.loaded.bind(this))
|
||||
}
|
||||
|
||||
addMeta(fileObj){
|
||||
var file = fileObj.file
|
||||
var level = fileObj.level
|
||||
var name = file.name.toLowerCase()
|
||||
return file.read(name === "songtitle.txt" ? undefined : "sjis").then(data => {
|
||||
var data = data.replace(/\0/g, "").split("\n")
|
||||
var category
|
||||
if(name === "genre.ini"){
|
||||
var key
|
||||
for(var i = 0; i < data.length; i++){
|
||||
var line = data[i].trim().toLowerCase()
|
||||
if(line.startsWith("[") && line.endsWith("]")){
|
||||
key = line.slice(1, -1)
|
||||
}else if(key === "genre"){
|
||||
var equalsPos = line.indexOf("=")
|
||||
if(equalsPos !== -1 && line.slice(0, equalsPos).trim() === "genrename"){
|
||||
var value = line.slice(equalsPos + 1).trim()
|
||||
if(value.toLowerCase() in this.categoryAliases){
|
||||
category = value
|
||||
}else{
|
||||
category = data[i].trim().slice(equalsPos + 1).trim()
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}else if(name === "box.def"){
|
||||
for(var i = 0; i < data.length; i++){
|
||||
var line = data[i].trim().toLowerCase()
|
||||
if(line.startsWith("#title:")){
|
||||
var value = line.slice(7).trim()
|
||||
if(value.toLowerCase() in this.categoryAliases){
|
||||
category = value
|
||||
}
|
||||
}else if(line.startsWith("#genre:")){
|
||||
var value = line.slice(7).trim()
|
||||
if(value.toLowerCase() in this.categoryAliases){
|
||||
category = value
|
||||
}else{
|
||||
category = data[i].trim().slice(7).trim()
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}else if(name === "songtitle.txt"){
|
||||
var lastTitle
|
||||
for(var i = 0; i < data.length; i++){
|
||||
var line = data[i].trim()
|
||||
if(line){
|
||||
var lang = line.slice(0, 2)
|
||||
if(line.charAt(2) !== " " || !(lang in allStrings)){
|
||||
this.songTitle[line] = {}
|
||||
lastTitle = line
|
||||
}else if(lastTitle){
|
||||
this.songTitle[lastTitle][lang] = line.slice(3).trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(category){
|
||||
var metaPath = file.path.toLowerCase().slice(0, file.name.length * -1)
|
||||
var filesLoop = fileObj => {
|
||||
var tjaPath = fileObj.file.path.toLowerCase().slice(0, fileObj.file.name.length * -1)
|
||||
if(tjaPath.startsWith(metaPath) && (!("categoryLevel" in fileObj) || fileObj.categoryLevel < level)){
|
||||
if(category.toLowerCase() in this.categoryAliases){
|
||||
fileObj.category_id = this.categoryAliases[category.toLowerCase()]
|
||||
}else{
|
||||
fileObj.category = category
|
||||
}
|
||||
fileObj.categoryLevel = level
|
||||
}
|
||||
}
|
||||
this.tjaFiles.forEach(filesLoop)
|
||||
this.osuFiles.forEach(filesLoop)
|
||||
}
|
||||
}).catch(e => {
|
||||
console.warn(e)
|
||||
})
|
||||
}
|
||||
|
||||
addTja(fileObj){
|
||||
var file = fileObj.file
|
||||
var index = fileObj.index
|
||||
var category = fileObj.category
|
||||
var category_id = fileObj.category_id
|
||||
if(!this.limited){
|
||||
var filePromise = file.read("sjis")
|
||||
}else{
|
||||
var filePromise = Promise.resolve()
|
||||
}
|
||||
return filePromise.then(dataRaw => {
|
||||
var data = dataRaw ? dataRaw.replace(/\0/g, "").split("\n") : []
|
||||
var tja = new ParseTja(data, "oni", 0, 0, true)
|
||||
var songObj = {
|
||||
id: index + 1,
|
||||
order: index + 1,
|
||||
title: file.name.slice(0, file.name.lastIndexOf(".")),
|
||||
type: "tja",
|
||||
chart: file,
|
||||
courses: {},
|
||||
music: "muted",
|
||||
custom: true
|
||||
}
|
||||
if(this.limited){
|
||||
songObj.unloaded = true
|
||||
}
|
||||
var coursesAdded = false
|
||||
var titleLang = {}
|
||||
var titleLangAdded = false
|
||||
var subtitleLangAdded = false
|
||||
var subtitleLang = {}
|
||||
var dir = file.path.toLowerCase()
|
||||
dir = dir.slice(0, dir.lastIndexOf("/") + 1)
|
||||
for(var diff in tja.metadata){
|
||||
var meta = tja.metadata[diff]
|
||||
songObj.title = meta.title || file.name.slice(0, file.name.lastIndexOf("."))
|
||||
var subtitle = meta.subtitle || ""
|
||||
if(subtitle.startsWith("--") || subtitle.startsWith("++")){
|
||||
subtitle = subtitle.slice(2).trim()
|
||||
}
|
||||
songObj.subtitle = subtitle
|
||||
songObj.preview = meta.demostart || 0
|
||||
songObj.courses[diff] = {
|
||||
stars: meta.level || 0,
|
||||
branch: !!meta.branch
|
||||
}
|
||||
coursesAdded = true
|
||||
if(meta.wave){
|
||||
songObj.music = this.otherFiles[dir + meta.wave.toLowerCase()] || songObj.music
|
||||
}
|
||||
if(meta.genre){
|
||||
if(meta.genre.toLowerCase() in this.categoryAliases){
|
||||
songObj.category_id = this.categoryAliases[meta.genre.toLowerCase()]
|
||||
}else{
|
||||
songObj.category = meta.genre
|
||||
}
|
||||
}
|
||||
if(meta.taikowebskin){
|
||||
songObj.song_skin = this.getSkin(dir, meta.taikowebskin)
|
||||
}
|
||||
if(meta.maker){
|
||||
var maker = meta.maker
|
||||
var url = null
|
||||
var gt = maker.lastIndexOf(">")
|
||||
if(gt === maker.length - 1){
|
||||
var lt = maker.lastIndexOf("<")
|
||||
if(lt !== -1 && lt !== gt - 2){
|
||||
url = maker.slice(lt + 1, gt).trim()
|
||||
if(url.startsWith("http://") || url.startsWith("https://")){
|
||||
maker = maker.slice(0, lt)
|
||||
}else{
|
||||
url = null
|
||||
}
|
||||
}
|
||||
}
|
||||
songObj.maker = {
|
||||
name: maker,
|
||||
url: url,
|
||||
id: 1
|
||||
}
|
||||
}
|
||||
if(meta.lyrics){
|
||||
var lyricsFile = this.normPath(this.joinPath(dir, meta.lyrics))
|
||||
if(lyricsFile in this.otherFiles){
|
||||
songObj.lyrics = true
|
||||
songObj.lyricsFile = this.otherFiles[lyricsFile]
|
||||
}
|
||||
}else if(meta.inlineLyrics){
|
||||
songObj.lyrics = true
|
||||
}
|
||||
for(var id in allStrings){
|
||||
var songTitle = songObj.title
|
||||
var ura = ""
|
||||
if(songTitle){
|
||||
var uraPos = songTitle.search(this.uraRegex)
|
||||
if(uraPos !== -1){
|
||||
ura = songTitle.slice(uraPos)
|
||||
songTitle = songTitle.slice(0, uraPos)
|
||||
}
|
||||
}
|
||||
if(meta["title" + id]){
|
||||
titleLang[id] = meta["title" + id]
|
||||
titleLangAdded = true
|
||||
}else if(songTitle in this.songTitle && this.songTitle[songTitle][id]){
|
||||
titleLang[id] = this.songTitle[songTitle][id] + ura
|
||||
titleLangAdded = true
|
||||
}
|
||||
if(meta["subtitle" + id]){
|
||||
subtitleLang[id] = meta["subtitle" + id]
|
||||
subtitleLangAdded = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if(titleLangAdded){
|
||||
songObj.title_lang = titleLang
|
||||
}
|
||||
if(subtitleLangAdded){
|
||||
songObj.subtitle_lang = subtitleLang
|
||||
}
|
||||
if(!songObj.category_id && !songObj.category){
|
||||
if(!category && category_id === undefined){
|
||||
songObj.category_id = this.getCategory(file, [songTitle || songObj.title, file.name.slice(0, file.name.lastIndexOf("."))])
|
||||
}else if(category){
|
||||
songObj.category = category
|
||||
songObj.orginalCategory = category
|
||||
}else{
|
||||
songObj.category_id = category_id
|
||||
}
|
||||
}
|
||||
if(coursesAdded || songObj.unloaded){
|
||||
this.songs[index] = songObj
|
||||
}
|
||||
if(!this.limited){
|
||||
var hash = md5.base64(dataRaw).slice(0, -2)
|
||||
songObj.hash = hash
|
||||
scoreStorage.songTitles[songObj.title] = hash
|
||||
var score = scoreStorage.get(hash, false, true)
|
||||
if(score){
|
||||
score.title = songObj.title
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
addOsu(fileObj){
|
||||
var file = fileObj.file
|
||||
var index = fileObj.index
|
||||
var category = fileObj.category
|
||||
var category_id = fileObj.category_id
|
||||
if(!this.limited){
|
||||
var filePromise = file.read()
|
||||
}else{
|
||||
var filePromise = Promise.resolve()
|
||||
}
|
||||
return filePromise.then(dataRaw => {
|
||||
var data = dataRaw ? dataRaw.replace(/\0/g, "").split("\n") : []
|
||||
var osu = new ParseOsu(data, "oni", 0, 0, true)
|
||||
var dir = file.path.toLowerCase()
|
||||
dir = dir.slice(0, dir.lastIndexOf("/") + 1)
|
||||
var songObj = {
|
||||
id: index + 1,
|
||||
order: index + 1,
|
||||
type: "osu",
|
||||
chart: file,
|
||||
subtitle: osu.metadata.ArtistUnicode || osu.metadata.Artist,
|
||||
subtitle_lang: {
|
||||
en: osu.metadata.Artist || osu.metadata.ArtistUnicode
|
||||
},
|
||||
preview: osu.generalInfo.PreviewTime ? osu.generalInfo.PreviewTime / 1000 : 0,
|
||||
courses: {},
|
||||
music: (osu.generalInfo.AudioFilename ? this.otherFiles[dir + osu.generalInfo.AudioFilename.toLowerCase()] : "") || "muted"
|
||||
}
|
||||
if(!this.limited){
|
||||
songObj.courses.oni = {
|
||||
stars: parseInt(osu.difficulty.overallDifficulty) || 0,
|
||||
branch: false
|
||||
}
|
||||
}else{
|
||||
songObj.unloaded = true
|
||||
}
|
||||
var filename = file.name.slice(0, file.name.lastIndexOf("."))
|
||||
var title = osu.metadata.TitleUnicode || osu.metadata.Title || file.name.slice(0, file.name.lastIndexOf("."))
|
||||
if(title){
|
||||
var suffix = ""
|
||||
var matches = filename.match(/\[.+?\]$/)
|
||||
if(matches){
|
||||
suffix = " " + matches[0]
|
||||
}
|
||||
songObj.title = title + suffix
|
||||
songObj.title_lang = {
|
||||
en: (osu.metadata.Title || osu.metadata.TitleUnicode || title) + suffix
|
||||
}
|
||||
}else{
|
||||
songObj.title = filename
|
||||
}
|
||||
this.songs[index] = songObj
|
||||
if(!category && category_id === undefined){
|
||||
songObj.category_id = this.getCategory(file, [osu.metadata.TitleUnicode, osu.metadata.Title, file.name.slice(0, file.name.lastIndexOf("."))])
|
||||
}else if(category){
|
||||
songObj.category = category
|
||||
songObj.orginalCategory = category
|
||||
}else{
|
||||
songObj.category_id = category_id
|
||||
}
|
||||
if(!this.limited){
|
||||
var hash = md5.base64(dataRaw).slice(0, -2)
|
||||
songObj.hash = hash
|
||||
scoreStorage.songTitles[songObj.title] = hash
|
||||
var score = scoreStorage.get(hash, false, true)
|
||||
if(score){
|
||||
score.title = songObj.title
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
addAssets(){
|
||||
var promises = []
|
||||
for(let name in this.assetFiles){
|
||||
let id = this.getFilename(name)
|
||||
var file = this.assetFiles[name]
|
||||
var index = name.lastIndexOf(".")
|
||||
if(name === "vectors.json"){
|
||||
promises.push(file.read().then(response => {
|
||||
vectors = JSON.parse(response)
|
||||
}))
|
||||
}
|
||||
if(name.endsWith(".png") || name.endsWith(".gif")){
|
||||
let image = document.createElement("img")
|
||||
promises.push(pageEvents.load(image).then(() => {
|
||||
if(id in this.assetSelectors){
|
||||
var selector = this.assetSelectors[id]
|
||||
var gradient = ""
|
||||
if(selector === "#song-search"){
|
||||
gradient = loader.songSearchGradient
|
||||
}
|
||||
this.stylesheet.push(loader.cssRuleset({
|
||||
[selector]: {
|
||||
"background-image": gradient + "url(\"" + image.src + "\")"
|
||||
}
|
||||
}))
|
||||
}
|
||||
}))
|
||||
image.id = name
|
||||
promises.push(file.blob().then(blob => {
|
||||
image.src = URL.createObjectURL(blob)
|
||||
}))
|
||||
loader.assetsDiv.appendChild(image)
|
||||
var oldImage = assets.image[id]
|
||||
if(oldImage && oldImage.parentNode){
|
||||
URL.revokeObjectURL(oldImage.src)
|
||||
oldImage.parentNode.removeChild(oldImage)
|
||||
}
|
||||
assets.image[id] = image
|
||||
}
|
||||
if(assets.audioSfx.indexOf(name) !== -1){
|
||||
assets.sounds[id].clean()
|
||||
promises.push(this.loadSound(file, name, snd.sfxGain))
|
||||
}
|
||||
if(assets.audioMusic.indexOf(name) !== -1){
|
||||
assets.sounds[id].clean()
|
||||
promises.push(this.loadSound(file, name, snd.musicGain))
|
||||
}
|
||||
if(assets.audioSfxLR.indexOf(name) !== -1){
|
||||
assets.sounds[id + "_p1"].clean()
|
||||
assets.sounds[id + "_p2"].clean()
|
||||
promises.push(this.loadSound(file, name, snd.sfxGain).then(sound => {
|
||||
assets.sounds[id + "_p1"] = assets.sounds[id].copy(snd.sfxGainL)
|
||||
assets.sounds[id + "_p2"] = assets.sounds[id].copy(snd.sfxGainR)
|
||||
}))
|
||||
}
|
||||
if(assets.audioSfxLoud.indexOf(name) !== -1){
|
||||
assets.sounds[id].clean()
|
||||
promises.push(this.loadSound(file, name, snd.sfxLoudGain))
|
||||
}
|
||||
if(this.comboVoices.indexOf(id) !== -1){
|
||||
promises.push(snd.sfxGain.load(file).then(sound => {
|
||||
assets.sounds[id] = sound
|
||||
assets.sounds[id + "_p1"] = assets.sounds[id].copy(snd.sfxGainL)
|
||||
assets.sounds[id + "_p2"] = assets.sounds[id].copy(snd.sfxGainR)
|
||||
}))
|
||||
}
|
||||
}
|
||||
return Promise.all(promises)
|
||||
}
|
||||
loadSound(file, name, gain){
|
||||
var id = this.getFilename(name)
|
||||
return gain.load(file).then(sound => {
|
||||
assets.sounds[id] = sound
|
||||
})
|
||||
}
|
||||
getFilename(name){
|
||||
return name.slice(0, name.lastIndexOf("."))
|
||||
}
|
||||
|
||||
addPlugin(fileObj){
|
||||
var file = fileObj.file
|
||||
var filePromise = file.read()
|
||||
return filePromise.then(dataRaw => {
|
||||
var name = file.name.slice(0, file.name.lastIndexOf(".taikoweb.js"))
|
||||
this.plugins.push({
|
||||
name: name,
|
||||
data: dataRaw
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
getCategory(file, exclude){
|
||||
var path = file.path.toLowerCase().split("/")
|
||||
for(var i = path.length - 2; i >= 0; i--){
|
||||
var hasTitle = false
|
||||
for(var j in exclude){
|
||||
if(exclude[j] && path[i].indexOf(exclude[j].toLowerCase()) !== -1){
|
||||
hasTitle = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!hasTitle){
|
||||
for(var cat in this.categoryAliases){
|
||||
if(path[i].indexOf(cat) !== -1){
|
||||
return this.categoryAliases[cat]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getSkin(dir, config){
|
||||
var configArray = config.toLowerCase().split(",")
|
||||
var configObj = {}
|
||||
for(var i in configArray){
|
||||
var string = configArray[i].trim()
|
||||
var space = string.indexOf(" ")
|
||||
if(space !== -1){
|
||||
configObj[string.slice(0, space).trim()] = string.slice(space + 1).trim()
|
||||
}
|
||||
}
|
||||
if(!configObj.dir){
|
||||
configObj.dir = ""
|
||||
}
|
||||
configObj.prefix = "custom "
|
||||
var skinnable = ["song", "stage", "don"]
|
||||
for(var i in skinnable){
|
||||
var skinName = skinnable[i]
|
||||
var skinValue = configObj[skinName]
|
||||
if(skinValue && skinValue !== "none"){
|
||||
var fileName = "bg_" + skinName + "_" + configObj.name
|
||||
var skinPath = this.joinPath(dir, configObj.dir, fileName)
|
||||
for(var j = 0; j < 2; j++){
|
||||
if(skinValue !== "static"){
|
||||
var suffix = (j === 0 ? "_a" : "_b") + ".png"
|
||||
}else{
|
||||
var suffix = ".png"
|
||||
}
|
||||
var skinFull = this.normPath(skinPath + suffix)
|
||||
if(skinFull in this.otherFiles){
|
||||
configObj[fileName + suffix] = this.otherFiles[skinFull]
|
||||
}else{
|
||||
configObj[skinName] = null
|
||||
}
|
||||
if(skinValue === "static"){
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return configObj
|
||||
}
|
||||
|
||||
loaded(){
|
||||
this.songs = this.songs.filter(song => typeof song !== "undefined")
|
||||
if(this.stylesheet.length){
|
||||
var style = document.createElement("style")
|
||||
style.appendChild(document.createTextNode(this.stylesheet.join("\n")))
|
||||
document.head.appendChild(style)
|
||||
}
|
||||
if(this.songs.length){
|
||||
if(this.limited){
|
||||
assets.otherFiles = this.otherFiles
|
||||
assets.otherFiles.songTitle = this.songTitle
|
||||
}
|
||||
return Promise.resolve(this.songs)
|
||||
}else{
|
||||
if(this.noPlugins && this.pluginAmount || Object.keys(this.assetFiles).length){
|
||||
return Promise.resolve()
|
||||
}else{
|
||||
return Promise.reject("nosongs")
|
||||
}
|
||||
}
|
||||
this.clean()
|
||||
}
|
||||
|
||||
joinPath(){
|
||||
var resultPath = arguments[0]
|
||||
for(var i = 1; i < arguments.length; i++){
|
||||
var pPath = arguments[i]
|
||||
if(pPath && (pPath[0] === "/" || pPath[0] === "\\")){
|
||||
resultPath = pPath
|
||||
}else{
|
||||
var lastChar = resultPath.slice(-1)
|
||||
if(resultPath && (lastChar !== "/" || lastChar !== "\\")){
|
||||
resultPath = resultPath + "/"
|
||||
}
|
||||
resultPath = resultPath + pPath
|
||||
}
|
||||
}
|
||||
return resultPath
|
||||
}
|
||||
normPath(path){
|
||||
path = path.replace(/\\/g, "/").toLowerCase()
|
||||
while(path[0] === "/"){
|
||||
path = path.slice(1)
|
||||
}
|
||||
var comps = path.split("/")
|
||||
for(var i = 0; i < comps.length; i++){
|
||||
if(comps[i] === "." || comps[i] === ""){
|
||||
comps.splice(i, 1)
|
||||
i--
|
||||
}else if(i !== 0 && comps[i] === ".." && comps[i - 1] !== ".."){
|
||||
comps.splice(i - 1, 2)
|
||||
i -= 2
|
||||
}
|
||||
}
|
||||
return comps.join("/")
|
||||
}
|
||||
|
||||
clean(){
|
||||
delete this.songs
|
||||
delete this.tjaFiles
|
||||
delete this.osuFiles
|
||||
delete this.assetFiles
|
||||
delete this.otherFiles
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue