├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── app-icon.png ├── app-splashscreen.png ├── babel.config.js ├── jsconfig.json ├── package.json ├── public ├── favicon.ico ├── favicon512.png ├── icons │ ├── apple-icon-120x120.png │ ├── apple-icon-152x152.png │ ├── apple-icon-167x167.png │ ├── apple-icon-180x180.png │ ├── apple-launch-1125x2436.png │ ├── apple-launch-1242x2208.png │ ├── apple-launch-1242x2688.png │ ├── apple-launch-1536x2048.png │ ├── apple-launch-1668x2224.png │ ├── apple-launch-1668x2388.png │ ├── apple-launch-2048x2732.png │ ├── apple-launch-640x1136.png │ ├── apple-launch-750x1334.png │ ├── apple-launch-828x1792.png │ ├── favicon-128x128.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── icon-128x128.png │ ├── icon-192x192.png │ ├── icon-256x256.png │ ├── icon-384x384.png │ ├── icon-512x512.png │ ├── ms-icon-144x144.png │ └── safari-pinned-tab.svg ├── img │ ├── allFlick.png │ ├── before_live.jpg │ ├── bg.png │ ├── bg_halloween.png │ ├── bg_halloween.psd │ ├── bgm_halloween.jpg │ ├── flickParty.png │ ├── happy_halloween.png │ ├── index.png │ ├── index_halloween.png │ ├── index_halloween.psd │ ├── jacket.png │ └── singleDog.png ├── skins │ ├── april_fool │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── april_fool_2021_cn │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── april_fool_2021_jp │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── black │ │ └── liveBG_normal.png │ ├── cafe │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── challenge │ │ └── liveBG_normal.png │ ├── coin │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── gbp2020 │ │ └── liveBG_normal.png │ ├── maid │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── miku │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── persona │ │ ├── flick.mp3 │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ └── perfect.mp3 │ ├── skin00 │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ ├── ui.png │ │ └── ui_old.png │ ├── skin01 │ │ ├── flick.mp3 │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── long.mp3 │ │ └── perfect.mp3 │ ├── skin02 │ │ ├── flick.mp3 │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── long.mp3 │ │ └── perfect.mp3 │ ├── skin03 │ │ ├── flick.mp3 │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── long.mp3 │ │ └── perfect.mp3 │ ├── skin04 │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png │ ├── vs │ │ └── liveBG_normal.png │ └── witch │ │ ├── effect.json │ │ ├── effect.png │ │ ├── flick.mp3 │ │ ├── game.json │ │ ├── game.png │ │ ├── game_button.mp3 │ │ ├── good.mp3 │ │ ├── great.mp3 │ │ ├── liveBG_normal.png │ │ ├── long.mp3 │ │ ├── perfect.mp3 │ │ ├── ui.json │ │ └── ui.png └── sound │ ├── bgm │ ├── before_live.mp3 │ └── halloween.mp3 │ └── se │ ├── start.mp3 │ └── tap.mp3 ├── quasar.conf.js ├── quasar.extensions.json ├── src-capacitor ├── android │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── capacitor.build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── getcapacitor │ │ │ │ └── myapp │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ │ └── capacitor.config.json │ │ │ ├── java │ │ │ │ └── fun │ │ │ │ │ └── reikohaku │ │ │ │ │ └── bangplayer │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── drawable-land-hdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-land-mdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-land-xhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-land-xxhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-land-xxxhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-port-hdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-port-mdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-port-xhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-port-xxhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-port-xxxhdpi │ │ │ │ └── splash.png │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ └── splash.png │ │ │ │ ├── layout │ │ │ │ └── activity_main.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_foreground.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── values │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── xml │ │ │ │ ├── config.xml │ │ │ │ └── file_paths.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── getcapacitor │ │ │ └── myapp │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── capacitor.settings.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── variables.gradle ├── capacitor-flag.d.ts ├── capacitor.config.json ├── ios │ ├── App │ │ ├── App │ │ │ ├── Assets.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ ├── AppIcon-20x20@1x.png │ │ │ │ │ ├── AppIcon-20x20@2x-1.png │ │ │ │ │ ├── AppIcon-20x20@2x.png │ │ │ │ │ ├── AppIcon-20x20@3x.png │ │ │ │ │ ├── AppIcon-29x29@1x.png │ │ │ │ │ ├── AppIcon-29x29@2x-1.png │ │ │ │ │ ├── AppIcon-29x29@2x.png │ │ │ │ │ ├── AppIcon-29x29@3x.png │ │ │ │ │ ├── AppIcon-40x40@1x.png │ │ │ │ │ ├── AppIcon-40x40@2x-1.png │ │ │ │ │ ├── AppIcon-40x40@2x.png │ │ │ │ │ ├── AppIcon-40x40@3x.png │ │ │ │ │ ├── AppIcon-512@2x.png │ │ │ │ │ ├── AppIcon-60x60@2x.png │ │ │ │ │ ├── AppIcon-60x60@3x.png │ │ │ │ │ ├── AppIcon-76x76@1x.png │ │ │ │ │ ├── AppIcon-76x76@2x.png │ │ │ │ │ └── AppIcon-83.5x83.5@2x.png │ │ │ │ └── Splash.imageset │ │ │ │ │ ├── splash-2732x2732-1.png │ │ │ │ │ ├── splash-2732x2732-2.png │ │ │ │ │ └── splash-2732x2732.png │ │ │ ├── capacitor.config.json │ │ │ └── config.xml │ │ └── public │ │ │ ├── cordova.js │ │ │ ├── cordova_plugins.js │ │ │ ├── css │ │ │ ├── 3.27930e51.css │ │ │ ├── 4.e2f135f9.css │ │ │ ├── app.6d12f49a.css │ │ │ ├── chunk-common.963cd3a0.css │ │ │ └── vendor.71c28fd9.css │ │ │ ├── favicon512.png │ │ │ ├── fonts │ │ │ ├── KFOkCnqEu92Fr1MmgVxIIzQ.woff │ │ │ ├── KFOlCnqEu92Fr1MmEU9fBBc-.woff │ │ │ ├── KFOlCnqEu92Fr1MmSU5fBBc-.woff │ │ │ ├── KFOlCnqEu92Fr1MmWUlfBBc-.woff │ │ │ ├── KFOlCnqEu92Fr1MmYUtfBBc-.woff │ │ │ ├── KFOmCnqEu92Fr1Mu4mxM.woff │ │ │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff │ │ │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 │ │ │ ├── materialdesignicons-webfont.woff │ │ │ ├── materialdesignicons-webfont.woff2 │ │ │ ├── sgm.ttf │ │ │ ├── txjlcyj.ttf │ │ │ └── txjlzcyf.ttf │ │ │ ├── img │ │ │ ├── allFlick.png │ │ │ ├── before_live.jpg │ │ │ ├── bg.png │ │ │ ├── flickParty.png │ │ │ ├── index.png │ │ │ ├── jacket.png │ │ │ └── singleDog.png │ │ │ ├── index.html │ │ │ ├── js │ │ │ ├── 10.js │ │ │ ├── 11.js │ │ │ ├── 12.js │ │ │ ├── 13.js │ │ │ ├── 14.js │ │ │ ├── 15.js │ │ │ ├── 16.js │ │ │ ├── 3.js │ │ │ ├── 4.js │ │ │ ├── 5.js │ │ │ ├── 6.js │ │ │ ├── 7.js │ │ │ ├── 8.js │ │ │ ├── 9.js │ │ │ ├── app.js │ │ │ ├── chunk-common.js │ │ │ └── vendor.js │ │ │ ├── native-bridge.js │ │ │ ├── skins │ │ │ ├── april_fool │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ └── ui.png │ │ │ ├── black │ │ │ │ └── liveBG_normal.png │ │ │ ├── cafe │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ └── ui.png │ │ │ ├── challenge │ │ │ │ └── liveBG_normal.png │ │ │ ├── coin │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ └── ui.png │ │ │ ├── gbp2020 │ │ │ │ └── liveBG_normal.png │ │ │ ├── maid │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ └── ui.png │ │ │ ├── miku │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ └── ui.png │ │ │ ├── persona │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ └── perfect.mp3 │ │ │ ├── skin00 │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ ├── ui.png │ │ │ │ └── ui_old.png │ │ │ ├── skin01 │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── long.mp3 │ │ │ │ └── perfect.mp3 │ │ │ ├── skin02 │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── long.mp3 │ │ │ │ └── perfect.mp3 │ │ │ ├── skin03 │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── long.mp3 │ │ │ │ └── perfect.mp3 │ │ │ ├── skin04 │ │ │ │ ├── effect.json │ │ │ │ ├── effect.png │ │ │ │ ├── flick.mp3 │ │ │ │ ├── game.json │ │ │ │ ├── game.png │ │ │ │ ├── game_button.mp3 │ │ │ │ ├── good.mp3 │ │ │ │ ├── great.mp3 │ │ │ │ ├── liveBG_normal.png │ │ │ │ ├── long.mp3 │ │ │ │ ├── perfect.mp3 │ │ │ │ ├── ui.json │ │ │ │ └── ui.png │ │ │ └── vs │ │ │ │ └── liveBG_normal.png │ │ │ └── sound │ │ │ ├── bgm │ │ │ └── before_live.mp3 │ │ │ └── se │ │ │ ├── start.mp3 │ │ │ └── tap.mp3 │ └── capacitor-cordova-ios-plugins │ │ ├── CordovaPlugins.podspec │ │ ├── CordovaPluginsResources.podspec │ │ ├── CordovaPluginsStatic.podspec │ │ ├── resources │ │ └── .gitkeep │ │ └── sources │ │ └── .gitkeep ├── package.json └── yarn.lock ├── src-pwa ├── custom-service-worker.js ├── pwa-flag.d.ts └── register-service-worker.js ├── src ├── App.vue ├── audio │ └── index.js ├── boot │ ├── .gitkeep │ ├── audio.js │ ├── axios.js │ ├── howler.js │ ├── i18n.js │ ├── quasar-lang-pack.js │ └── utils.js ├── components │ ├── Component │ │ ├── Local │ │ │ ├── DownloadDialog.vue │ │ │ └── DownloadProgress.vue │ │ └── Settings │ │ │ ├── ImageSelector.vue │ │ │ └── NumberStepper.vue │ ├── Select │ │ ├── ChartCard.vue │ │ └── DiffIconList.vue │ └── Style │ │ ├── MusicCircle.vue │ │ ├── MusicController.vue │ │ ├── TopMenu.vue │ │ └── UpperHiddenBoard.vue ├── css │ ├── app.sass │ ├── font.css │ ├── github.css │ └── quasar.variables.sass ├── font │ ├── sgm.ttf │ ├── txjlcyj.ttf │ └── txjlzcyf.ttf ├── i18n │ ├── en-us │ │ └── index.js │ ├── index.js │ ├── ja-jp │ │ └── index.js │ └── zh-cn │ │ └── index.js ├── index.template.html ├── layouts │ └── MainLayout.vue ├── lib │ ├── api │ │ ├── bestdori.js │ │ ├── ebbbTest.js │ │ ├── github.js │ │ └── statistics.js │ ├── factory │ │ ├── convert.js │ │ └── mods.js │ └── util │ │ ├── action.js │ │ ├── chart.js │ │ ├── file.js │ │ ├── lang.js │ │ ├── settings.js │ │ └── sound.js ├── pages │ ├── EbbbTest.vue │ ├── Error404.vue │ ├── Game.vue │ ├── Home.vue │ ├── Index.vue │ ├── Notification.vue │ ├── Select │ │ ├── Bestdori.vue │ │ ├── BestdoriId.vue │ │ ├── Favorite.vue │ │ ├── Info.vue │ │ ├── Local.vue │ │ ├── Official.vue │ │ └── OfficialId.vue │ ├── Settings.vue │ └── Wiki.vue ├── router │ ├── index.js │ └── routes.js └── store │ ├── axiosCanceller │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ ├── chartInfo │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ ├── downloadDialog │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ ├── favorite │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ ├── index.js │ ├── mods │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ ├── notification │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ ├── settings │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutations.js │ └── state.js │ └── store-flag.d.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /src-bex/www 3 | /src-capacitor 4 | /src-cordova 5 | /.quasar 6 | /node_modules 7 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy 3 | // This option interrupts the configuration hierarchy at this file 4 | // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) 5 | root: true, 6 | 7 | parserOptions: { 8 | parser: 'babel-eslint', 9 | ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features 10 | sourceType: 'module' // Allows for the use of imports 11 | }, 12 | 13 | env: { 14 | browser: true 15 | }, 16 | 17 | // Rules order is important, please avoid shuffling them 18 | extends: [ 19 | // Base ESLint recommended rules 20 | // 'eslint:recommended', 21 | 22 | 23 | // Uncomment any of the lines below to choose desired strictness, 24 | // but leave only one uncommented! 25 | // See https://eslint.vuejs.org/rules/#available-rules 26 | 'plugin:vue/essential', // Priority A: Essential (Error Prevention) 27 | // 'plugin:vue/strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) 28 | // 'plugin:vue/recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) 29 | 30 | // https://github.com/prettier/eslint-config-prettier#installation 31 | // usage with Prettier, provided by 'eslint-config-prettier'. 32 | 'prettier', 33 | 34 | 'prettier/vue' 35 | ], 36 | 37 | plugins: [ 38 | // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-file 39 | // required to lint *.vue files 40 | 'vue', 41 | 42 | // https://github.com/typescript-eslint/typescript-eslint/issues/389#issuecomment-509292674 43 | // Prettier has not been included as plugin to avoid performance impact 44 | // add it as an extension for your IDE 45 | ], 46 | 47 | globals: { 48 | ga: true, // Google Analytics 49 | cordova: true, 50 | __statics: true, 51 | process: true, 52 | Capacitor: true, 53 | chrome: true 54 | }, 55 | 56 | // add your custom rules here 57 | rules: { 58 | 'prefer-promise-reject-errors': 'off', 59 | 60 | 61 | // allow debugger during development only 62 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .thumbs.db 3 | node_modules 4 | 5 | # Quasar core related directories 6 | .quasar 7 | /dist 8 | 9 | # Cordova related directories and files 10 | /src-cordova/node_modules 11 | /src-cordova/platforms 12 | /src-cordova/plugins 13 | /src-cordova/www 14 | 15 | # Capacitor related directories and files 16 | /src-capacitor/www 17 | /src-capacitor/node_modules 18 | 19 | # BEX related directories and files 20 | /src-bex/www 21 | /src-bex/js/core 22 | 23 | # Log files 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # Editor directories and files 29 | .idea 30 | *.suo 31 | *.ntvs* 32 | *.njsproj 33 | *.sln 34 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | plugins: [ 5 | // to edit target browsers: use "browserslist" field in package.json 6 | require('autoprefixer') 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | "esbenp.prettier-vscode", 5 | "octref.vetur" 6 | ], 7 | "unwantedRecommendations": [ 8 | "hookyqr.beautify", 9 | "dbaeumer.jshint", 10 | "ms-vscode.vscode-typescript-tslint-plugin" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "vetur.validation.template": false, 3 | "vetur.format.enable": false, 4 | "eslint.validate": ["javascript", "javascriptreact", "typescript", "vue"], 5 | 6 | "vetur.experimental.templateInterpolationService": true 7 | } 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 傲娇炸毛灵猫喵 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BanG Player v2 2 | 3 | 一款《BanG Dream! 少女乐团派对》web版模拟器。 4 | 5 | ## 安装依赖 6 | ```bash 7 | yarn 8 | ``` 9 | 10 | ### 开发模式 11 | ```bash 12 | quasar dev 13 | ``` 14 | 15 | ### 文件分析 16 | ```bash 17 | yarn run lint 18 | ``` 19 | 20 | ### 构建发布应用 21 | ```bash 22 | quasar build 23 | ``` 24 | 25 | ### 自定义配置 26 | 查看[Configuring quasar.conf.js](https://quasar.dev/quasar-cli/quasar-conf-js). 27 | -------------------------------------------------------------------------------- /app-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/app-icon.png -------------------------------------------------------------------------------- /app-splashscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/app-splashscreen.png -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = { 3 | presets: [ 4 | '@quasar/babel-preset-app' 5 | ], 6 | plugins: [ 7 | '@babel/plugin-proposal-object-rest-spread' 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "src/*": [ 6 | "src/*" 7 | ], 8 | "app/*": [ 9 | "*" 10 | ], 11 | "components/*": [ 12 | "src/components/*" 13 | ], 14 | "layouts/*": [ 15 | "src/layouts/*" 16 | ], 17 | "pages/*": [ 18 | "src/pages/*" 19 | ], 20 | "assets/*": [ 21 | "src/assets/*" 22 | ], 23 | "boot/*": [ 24 | "src/boot/*" 25 | ], 26 | "vue$": [ 27 | "node_modules/vue/dist/vue.esm.js" 28 | ] 29 | } 30 | }, 31 | "exclude": [ 32 | "dist", 33 | ".quasar", 34 | "node_modules" 35 | ] 36 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bang_player_v2", 3 | "version": "2.0.8", 4 | "description": "A BanG Dream! Girl's Band Party web simulator", 5 | "productName": "BanG Player v2", 6 | "author": "ReiKohaku ", 7 | "private": true, 8 | "scripts": { 9 | "lint": "eslint --ext .js,.vue ./", 10 | "test": "echo \"No test specified\" && exit 0" 11 | }, 12 | "dependencies": { 13 | "@quasar/extras": "^1.9.10", 14 | "axios": "^0.18.1", 15 | "bangbangboom-game": "git+https://gitee.com/ReiKohaku/bangbangboom-game.git", 16 | "core-js": "^3.6.5", 17 | "howler": "^2.2.0", 18 | "jszip": "^3.5.0", 19 | "quasar": "^1.14.3", 20 | "showdown": "^1.9.1", 21 | "vue-i18n": "^8.0.0" 22 | }, 23 | "devDependencies": { 24 | "@babel/plugin-proposal-object-rest-spread": "^7.12.1", 25 | "@quasar/app": "^2.1.6", 26 | "@quasar/icongenie": "^2.3.3", 27 | "babel-eslint": "^10.0.1", 28 | "eslint": "^6.8.0", 29 | "eslint-config-prettier": "^6.9.0", 30 | "eslint-loader": "^3.0.3", 31 | "eslint-plugin-vue": "^6.1.2", 32 | "workbox-webpack-plugin": "^5.0.0" 33 | }, 34 | "browserslist": [ 35 | "last 10 Chrome versions", 36 | "last 10 Firefox versions", 37 | "last 4 Edge versions", 38 | "last 7 Safari versions", 39 | "last 8 Android versions", 40 | "last 8 ChromeAndroid versions", 41 | "last 8 FirefoxAndroid versions", 42 | "last 10 iOS versions", 43 | "last 5 Opera versions" 44 | ], 45 | "engines": { 46 | "node": ">= 10.18.1", 47 | "npm": ">= 6.13.4", 48 | "yarn": ">= 1.21.1" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/favicon512.png -------------------------------------------------------------------------------- /public/icons/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/icons/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/icons/apple-icon-167x167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-icon-167x167.png -------------------------------------------------------------------------------- /public/icons/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/icons/apple-launch-1125x2436.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-1125x2436.png -------------------------------------------------------------------------------- /public/icons/apple-launch-1242x2208.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-1242x2208.png -------------------------------------------------------------------------------- /public/icons/apple-launch-1242x2688.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-1242x2688.png -------------------------------------------------------------------------------- /public/icons/apple-launch-1536x2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-1536x2048.png -------------------------------------------------------------------------------- /public/icons/apple-launch-1668x2224.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-1668x2224.png -------------------------------------------------------------------------------- /public/icons/apple-launch-1668x2388.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-1668x2388.png -------------------------------------------------------------------------------- /public/icons/apple-launch-2048x2732.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-2048x2732.png -------------------------------------------------------------------------------- /public/icons/apple-launch-640x1136.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-640x1136.png -------------------------------------------------------------------------------- /public/icons/apple-launch-750x1334.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-750x1334.png -------------------------------------------------------------------------------- /public/icons/apple-launch-828x1792.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/apple-launch-828x1792.png -------------------------------------------------------------------------------- /public/icons/favicon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/favicon-128x128.png -------------------------------------------------------------------------------- /public/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/favicon-16x16.png -------------------------------------------------------------------------------- /public/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/favicon-32x32.png -------------------------------------------------------------------------------- /public/icons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/favicon-96x96.png -------------------------------------------------------------------------------- /public/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/icon-128x128.png -------------------------------------------------------------------------------- /public/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/icon-192x192.png -------------------------------------------------------------------------------- /public/icons/icon-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/icon-256x256.png -------------------------------------------------------------------------------- /public/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/icon-384x384.png -------------------------------------------------------------------------------- /public/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/icon-512x512.png -------------------------------------------------------------------------------- /public/icons/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/icons/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/img/allFlick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/allFlick.png -------------------------------------------------------------------------------- /public/img/before_live.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/before_live.jpg -------------------------------------------------------------------------------- /public/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/bg.png -------------------------------------------------------------------------------- /public/img/bg_halloween.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/bg_halloween.png -------------------------------------------------------------------------------- /public/img/bg_halloween.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/bg_halloween.psd -------------------------------------------------------------------------------- /public/img/bgm_halloween.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/bgm_halloween.jpg -------------------------------------------------------------------------------- /public/img/flickParty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/flickParty.png -------------------------------------------------------------------------------- /public/img/happy_halloween.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/happy_halloween.png -------------------------------------------------------------------------------- /public/img/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/index.png -------------------------------------------------------------------------------- /public/img/index_halloween.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/index_halloween.png -------------------------------------------------------------------------------- /public/img/index_halloween.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/index_halloween.psd -------------------------------------------------------------------------------- /public/img/jacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/jacket.png -------------------------------------------------------------------------------- /public/img/singleDog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/img/singleDog.png -------------------------------------------------------------------------------- /public/skins/april_fool/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/effect.png -------------------------------------------------------------------------------- /public/skins/april_fool/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/flick.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/game.png -------------------------------------------------------------------------------- /public/skins/april_fool/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/good.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/great.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/april_fool/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/long.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool/ui.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/effect.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/flick.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/game.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/good.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/great.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/long.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_cn/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_cn/ui.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/effect.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/flick.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/game.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/good.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/great.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/long.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/april_fool_2021_jp/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/april_fool_2021_jp/ui.png -------------------------------------------------------------------------------- /public/skins/black/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/black/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/cafe/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/effect.png -------------------------------------------------------------------------------- /public/skins/cafe/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/flick.mp3 -------------------------------------------------------------------------------- /public/skins/cafe/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/game.png -------------------------------------------------------------------------------- /public/skins/cafe/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/cafe/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/good.mp3 -------------------------------------------------------------------------------- /public/skins/cafe/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/great.mp3 -------------------------------------------------------------------------------- /public/skins/cafe/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/cafe/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/long.mp3 -------------------------------------------------------------------------------- /public/skins/cafe/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/cafe/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/cafe/ui.png -------------------------------------------------------------------------------- /public/skins/challenge/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/challenge/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/coin/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/effect.png -------------------------------------------------------------------------------- /public/skins/coin/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/flick.mp3 -------------------------------------------------------------------------------- /public/skins/coin/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/game.png -------------------------------------------------------------------------------- /public/skins/coin/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/coin/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/good.mp3 -------------------------------------------------------------------------------- /public/skins/coin/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/great.mp3 -------------------------------------------------------------------------------- /public/skins/coin/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/coin/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/long.mp3 -------------------------------------------------------------------------------- /public/skins/coin/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/coin/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/coin/ui.png -------------------------------------------------------------------------------- /public/skins/gbp2020/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/gbp2020/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/maid/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/effect.png -------------------------------------------------------------------------------- /public/skins/maid/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/flick.mp3 -------------------------------------------------------------------------------- /public/skins/maid/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/game.png -------------------------------------------------------------------------------- /public/skins/maid/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/maid/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/good.mp3 -------------------------------------------------------------------------------- /public/skins/maid/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/great.mp3 -------------------------------------------------------------------------------- /public/skins/maid/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/maid/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/long.mp3 -------------------------------------------------------------------------------- /public/skins/maid/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/maid/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/maid/ui.png -------------------------------------------------------------------------------- /public/skins/miku/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/effect.png -------------------------------------------------------------------------------- /public/skins/miku/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/flick.mp3 -------------------------------------------------------------------------------- /public/skins/miku/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/game.png -------------------------------------------------------------------------------- /public/skins/miku/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/miku/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/good.mp3 -------------------------------------------------------------------------------- /public/skins/miku/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/great.mp3 -------------------------------------------------------------------------------- /public/skins/miku/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/miku/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/long.mp3 -------------------------------------------------------------------------------- /public/skins/miku/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/miku/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/miku/ui.png -------------------------------------------------------------------------------- /public/skins/persona/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/flick.mp3 -------------------------------------------------------------------------------- /public/skins/persona/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/persona/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/good.mp3 -------------------------------------------------------------------------------- /public/skins/persona/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/great.mp3 -------------------------------------------------------------------------------- /public/skins/persona/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/persona/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/long.mp3 -------------------------------------------------------------------------------- /public/skins/persona/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/persona/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/effect.png -------------------------------------------------------------------------------- /public/skins/skin00/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/flick.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/game.png -------------------------------------------------------------------------------- /public/skins/skin00/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/good.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/great.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/skin00/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/long.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/skin00/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/ui.png -------------------------------------------------------------------------------- /public/skins/skin00/ui_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin00/ui_old.png -------------------------------------------------------------------------------- /public/skins/skin01/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin01/flick.mp3 -------------------------------------------------------------------------------- /public/skins/skin01/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin01/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/skin01/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin01/good.mp3 -------------------------------------------------------------------------------- /public/skins/skin01/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin01/great.mp3 -------------------------------------------------------------------------------- /public/skins/skin01/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin01/long.mp3 -------------------------------------------------------------------------------- /public/skins/skin01/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin01/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/skin02/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin02/flick.mp3 -------------------------------------------------------------------------------- /public/skins/skin02/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin02/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/skin02/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin02/good.mp3 -------------------------------------------------------------------------------- /public/skins/skin02/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin02/great.mp3 -------------------------------------------------------------------------------- /public/skins/skin02/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin02/long.mp3 -------------------------------------------------------------------------------- /public/skins/skin02/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin02/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/skin03/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin03/flick.mp3 -------------------------------------------------------------------------------- /public/skins/skin03/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin03/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/skin03/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin03/good.mp3 -------------------------------------------------------------------------------- /public/skins/skin03/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin03/great.mp3 -------------------------------------------------------------------------------- /public/skins/skin03/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin03/long.mp3 -------------------------------------------------------------------------------- /public/skins/skin03/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin03/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/effect.png -------------------------------------------------------------------------------- /public/skins/skin04/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/flick.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/game.png -------------------------------------------------------------------------------- /public/skins/skin04/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/good.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/great.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/skin04/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/long.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/skin04/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/skin04/ui.png -------------------------------------------------------------------------------- /public/skins/vs/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/vs/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/witch/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/effect.png -------------------------------------------------------------------------------- /public/skins/witch/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/flick.mp3 -------------------------------------------------------------------------------- /public/skins/witch/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/game.png -------------------------------------------------------------------------------- /public/skins/witch/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/game_button.mp3 -------------------------------------------------------------------------------- /public/skins/witch/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/good.mp3 -------------------------------------------------------------------------------- /public/skins/witch/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/great.mp3 -------------------------------------------------------------------------------- /public/skins/witch/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/liveBG_normal.png -------------------------------------------------------------------------------- /public/skins/witch/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/long.mp3 -------------------------------------------------------------------------------- /public/skins/witch/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/perfect.mp3 -------------------------------------------------------------------------------- /public/skins/witch/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/skins/witch/ui.png -------------------------------------------------------------------------------- /public/sound/bgm/before_live.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/sound/bgm/before_live.mp3 -------------------------------------------------------------------------------- /public/sound/bgm/halloween.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/sound/bgm/halloween.mp3 -------------------------------------------------------------------------------- /public/sound/se/start.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/sound/se/start.mp3 -------------------------------------------------------------------------------- /public/sound/se/tap.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/public/sound/se/tap.mp3 -------------------------------------------------------------------------------- /quasar.extensions.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /src-capacitor/android/.gitignore: -------------------------------------------------------------------------------- 1 | # NPM renames .gitignore to .npmignore 2 | # In order to prevent that, we remove the initial "." 3 | # And the CLI then renames it 4 | 5 | # Using Android gitignore template: https://github.com/github/gitignore/blob/master/Android.gitignore 6 | 7 | # Built application files 8 | *.apk 9 | *.ap_ 10 | *.aab 11 | 12 | # Files for the ART/Dalvik VM 13 | *.dex 14 | 15 | # Java class files 16 | *.class 17 | 18 | # Generated files 19 | bin/ 20 | gen/ 21 | out/ 22 | release/ 23 | 24 | # Gradle files 25 | .gradle/ 26 | build/ 27 | 28 | # Local configuration file (sdk path, etc) 29 | local.properties 30 | 31 | # Proguard folder generated by Eclipse 32 | proguard/ 33 | 34 | # Log Files 35 | *.log 36 | 37 | # Android Studio Navigation editor temp files 38 | .navigation/ 39 | 40 | # Android Studio captures folder 41 | captures/ 42 | 43 | # IntelliJ 44 | *.iml 45 | .idea/workspace.xml 46 | .idea/tasks.xml 47 | .idea/gradle.xml 48 | .idea/assetWizardSettings.xml 49 | .idea/dictionaries 50 | .idea/libraries 51 | # Android Studio 3 in .gitignore file. 52 | .idea/caches 53 | .idea/modules.xml 54 | # Comment next line if keeping position of elements in Navigation Editor is relevant for you 55 | .idea/navEditor.xml 56 | 57 | # Keystore files 58 | # Uncomment the following lines if you do not want to check your keystore files in. 59 | #*.jks 60 | #*.keystore 61 | 62 | # External native build folder generated in Android Studio 2.2 and later 63 | .externalNativeBuild 64 | 65 | # Freeline 66 | freeline.py 67 | freeline/ 68 | freeline_project_description.json 69 | 70 | # fastlane 71 | fastlane/report.xml 72 | fastlane/Preview.html 73 | fastlane/screenshots 74 | fastlane/test_output 75 | fastlane/readme.md 76 | 77 | # Version control 78 | vcs.xml 79 | 80 | # lint 81 | lint/intermediates/ 82 | lint/generated/ 83 | lint/outputs/ 84 | lint/tmp/ 85 | # lint/reports/ 86 | 87 | # Cordova plugins for Capacitor 88 | capacitor-cordova-android-plugins 89 | 90 | # Copied web assets 91 | app/src/main/assets/public 92 | -------------------------------------------------------------------------------- /src-capacitor/android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build/* 2 | !/build/.npmkeep 3 | -------------------------------------------------------------------------------- /src-capacitor/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion rootProject.ext.compileSdkVersion 5 | defaultConfig { 6 | applicationId "fun.reikohaku.bangplayer" 7 | minSdkVersion rootProject.ext.minSdkVersion 8 | targetSdkVersion rootProject.ext.targetSdkVersion 9 | versionCode 1 10 | versionName "1.0" 11 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | repositories { 22 | flatDir{ 23 | dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' 24 | } 25 | } 26 | 27 | dependencies { 28 | implementation fileTree(include: ['*.jar'], dir: 'libs') 29 | implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" 30 | implementation project(':capacitor-android') 31 | testImplementation "junit:junit:$junitVersion" 32 | androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" 33 | androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" 34 | implementation project(':capacitor-cordova-android-plugins') 35 | } 36 | 37 | apply from: 'capacitor.build.gradle' 38 | 39 | try { 40 | def servicesJSON = file('google-services.json') 41 | if (servicesJSON.text) { 42 | apply plugin: 'com.google.gms.google-services' 43 | } 44 | } catch(Exception e) { 45 | logger.warn("google-services.json not found, google-services plugin not applied. Push Notifications won't work") 46 | } -------------------------------------------------------------------------------- /src-capacitor/android/app/capacitor.build.gradle: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN 2 | 3 | android { 4 | compileOptions { 5 | sourceCompatibility JavaVersion.VERSION_1_8 6 | targetCompatibility JavaVersion.VERSION_1_8 7 | } 8 | } 9 | 10 | apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" 11 | dependencies { 12 | 13 | 14 | } 15 | 16 | 17 | if (hasProperty('postBuildExtras')) { 18 | postBuildExtras() 19 | } 20 | -------------------------------------------------------------------------------- /src-capacitor/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.getcapacitor.myapp; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() throws Exception { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | 25 | assertEquals("com.getcapacitor.app", appContext.getPackageName()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 13 | 14 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 40 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/assets/capacitor.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "appId": "fun.reikohaku.bangplayer", 3 | "appName": "BanG Player v2", 4 | "bundledWebRuntime": false, 5 | "npmClient": "yarn", 6 | "webDir": "www" 7 | } -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/java/fun/reikohaku/bangplayer/MainActivity.java: -------------------------------------------------------------------------------- 1 | package fun.reikohaku.bangplayer; 2 | 3 | import android.os.Bundle; 4 | 5 | import com.getcapacitor.BridgeActivity; 6 | import com.getcapacitor.Plugin; 7 | 8 | import java.util.ArrayList; 9 | 10 | public class MainActivity extends BridgeActivity { 11 | @Override 12 | public void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | 15 | // Initializes the Bridge 16 | this.init(savedInstanceState, new ArrayList>() {{ 17 | // Additional plugins you've installed go here 18 | // Ex: add(TotallyAwesomePlugin.class); 19 | }}); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-land-hdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-land-hdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-land-mdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-land-mdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-land-xhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-land-xhdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-land-xxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-land-xxhdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-land-xxxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-land-xxxhdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-port-hdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-port-hdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-port-mdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-port-mdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-port-xhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-port-xhdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-port-xxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-port-xxhdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-port-xxxhdpi/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable-port-xxxhdpi/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/drawable/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/drawable/splash.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BanG Player v2 4 | BanG Player v2 5 | fun.reikohaku.bangplayer 6 | fun.reikohaku.bangplayer 7 | 8 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 17 | 18 | 19 | 22 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/xml/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src-capacitor/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.getcapacitor.myapp; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src-capacitor/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.6.1' 11 | classpath 'com.google.gms:google-services:4.3.3' 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | apply from: "variables.gradle" 19 | 20 | allprojects { 21 | repositories { 22 | google() 23 | jcenter() 24 | } 25 | } 26 | 27 | task clean(type: Delete) { 28 | delete rootProject.buildDir 29 | } 30 | -------------------------------------------------------------------------------- /src-capacitor/android/capacitor.settings.gradle: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN 2 | include ':capacitor-android' 3 | project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') 4 | -------------------------------------------------------------------------------- /src-capacitor/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | 19 | # AndroidX package structure to make it clearer which packages are bundled with the 20 | # Android operating system, and which are packaged with your app's APK 21 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 22 | android.useAndroidX=true 23 | # Automatically convert third-party libraries to use AndroidX 24 | android.enableJetifier=true 25 | -------------------------------------------------------------------------------- /src-capacitor/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src-capacitor/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /src-capacitor/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | include ':capacitor-cordova-android-plugins' 3 | project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') 4 | 5 | apply from: 'capacitor.settings.gradle' -------------------------------------------------------------------------------- /src-capacitor/android/variables.gradle: -------------------------------------------------------------------------------- 1 | ext { 2 | minSdkVersion = 21 3 | compileSdkVersion = 29 4 | targetSdkVersion = 29 5 | androidxAppCompatVersion = '1.1.0' 6 | androidxCoreVersion = '1.2.0' 7 | androidxMaterialVersion = '1.1.0-rc02' 8 | androidxBrowserVersion = '1.2.0' 9 | androidxLocalbroadcastmanagerVersion = '1.0.0' 10 | androidxExifInterfaceVersion = '1.2.0' 11 | firebaseMessagingVersion = '20.1.2' 12 | playServicesLocationVersion = '17.0.0' 13 | junitVersion = '4.12' 14 | androidxJunitVersion = '1.1.1' 15 | androidxEspressoCoreVersion = '3.2.0' 16 | cordovaAndroidVersion = '7.0.0' 17 | } -------------------------------------------------------------------------------- /src-capacitor/capacitor-flag.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED, 2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING 3 | import "quasar/dist/types/feature-flag"; 4 | 5 | declare module "quasar/dist/types/feature-flag" { 6 | interface QuasarFeatureFlags { 7 | capacitor: true; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src-capacitor/capacitor.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "appId": "fun.reikohaku.bangplayer", 3 | "appName": "BanG Player v2", 4 | "bundledWebRuntime": false, 5 | "npmClient": "yarn", 6 | "webDir": "www" 7 | } -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/capacitor.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "appId": "fun.reikohaku.bangplayer", 3 | "appName": "BanG Player v2", 4 | "bundledWebRuntime": false, 5 | "npmClient": "yarn", 6 | "webDir": "www" 7 | } -------------------------------------------------------------------------------- /src-capacitor/ios/App/App/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/cordova.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/cordova.js -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/cordova_plugins.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/cordova_plugins.js -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/css/3.27930e51.css: -------------------------------------------------------------------------------- 1 | .bg[data-v-55f3638e]{background-image:url(../img/bg.png);background-repeat:repeat} -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/css/4.e2f135f9.css: -------------------------------------------------------------------------------- 1 | #gameContainer[data-v-d13c3d0e]{position:fixed;top:0;bottom:0;left:0;right:0;height:100%;width:100%} -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/css/app.6d12f49a.css: -------------------------------------------------------------------------------- 1 | .container{width:100%;max-width:1200px;margin:0 auto;padding:16px 16px 16px 16px}.bg-easy{background-color:#57c0c9;color:#fff}.bg-normal{background-color:#8ac957;color:#fff}.bg-hard{background-color:#efa119;color:#fff}.bg-expert{background-color:#c76060;color:#fff}.bg-special{background-color:#c360c7;color:#fff}.sgm{font-family:sgm}.txjlcyj{font-family:txjlcyj}.txjlzcyf{font-family:txjlzcyf}@font-face{font-family:sgm;src:url(../fonts/sgm.ttf)}@font-face{font-family:txjlcyj;src:url(../fonts/txjlcyj.ttf)}@font-face{font-family:txjlzcyf;src:url(../fonts/txjlzcyf.ttf)} -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/favicon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/favicon512.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/KFOkCnqEu92Fr1MmgVxIIzQ.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/KFOkCnqEu92Fr1MmgVxIIzQ.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmYUtfBBc-.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/KFOlCnqEu92Fr1MmYUtfBBc-.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/KFOmCnqEu92Fr1Mu4mxM.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/KFOmCnqEu92Fr1Mu4mxM.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/materialdesignicons-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/materialdesignicons-webfont.woff -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/materialdesignicons-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/materialdesignicons-webfont.woff2 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/sgm.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/sgm.ttf -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/txjlcyj.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/txjlcyj.ttf -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/fonts/txjlzcyf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/fonts/txjlzcyf.ttf -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/allFlick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/allFlick.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/before_live.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/before_live.jpg -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/bg.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/flickParty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/flickParty.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/index.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/jacket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/jacket.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/img/singleDog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/img/singleDog.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/js/14.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[14],{c1eb:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("q-page",{staticClass:"flex flex-center"},[n("div",{staticClass:"text-h3 sgm"},[e._v("\n "+e._s(e.$t("public.loading"))+"\n ")])])},i=[],o=n("c973"),c=n.n(o),r=n("2d99"),s={name:"OfficialId",beforeMount(){var e=this;return c()((function*(){try{const t=yield r["a"].getOfficialSongInfo(e.$route.params.id);e.$store.commit("chartInfo/updateChartInfo",t),yield e.$router.push("/info")}catch(t){e.$q.notify({message:e.$t("public.error"),caption:e.$t("ERR_CHART_NOT_EXIST"),icon:"mdi-close"}),yield e.$router.push("/official")}}))()}},l=s,f=n("2877"),u=n("9989"),p=n("eebe"),d=n.n(p),h=Object(f["a"])(l,a,i,!1,null,"de4c70ea",null);t["default"]=h.exports;d()(h,"components",{QPage:u["a"]})}}]); -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/js/6.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[6],{e51e:function(t,e,n){"use strict";n.r(e);var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},[n("div",[n("div",{staticStyle:{"font-size":"30vh"}},[t._v("\n 404\n ")]),n("div",{staticClass:"text-h2",staticStyle:{opacity:".4"}},[t._v("\n 啊嘞?这是哪里……\n ")]),n("q-btn",{staticClass:"q-mt-xl",attrs:{color:"white","text-color":"blue",unelevated:"",to:"/",label:"返回","no-caps":""}})],1)])},s=[],a={name:"Error404"},c=a,i=n("2877"),o=n("9c40"),r=n("eebe"),u=n.n(r),p=Object(i["a"])(c,l,s,!1,null,null,null);e["default"]=p.exports;u()(p,"components",{QBtn:o["a"]})}}]); -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/js/7.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[7],{c5fd:function(t,e,n){"use strict";n.r(e);var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("q-page",[n("transition",{attrs:{appear:"","appear-active-class":"animated bounceInDown","leave-active-class":"animated bounceOutDown"}},[n("div",{staticClass:"container"},[n("div",{staticClass:"row q-col-gutter-md items-center"},[n("div",{staticClass:"col-auto"},[n("q-btn",{attrs:{round:"",color:"primary",icon:"mdi-chevron-left"},on:{click:function(e){t.$sound.tap(),t.$router.push("/")}}})],1),n("div",{staticClass:"col-12"},[n("div",[n("q-btn",{staticClass:"full-width",attrs:{"no-caps":"",color:"primary",icon:"mdi-check-double",label:t.$t("notification.markAllAsRead"),disable:!t.$store.getters["notification/hasNew"]},on:{click:function(e){return t.$store.commit("notification/setRead",t.notification)}}})],1)]),n("div",{staticClass:"col-12"},[n("q-list",{staticClass:"rounded-borders",attrs:{bordered:""}},t._l(t.notification,(function(e){return n("q-expansion-item",{key:e.key,staticClass:"bg-white",attrs:{"expand-separator":"",label:t.getPreferLang(e).title,caption:new Date(e.time).toString()}},[n("q-card",[n("q-card-section",[n("div",{domProps:{innerHTML:t._s(t.markdown(t.getPreferLang(e).content))}})]),t.readList.includes(e.key)?t._e():n("q-btn",{staticClass:"full-width",attrs:{"no-caps":"",flat:"",icon:"mdi-check",label:t.$t("notification.markAsRead")},on:{click:function(n){return t.$store.commit("notification/setRead",[e])}}})],1)],1)})),1)],1)])])])],1)},i=[],o=n("c973"),s=n.n(o),c=(n("50ee"),n("339e")),r=n.n(c);r.a.setOption("openLinksInNewWindow",!0);let l=new r.a.Converter;var d={name:"Notification",computed:{notification:{get(){return this.$store.state.notification.notification}},readList:{get(){return this.$store.state.notification.readList}}},methods:{markdown(t){return l.makeHtml(t)},getPreferLang(t){return t[this.$i18n.locale]?t[this.$i18n.locale]:t["en-us"]?t["en-us"]:t["zh-cn"]}},mounted(){return s()((function*(){}))()}},u=d,f=n("2877"),m=n("9989"),p=n("9c40"),w=n("1c1c"),b=n("3b73"),h=n("f09f"),k=n("a370"),v=n("eebe"),g=n.n(v),C=Object(f["a"])(u,a,i,!1,null,"35c4576c",null);e["default"]=C.exports;g()(C,"components",{QPage:m["a"],QBtn:p["a"],QList:w["a"],QExpansionItem:b["a"],QCard:h["a"],QCardSection:k["a"]})}}]); -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/js/8.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[8],{"3a93":function(t,a,e){"use strict";e.r(a);var i=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("q-page",[e("transition",{attrs:{appear:"","appear-active-class":"animated bounceInDown"}},[e("div",{staticClass:"container"},[e("div",{staticClass:"row q-col-gutter-md items-center"},[e("div",{staticClass:"col-auto"},[e("q-btn",{attrs:{round:"",color:"primary",icon:"mdi-chevron-left"},on:{click:function(a){t.$sound.tap(),t.$router.push("/")}}})],1),e("div",{staticClass:"col"},[e("q-input",{attrs:{label:t.$t("public.search")},on:{input:t.search},scopedSlots:t._u([{key:"append",fn:function(){return[e("q-btn",{attrs:{flat:"",round:"",icon:"mdi-subdirectory-arrow-left"},on:{click:t.onDirect}})]},proxy:!0}]),model:{value:t.searchVal,callback:function(a){t.searchVal=a},expression:"searchVal"}})],1)]),e("div",{staticClass:"q-mt-md"},[e("q-infinite-scroll",{ref:"infiniteScroll",on:{load:t.load}},[t.list&&t.list.length>0?e("div",{staticClass:"row q-col-gutter-md"},t._l(t.list,(function(t){return e("div",{key:t.id,staticClass:"col-xs-12 col-sm-4 col-md-3"},[e("transition",{attrs:{appear:"","appear-active-class":"animated flipInY","leave-active-class":"animated flipOutY"}},[e("chart-card",{attrs:{info:t}})],1)],1)})),0):t._e()])],1),e("transition",{attrs:{appear:"","appear-active-class":"animated fadeIn","leave-active-class":"animated fadeOut"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.loading,expression:"loading"}],staticClass:"text-center q-mt-md"},[e("q-spinner"),t._v("\n "+t._s(t.$t("public.loading"))+"\n ")],1)])],1)])],1)},s=[],n=e("c973"),r=e.n(n),l=e("7c17"),c=e("1c16"),o=(e("4360"),{name:"Bestdori",components:{ChartCard:l["a"]},data:function(){return{loading:!1,loadPerPull:12,list:[],searchVal:""}},computed:{keys:{get(){return 0===this.searchVal.length?[]:this.searchVal.split(" ")}}},methods:{load(t,a){var e=this;return r()((function*(){e.loading=!0,e.$store.commit("axiosCanceller/doCancel");const i=e.searchVal,s=[],n=yield e.$bestdori.getBestdoriChart({offset:20*(t-1),search:i,tags:s});e.list=e.list.concat(n.list),e.loading=!1,a(n.done)}))()},search(){this.$refs.infiniteScroll.stop(),this.list=[],this.$refs.infiniteScroll.reset(),this.$refs.infiniteScroll.resume(),this.$refs.infiniteScroll.trigger()},onDirect(){this.$q.dialog({title:this.$t("dialogs.directlyStart.title"),message:this.$t("dialogs.directlyStart.message"),prompt:{model:"",type:"number"},cancel:!0,persistent:!0}).onOk(t=>{this.$q.loading.show();try{this.$router.push("bestdori/"+t)}catch(a){}finally{this.$q.loading.hide()}})}},mounted(){this.search=Object(c["a"])(this.search,1500)}}),d=o,p=e("2877"),u=e("9989"),h=e("9c40"),f=e("27f9"),m=e("ef35"),g=e("0d59"),v=e("eebe"),$=e.n(v),b=Object(p["a"])(d,i,s,!1,null,"6291f9fa",null);a["default"]=b.exports;$()(b,"components",{QPage:u["a"],QBtn:h["a"],QInput:f["a"],QInfiniteScroll:m["a"],QSpinner:g["a"]})}}]); -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/js/9.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[9],{dd8f:function(t,e,n){"use strict";n.r(e);var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("q-page",{staticClass:"flex flex-center"},[n("div",{staticClass:"text-h3 sgm"},[t._v("\n "+t._s(t.$t("public.loading"))+"\n ")])])},r=[],s=n("c973"),a=n.n(s),i=n("2d99"),c={name:"BestdoriId",beforeMount(){var t=this;return a()((function*(){try{const e=yield i["a"].getCommunityChartInfo(t.$route.params.id);t.$store.commit("chartInfo/updateChartInfo",e),yield t.$router.push("/info")}catch(e){t.$q.notify({message:t.$t("public.error"),caption:t.$t("ERR_CHART_NOT_EXIST"),icon:"mdi-close"}),yield t.$router.push("/bestdori")}}))()}},u=c,l=n("2877"),d=n("9989"),p=n("eebe"),f=n.n(p),m=Object(l["a"])(u,o,r,!1,null,"7c6b5971",null);e["default"]=m.exports;f()(m,"components",{QPage:d["a"]})}}]); -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/april_fool/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/april_fool/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/black/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/black/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/cafe/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/cafe/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/challenge/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/challenge/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/coin/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/coin/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/gbp2020/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/gbp2020/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/maid/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/maid/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/miku/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/miku/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/persona/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/persona/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin00/ui_old.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin00/ui_old.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin01/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin01/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin01/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin01/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin01/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin01/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin01/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin01/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin01/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin01/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin01/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin01/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin02/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin02/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin02/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin02/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin02/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin02/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin02/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin02/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin02/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin02/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin02/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin02/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin03/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin03/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin03/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin03/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin03/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin03/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin03/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin03/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin03/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin03/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin03/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin03/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/effect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/effect.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/flick.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/flick.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/game.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/game_button.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/game_button.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/good.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/good.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/great.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/great.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/long.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/long.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/perfect.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/perfect.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/skin04/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/skin04/ui.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/skins/vs/liveBG_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/skins/vs/liveBG_normal.png -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/sound/bgm/before_live.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/sound/bgm/before_live.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/sound/se/start.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/sound/se/start.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/App/public/sound/se/tap.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/App/public/sound/se/tap.mp3 -------------------------------------------------------------------------------- /src-capacitor/ios/capacitor-cordova-ios-plugins/CordovaPlugins.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/capacitor-cordova-ios-plugins/CordovaPlugins.podspec -------------------------------------------------------------------------------- /src-capacitor/ios/capacitor-cordova-ios-plugins/CordovaPluginsResources.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'CordovaPluginsResources' 3 | s.version = '0.0.105' 4 | s.summary = 'Resources for Cordova plugins' 5 | s.social_media_url = 'https://twitter.com/capacitorjs' 6 | s.license = 'MIT' 7 | s.homepage = 'https://capacitorjs.com/' 8 | s.authors = { 'Ionic Team' => 'hi@ionicframework.com' } 9 | s.source = { :git => 'https://github.com/ionic-team/capacitor.git', :tag => s.version.to_s } 10 | s.resources = ['resources/*'] 11 | end 12 | -------------------------------------------------------------------------------- /src-capacitor/ios/capacitor-cordova-ios-plugins/CordovaPluginsStatic.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src-capacitor/ios/capacitor-cordova-ios-plugins/CordovaPluginsStatic.podspec -------------------------------------------------------------------------------- /src-capacitor/ios/capacitor-cordova-ios-plugins/resources/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src-capacitor/ios/capacitor-cordova-ios-plugins/sources/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src-capacitor/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bang_player_v2", 3 | "version": "2.0.8", 4 | "description": "A BanG Dream! Girl's Band Party web simulator", 5 | "author": "ReiKohaku ", 6 | "private": true, 7 | "dependencies": { 8 | "@capacitor/android": "2.4.2", 9 | "@capacitor/cli": "^2.0.0", 10 | "@capacitor/core": "^2.0.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src-pwa/custom-service-worker.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file (which will be your service worker) 3 | * is picked up by the build system ONLY if 4 | * quasar.conf > pwa > workboxPluginMode is set to "InjectManifest" 5 | */ 6 | -------------------------------------------------------------------------------- /src-pwa/pwa-flag.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED, 2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING 3 | import "quasar/dist/types/feature-flag"; 4 | 5 | declare module "quasar/dist/types/feature-flag" { 6 | interface QuasarFeatureFlags { 7 | pwa: true; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src-pwa/register-service-worker.js: -------------------------------------------------------------------------------- 1 | import { register } from 'register-service-worker' 2 | import { i18n } from 'src/boot/i18n' 3 | import { Notify } from 'quasar' 4 | 5 | // The ready(), registered(), cached(), updatefound() and updated() 6 | // events passes a ServiceWorkerRegistration instance in their arguments. 7 | // ServiceWorkerRegistration: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration 8 | 9 | register(process.env.SERVICE_WORKER_FILE, { 10 | // The registrationOptions object will be passed as the second argument 11 | // to ServiceWorkerContainer.register() 12 | // https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register#Parameter 13 | 14 | // registrationOptions: { scope: './' }, 15 | 16 | ready (/* registration */) { 17 | console.log('Service worker is active.') 18 | }, 19 | 20 | registered (/* registration */) { 21 | console.log('Service worker has been registered.') 22 | }, 23 | 24 | cached (/* registration */) { 25 | console.log('Content has been cached for offline use.') 26 | Notify.create({ 27 | message: i18n.t('public.success'), 28 | caption: i18n.t('serviceWorker.cached'), 29 | icon: 'mdi-check' 30 | }); 31 | }, 32 | 33 | updatefound (/* registration */) { 34 | console.log('New content is downloading.') 35 | Notify.create({ 36 | message: i18n.t('public.tip'), 37 | caption: i18n.t('serviceWorker.updateFound'), 38 | icon: 'info' 39 | }); 40 | }, 41 | 42 | updated (/* registration */) { 43 | console.log('New content is available; please refresh.') 44 | Notify.create({ 45 | message: i18n.t('public.success'), 46 | caption: i18n.t('serviceWorker.updated'), 47 | icon: 'mdi-check' 48 | }); 49 | }, 50 | 51 | offline () { 52 | console.log('No internet connection found. App is running in offline mode.') 53 | Notify.create({ 54 | message: i18n.t('public.tip'), 55 | caption: i18n.t('serviceWorker.offline'), 56 | icon: 'info' 57 | }); 58 | }, 59 | 60 | error (err) { 61 | console.error('Error during service worker registration:', err) 62 | Notify.create({ 63 | message: i18n.t('public.error'), 64 | caption: i18n.t('serviceWorker.error'), 65 | icon: 'mdi-close' 66 | }); 67 | } 68 | }) 69 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 11 | 32 | 35 | -------------------------------------------------------------------------------- /src/boot/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src/boot/.gitkeep -------------------------------------------------------------------------------- /src/boot/audio.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import Audio from 'src/audio'; 3 | 4 | Vue.use(Audio) 5 | -------------------------------------------------------------------------------- /src/boot/axios.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import axios from 'axios' 3 | import {i18n} from 'src/boot/i18n'; 4 | import {Notify} from 'quasar'; 5 | import Settings from "src/lib/util/settings"; 6 | import Store from 'src/store'; 7 | 8 | const CancelToken = axios.CancelToken; 9 | const source = CancelToken.source(); 10 | 11 | axios.interceptors.request.use(config => { 12 | config.cancelToken = new CancelToken(c => { 13 | Store.commit('axiosCanceller/newCancel', c); 14 | }) 15 | if (config.url.startsWith('https://bestdori.com')) 16 | config.url = Settings.usePreferProxyUrl(config.url, true); 17 | return config; 18 | }, e => { 19 | return Promise.reject(e); 20 | }) 21 | 22 | axios.interceptors.response.use(response => { 23 | return response.data; 24 | }, error => { 25 | if (axios.isCancel(error)) { 26 | return Promise.reject(error); 27 | } 28 | let errMsg = ''; 29 | if (!error.message) { 30 | let code = null; 31 | try { 32 | code = error.response.status; 33 | } catch { 34 | } 35 | if (code === 403) { 36 | errMsg = 'ERR_FORBIDDEN'; 37 | } else if (code === 400) { 38 | errMsg = 'ERR_BAD_REQUEST'; 39 | } else if (code === 404) { 40 | errMsg = 'ERR_PAGE_NOT_FOUND'; 41 | } else if (code === 429) { 42 | errMsg = 'ERR_TOO_MANY_REQUEST'; 43 | } else if (code === 500) { 44 | errMsg = 'ERR_INTERNAL_SERVER_ERROR'; 45 | } 46 | } else errMsg = error.message; 47 | Notify.create({ 48 | message: i18n.t('public.error'), 49 | caption: i18n.t(errMsg), 50 | icon: 'mdi-close' 51 | }); 52 | return Promise.reject(error); 53 | }) 54 | 55 | Vue.prototype.$axios = axios; 56 | -------------------------------------------------------------------------------- /src/boot/howler.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import {Howl, Howler} from 'howler' 3 | 4 | const howl = { 5 | Howl: null, 6 | new(config) { 7 | const player = new Howl(config); 8 | this.Howl = player; 9 | } 10 | } 11 | 12 | Vue.prototype.$howl = howl 13 | Vue.prototype.$howler = Howler 14 | -------------------------------------------------------------------------------- /src/boot/i18n.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueI18n from 'vue-i18n' 3 | import messages from 'src/i18n' 4 | import Settings from "src/lib/util/settings"; 5 | 6 | Vue.use(VueI18n) 7 | 8 | const i18n = new VueI18n({ 9 | locale: Settings.get('language'), 10 | fallbackLocale: 'en-us', 11 | messages 12 | }) 13 | 14 | export default ({ app }) => { 15 | // Set i18n instance on app 16 | app.i18n = i18n 17 | } 18 | 19 | export { i18n } 20 | -------------------------------------------------------------------------------- /src/boot/quasar-lang-pack.js: -------------------------------------------------------------------------------- 1 | import Settings from 'src/lib/util/settings.js'; 2 | import Quasar from 'quasar' 3 | import 'quasar/lang/zh-hans.js' 4 | 5 | export default async () => { 6 | const locale = Settings.get('language'); 7 | const langIso = Settings.langIsoList[locale] || locale // ... some logic to determine it (use Cookies Plugin?) 8 | 9 | try { 10 | await import(`quasar/lang/${langIso}.js`) 11 | .then(lang => { 12 | Quasar.lang.set(lang.default) 13 | }) 14 | } catch (err) { 15 | // Requested Quasar Language Pack does not exist, 16 | // let's not break the app, so catching error 17 | console.log(err); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/boot/utils.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import Bestdori from 'src/lib/api/bestdori'; 3 | import Lang from 'src/lib/util/lang'; 4 | import Sound from 'src/lib/util/sound'; 5 | import Chart from 'src/lib/util/chart'; 6 | import Settings from 'src/lib/util/settings'; 7 | import File from 'src/lib/util/file'; 8 | import Action from 'src/lib/util/action'; 9 | import Github from 'src/lib/api/github'; 10 | 11 | Vue.use(Bestdori) 12 | Vue.use(Lang) 13 | Vue.use(Sound) 14 | Vue.use(Chart) 15 | Vue.use(Settings) 16 | Vue.use(File) 17 | Vue.use(Github) 18 | Vue.use(Action) 19 | -------------------------------------------------------------------------------- /src/components/Component/Local/DownloadDialog.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 71 | 72 | 75 | -------------------------------------------------------------------------------- /src/components/Component/Local/DownloadProgress.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 43 | 44 | 47 | -------------------------------------------------------------------------------- /src/components/Component/Settings/ImageSelector.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 95 | 96 | 99 | -------------------------------------------------------------------------------- /src/components/Component/Settings/NumberStepper.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 93 | 94 | 97 | -------------------------------------------------------------------------------- /src/components/Select/ChartCard.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 76 | 77 | 92 | -------------------------------------------------------------------------------- /src/components/Select/DiffIconList.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 73 | 74 | 84 | -------------------------------------------------------------------------------- /src/components/Style/TopMenu.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 15 | 16 | 19 | -------------------------------------------------------------------------------- /src/css/app.sass: -------------------------------------------------------------------------------- 1 | // app global css in Sass form 2 | .container 3 | width: 100% 4 | max-width: 1200px 5 | margin: 0 auto 6 | padding: 16px 16px 16px 16px 7 | 8 | .bg-easy 9 | background-color: #57c0c9 10 | color: white 11 | 12 | .bg-normal 13 | background-color: #8ac957 14 | color: white 15 | 16 | .bg-hard 17 | background-color: #efa119 18 | color: white 19 | 20 | .bg-expert 21 | background-color: #c76060 22 | color: white 23 | 24 | .bg-special 25 | background-color: #c360c7 26 | color: white 27 | .sgm 28 | font-family: 'sgm' 29 | 30 | .txjlcyj 31 | font-family: 'txjlcyj' 32 | 33 | .txjlzcyf 34 | font-family: 'txjlzcyf' 35 | -------------------------------------------------------------------------------- /src/css/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'sgm'; 3 | src: url('../font/sgm.ttf'); 4 | } 5 | 6 | @font-face { 7 | font-family: 'txjlcyj'; 8 | src: url('../font/txjlcyj.ttf') 9 | } 10 | 11 | @font-face { 12 | font-family: 'txjlzcyf'; 13 | src: url('../font/txjlzcyf.ttf') 14 | } 15 | -------------------------------------------------------------------------------- /src/css/quasar.variables.sass: -------------------------------------------------------------------------------- 1 | // Quasar Sass (& SCSS) Variables 2 | // -------------------------------------------------- 3 | // To customize the look and feel of this app, you can override 4 | // the Sass/SCSS variables found in Quasar's source Sass/SCSS files. 5 | 6 | // Check documentation for full list of Quasar variables 7 | 8 | // Your own variables (that are declared here) and Quasar's own 9 | // ones will be available out of the box in your .vue/.scss/.sass files 10 | 11 | // It's highly recommended to change the default colors 12 | // to match your app's branding. 13 | // Tip: Use the "Theme Builder" on Quasar's documentation website. 14 | 15 | $primary : #F06292 16 | //$primary : #FFA4CF 17 | $secondary : #1A9AFF 18 | $accent : #9C27B0 19 | 20 | $dark : #1D1D1D 21 | 22 | $positive : #21BA45 23 | $negative : #C10015 24 | $info : #31CCEC 25 | $warning : #F2C037 26 | 27 | $easy : #57c0c9 28 | $normal : #8ac957 29 | $hard : #efa119 30 | $expert : #c76060 31 | $special : #c360c7 32 | -------------------------------------------------------------------------------- /src/font/sgm.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src/font/sgm.ttf -------------------------------------------------------------------------------- /src/font/txjlcyj.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src/font/txjlcyj.ttf -------------------------------------------------------------------------------- /src/font/txjlzcyf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReiKohaku/BanG-Player-v2/fd214e61a988331da82058b157d5fb96c8108e98/src/font/txjlzcyf.ttf -------------------------------------------------------------------------------- /src/i18n/index.js: -------------------------------------------------------------------------------- 1 | import enUS from './en-us' 2 | import zhCN from './zh-cn' 3 | import jaJP from './ja-jp' 4 | 5 | export default { 6 | 'en-us': enUS, 7 | 'zh-cn': zhCN, 8 | 'ja-jp': jaJP 9 | } 10 | -------------------------------------------------------------------------------- /src/layouts/MainLayout.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 92 | 93 | 99 | -------------------------------------------------------------------------------- /src/lib/api/ebbbTest.js: -------------------------------------------------------------------------------- 1 | import Axios from 'axios'; 2 | const axios = Axios; 3 | 4 | const Ebbb = { 5 | getChartInfo: async (id) => { 6 | let data = await axios.get('https://editor.reikohaku.fun/test/get/chart', { 7 | params: {id} 8 | }); 9 | console.log(data); 10 | return data; 11 | } 12 | } 13 | 14 | export default Ebbb; 15 | -------------------------------------------------------------------------------- /src/lib/api/github.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | const Github = { 4 | getContent: async (owner, repo, path, branch) => { 5 | let path_ = path || '/', branch_ = branch || 'master'; 6 | path_ = path_.replace('\\', '/'); 7 | if (path_.indexOf('/') !== 0) path_ = `/${path_}`; 8 | let data = await Vue.prototype.$axios.get(`https://api.bangplayer.live/github/api/repos/${owner}/${repo}/contents${path_}`, { 9 | params: { 10 | ref: branch 11 | } 12 | }); 13 | data = JSON.stringify(data); 14 | data = data.replace('https://api.github.com', 'https://api.bangplayer.live/github/api'); 15 | data = data.replace('https://raw.githubusercontent.com', 'https://api.bangplayer.live/github/raw'); 16 | data = JSON.parse(data); 17 | return data; 18 | }, 19 | getRaw: async (owner, repo, path, branch) => { 20 | let path_ = path || '/', branch_ = branch || 'master'; 21 | path_ = path_.replace('\\', '/'); 22 | if (path_.indexOf('/') !== 0) path_ = `/${path_}`; 23 | let data = await Vue.prototype.$axios.get(`https://api.bangplayer.live/github/raw/${owner}/${repo}/${branch_}${path_}`) 24 | return data; 25 | } 26 | }; 27 | 28 | Github.install = function (Vue, options) { 29 | Vue.prototype.$github = Github 30 | }; 31 | 32 | export default Github; 33 | -------------------------------------------------------------------------------- /src/lib/api/statistics.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | const Statistics = { 4 | new: async (type, id) => { 5 | return; 6 | try { 7 | let data = await Vue.prototype.$axios.post(`https://api.bangplayer.reikohaku.fun/play/statistics/new`, { 8 | type, 9 | id 10 | }); 11 | if (!data.status) throw new Error(data.error); 12 | return data; 13 | } catch { 14 | } 15 | }, 16 | latest: async () => { 17 | return; 18 | let data = await Vue.prototype.$axios.post(`https://api.bangplayer.reikohaku.fun/play/statistics/latest`, {size: 10}); 19 | if (!data.status) throw new Error(data.error); 20 | return data; 21 | }, 22 | hot: async () => { 23 | return; 24 | let data = await Vue.prototype.$axios.post(`https://api.bangplayer.reikohaku.fun/play/statistics/hot`, {size: 10}); 25 | if (!data.status) throw new Error(data.error); 26 | return data; 27 | } 28 | } 29 | 30 | export default Statistics; 31 | -------------------------------------------------------------------------------- /src/lib/factory/mods.js: -------------------------------------------------------------------------------- 1 | const Mods = { 2 | enableMod: (mapContent, mod = '') => { 3 | switch (mod) { 4 | case 'singleDog': 5 | mapContent.slides = []; 6 | mapContent.notes.forEach(item => item.type = 'single'); 7 | break; 8 | case 'flickParty': 9 | mapContent.slides.forEach(item => item.flickend = true) 10 | mapContent.notes.forEach(item => item.type = (item.type === 'slide') ? 'slide' : 'flick'); 11 | break; 12 | case 'allFlick': 13 | mapContent.slides = []; 14 | mapContent.notes.forEach(item => item.type = 'flick'); 15 | break; 16 | default: 17 | break; 18 | } 19 | } 20 | } 21 | 22 | export default Mods; 23 | -------------------------------------------------------------------------------- /src/lib/util/action.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | const Action = { 4 | fullScreen: async () => { 5 | try { 6 | await Vue.prototype.$q.fullscreen.toggle(); 7 | } catch (e) { 8 | } 9 | } 10 | } 11 | 12 | Action.install = function (Vue, options) { 13 | Vue.prototype.$action = Action 14 | }; 15 | 16 | export default Action; 17 | -------------------------------------------------------------------------------- /src/lib/util/chart.js: -------------------------------------------------------------------------------- 1 | const Chart = { 2 | convertToLoadConfig (chartInfo) { 3 | const loadConfig = { 4 | 5 | } 6 | } 7 | }; 8 | 9 | Chart.install = function (Vue, options) { 10 | Vue.prototype.$chart = Chart 11 | }; 12 | 13 | export default Chart; 14 | -------------------------------------------------------------------------------- /src/lib/util/lang.js: -------------------------------------------------------------------------------- 1 | function getFirstNotNull(object) { 2 | for (const i in object) { 3 | if (object[i]) return object[i]; 4 | } 5 | } 6 | 7 | const Lang = { 8 | getInLang(locale, object) { 9 | if (typeof object != 'object') return object; 10 | if (object[locale]) return object[locale]; 11 | else if (object[locale.substring(0, locale.indexOf('-'))]) return object[locale.substring(0, locale.indexOf('-'))]; 12 | else return getFirstNotNull(object); 13 | } 14 | } 15 | 16 | Lang.install = function (Vue, options) { 17 | Vue.prototype.$lang = Lang 18 | }; 19 | 20 | export default Lang; 21 | -------------------------------------------------------------------------------- /src/lib/util/sound.js: -------------------------------------------------------------------------------- 1 | let audio; 2 | let srcs = {}; 3 | 4 | async function play(name, src) { 5 | if (!audio) { 6 | window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext; 7 | audio = new window.AudioContext(); 8 | } 9 | if (!srcs[name] || srcs[name].src !== src) { 10 | var xhr = new XMLHttpRequest(); //通过XHR下载音频文件 11 | xhr.open('GET', src, true); 12 | xhr.responseType = 'arraybuffer'; 13 | xhr.onload = function (e) { 14 | try { 15 | audio.decodeAudioData(this.response, function (buffer) { 16 | const source = audio.createBufferSource(); 17 | source.buffer = buffer; 18 | source.connect(audio.destination); 19 | source.start(0); 20 | srcs[name] = { 21 | src, buffer 22 | }; 23 | }, function (e) { 24 | console.log('SFX error', e); 25 | }); 26 | } catch { 27 | } 28 | }; 29 | xhr.send(); 30 | } else { 31 | const source = audio.createBufferSource(); 32 | source.buffer = srcs[name].buffer; 33 | source.connect(audio.destination); 34 | source.start(0); 35 | } 36 | try { 37 | } catch (e) { 38 | console.log(e); 39 | } 40 | } 41 | 42 | const Sound = { 43 | async tap() { 44 | await play('tap', 'sound/se/tap.mp3'); 45 | }, 46 | async start() { 47 | await play('start', 'sound/se/start.mp3'); 48 | }, 49 | async perfect(skin) { 50 | await play('perfect', `skins/${skin}/perfect.mp3`); 51 | }, 52 | async flick(skin) { 53 | await play('flick', `skins/${skin}/flick.mp3`); 54 | } 55 | } 56 | 57 | Sound.install = function (Vue, options) { 58 | Vue.prototype.$sound = Sound 59 | }; 60 | 61 | export default Sound; 62 | -------------------------------------------------------------------------------- /src/pages/EbbbTest.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 82 | 83 | 86 | -------------------------------------------------------------------------------- /src/pages/Error404.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 28 | -------------------------------------------------------------------------------- /src/pages/Home.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 14 | -------------------------------------------------------------------------------- /src/pages/Notification.vue: -------------------------------------------------------------------------------- 1 | 51 | 52 | 88 | 89 | 92 | -------------------------------------------------------------------------------- /src/pages/Select/BestdoriId.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 31 | 32 | 35 | -------------------------------------------------------------------------------- /src/pages/Select/OfficialId.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 31 | 32 | 35 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | import { i18n } from 'src/boot/i18n'; 4 | import Store from 'src/store'; 5 | 6 | import routes from './routes' 7 | 8 | Vue.use(VueRouter) 9 | 10 | export default function (/* { store, ssrContext } */) { 11 | const Router = new VueRouter({ 12 | scrollBehavior: () => ({ x: 0, y: 0 }), 13 | routes, 14 | 15 | mode: process.env.VUE_ROUTER_MODE, 16 | base: process.env.VUE_ROUTER_BASE 17 | }) 18 | 19 | Router.beforeEach((to, from, next) => { 20 | Store.commit('axiosCanceller/doCancel'); 21 | if (to.name === 'info' && !Store.state.chartInfo.chartInfo) next('/'); 22 | if (to.name) { 23 | const title = i18n.t(`title.${to.name}`); 24 | if ((to.name === 'info' || to.name === 'game') && Store.state.chartInfo.chartInfo) 25 | document.title = `${Vue.prototype.$lang.getInLang(i18n.locale, Store.state.chartInfo.chartInfo.title)} - BanG Player`; 26 | else if (title != `title.${to.name}`) document.title = `${title} - BanG Player`; 27 | else document.title = `BanG Player`; 28 | } 29 | next(); 30 | }) 31 | 32 | return Router 33 | } 34 | -------------------------------------------------------------------------------- /src/router/routes.js: -------------------------------------------------------------------------------- 1 | import Store from 'src/store'; 2 | import {Bestdori} from 'src/lib/api/bestdori.js'; 3 | 4 | const routes = [ 5 | { 6 | path: '/', 7 | component: () => import('layouts/MainLayout.vue'), 8 | children: [ 9 | { name: 'index', path: '', component: () => import('pages/Index.vue') }, 10 | { name: 'official', path: 'official', component: () => import('pages/Select/Official.vue') }, 11 | { name: 'officialId', path: 'official/:id', component: () => import('pages/Select/OfficialId.vue') }, 12 | { name: 'bestdori', path: 'bestdori', component: () => import('pages/Select/Bestdori.vue') }, 13 | { name: 'bestdoriId', path: 'bestdori/:id', component: () => import('pages/Select/BestdoriId.vue') }, 14 | { name: 'local', path: 'local', component: () => import('pages/Select/Local.vue') }, 15 | { name: 'settings', path: 'settings', component: () => import('pages/Settings.vue') }, 16 | { name: 'favorite', path: 'favorite', component: () => import('pages/Select/Favorite.vue') }, 17 | { name: 'info', path: 'info', component: () => import('pages/Select/Info.vue') }, 18 | { name: 'notification', path: 'notification', component: () => import('pages/Notification.vue') }, 19 | { name: 'ebbb', path: 'ebbb', component: () => import('pages/EbbbTest.vue') } 20 | ] 21 | }, 22 | { 23 | name: 'game', 24 | path: '/game', 25 | component: () => import('pages/Game.vue') 26 | }, 27 | { 28 | name: 'wiki', 29 | path: '/wiki', 30 | component: () => import('pages/Wiki.vue') 31 | }, 32 | // Always leave this as last one, 33 | // but you can also remove it 34 | { 35 | path: '*', 36 | component: () => import('pages/Error404.vue') 37 | } 38 | ] 39 | 40 | export default routes 41 | -------------------------------------------------------------------------------- /src/store/axiosCanceller/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someAction (context) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/axiosCanceller/getters.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someGetter (state) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/axiosCanceller/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /src/store/axiosCanceller/mutations.js: -------------------------------------------------------------------------------- 1 | export const newCancel = (state, payload) => { 2 | state.cancel.push(payload); 3 | } 4 | 5 | export const doCancel = (state) => { 6 | state.cancel.forEach(item => { 7 | item && item(); 8 | }) 9 | state.cancel.length = 0; 10 | } 11 | -------------------------------------------------------------------------------- /src/store/axiosCanceller/state.js: -------------------------------------------------------------------------------- 1 | export default function () { 2 | return { 3 | cancel: [] 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/store/chartInfo/actions.js: -------------------------------------------------------------------------------- 1 | export function someAction (/* context */) { 2 | } 3 | -------------------------------------------------------------------------------- /src/store/chartInfo/getters.js: -------------------------------------------------------------------------------- 1 | export const gameLoadConfig = (state) => { 2 | let gameLoadConfig = null; 3 | try { 4 | gameLoadConfig = state.gameLoadConfig; 5 | } catch {} 6 | return gameLoadConfig; 7 | } 8 | -------------------------------------------------------------------------------- /src/store/chartInfo/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | getters, 9 | mutations, 10 | actions, 11 | state 12 | } 13 | -------------------------------------------------------------------------------- /src/store/chartInfo/mutations.js: -------------------------------------------------------------------------------- 1 | export const updateChartInfo = (state, payload) => { 2 | state.chartInfo = payload; 3 | }; 4 | 5 | export const updateChartData = (state, payload) => { 6 | state.chartData = payload; 7 | }; 8 | 9 | export const updateGameLoadConfig = (state, payload) => { 10 | state.gameLoadConfig = payload; 11 | }; 12 | -------------------------------------------------------------------------------- /src/store/chartInfo/state.js: -------------------------------------------------------------------------------- 1 | export default function () { 2 | return { 3 | chartInfo: null, 4 | chartData: null, 5 | gameLoadConfig: null 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/store/downloadDialog/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someAction (context) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/downloadDialog/getters.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someGetter (state) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/downloadDialog/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /src/store/downloadDialog/mutations.js: -------------------------------------------------------------------------------- 1 | export const create = (state, payload) => { 2 | state.downloadDialog = { 3 | display: false, 4 | title: null, 5 | message: null, 6 | closeable: false, 7 | ...payload 8 | } 9 | }; 10 | 11 | export const update = (state, payload) => { 12 | state.downloadDialog = { 13 | ...state.downloadDialog, 14 | ...payload 15 | } 16 | } 17 | 18 | export const clear = (state) => { 19 | create(state, null); 20 | } 21 | -------------------------------------------------------------------------------- /src/store/downloadDialog/state.js: -------------------------------------------------------------------------------- 1 | export default function () { 2 | return { 3 | downloadDialog: { 4 | display: false, 5 | title: null, 6 | message: null, 7 | closeable: false 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/store/favorite/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someAction (context) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/favorite/getters.js: -------------------------------------------------------------------------------- 1 | import Store from 'src/store' 2 | 3 | export const isFavorite = (state) => { 4 | if (!state.favoriteList || state.favoriteList.length === 0) return false; 5 | try { 6 | const type = Store.state.chartInfo.chartInfo.type; 7 | const id = Store.state.chartInfo.chartInfo.id; 8 | for (const i in state.favoriteList) { 9 | if(state.favoriteList[i].type === type && state.favoriteList[i].id === id) return true; 10 | } 11 | } catch { 12 | } 13 | return false; 14 | } 15 | -------------------------------------------------------------------------------- /src/store/favorite/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /src/store/favorite/state.js: -------------------------------------------------------------------------------- 1 | export default function () { 2 | let favoriteList = []; 3 | let historyList = []; 4 | try { 5 | favoriteList = JSON.parse(localStorage.getItem('favorite')) || []; 6 | } catch { 7 | } 8 | try { 9 | historyList = JSON.parse(localStorage.getItem('history')) || []; 10 | } catch { 11 | } 12 | return { 13 | favoriteList, 14 | historyList 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | import chartInfo from 'src/store/chartInfo' 5 | import favorite from 'src/store/favorite' 6 | import settings from 'src/store/settings' 7 | import mods from 'src/store/mods' 8 | import axiosCanceller from 'src/store/axiosCanceller' 9 | import downloadDialog from 'src/store/downloadDialog' 10 | import notification from 'src/store/notification' 11 | import Settings from "src/lib/util/settings"; 12 | 13 | import { colors } from 'quasar'; 14 | import {updateSettings} from "src/store/settings/mutations"; 15 | 16 | Vue.use(Vuex) 17 | 18 | const Store = new Vuex.Store({ 19 | modules: { 20 | chartInfo, 21 | favorite, 22 | settings, 23 | mods, 24 | axiosCanceller, 25 | downloadDialog, 26 | notification 27 | }, 28 | state: { 29 | started: false, 30 | downloadInfo: { 31 | startAt: 0, // timestamp 32 | lastUpdate: 0, //timestamp 33 | currentSize: 0, //number, Byte(s) 34 | totalSize: 0, //number, Byte(s) 35 | totalTime: 0, //number, ms 36 | downloadSpeed: 0, //number, Byte(s)/s 37 | averageSpeed: 0, //number, Byte(s)/s 38 | progress: 0, //number, percentage, 0~1 39 | finished: false 40 | }, 41 | special: Settings.getCurrentSpecial() 42 | }, 43 | mutations: { 44 | setStarted: (state) => { 45 | state.started = true 46 | }, 47 | updateDownloadInfo: (state, payload) => { 48 | let downloadInfo = null; 49 | try { 50 | downloadInfo = JSON.parse(JSON.stringify(payload)); 51 | state.downloadInfo = downloadInfo; 52 | } catch {} 53 | }, 54 | updateSpecial: (state, payload) => { 55 | state.special = payload; 56 | if (state.special === 'halloween') colors.setBrand('primary', '#E65100'); 57 | else colors.setBrand('primary', '#F06292'); 58 | } 59 | }, 60 | strict: process.env.DEV 61 | }) 62 | 63 | Store.commit('updateSpecial', Store.state.special); 64 | // 直接暴露实例,以便在外部js中访问 65 | export default Store; 66 | -------------------------------------------------------------------------------- /src/store/mods/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someAction (context) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/mods/getters.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someGetter (state) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/mods/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /src/store/mods/mutations.js: -------------------------------------------------------------------------------- 1 | export const updateMod = (state, payload) => { 2 | const mod = payload.toLowerCase(); 3 | if(mod === 'sd' || mod === 'singledog') state.mod = 'singleDog'; 4 | else if(mod === 'fp' || mod === 'flickparty') state.mod = 'flickParty'; 5 | else if(mod === 'af' || mod === 'allflick') state.mod = 'allFlick'; 6 | else state.mod = ''; 7 | } 8 | -------------------------------------------------------------------------------- /src/store/mods/state.js: -------------------------------------------------------------------------------- 1 | export default function () { 2 | return { 3 | mod: 'default', 4 | modHelperList: { 5 | singleDog: { 6 | color: 'blue-8', 7 | text: 'Single Dog' 8 | }, 9 | flickParty: { 10 | color: 'pink-4', 11 | text: 'Flick Party!' 12 | }, 13 | allFlick: { 14 | color: 'red-8', 15 | text: 'All Flick' 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/store/notification/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someAction (context) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/notification/getters.js: -------------------------------------------------------------------------------- 1 | import {LocalStorage} from "quasar"; 2 | 3 | export const hasNew = (state) => { 4 | let count = 0 5 | for(const item of state.notification) { 6 | if(!state.readList.includes(item.key)) count++; 7 | }; 8 | return count; 9 | } 10 | 11 | export const readList = (state) => { 12 | return state.readList; 13 | } 14 | -------------------------------------------------------------------------------- /src/store/notification/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /src/store/notification/mutations.js: -------------------------------------------------------------------------------- 1 | import {LocalStorage} from "quasar"; 2 | 3 | export const update = (state, payload) => { 4 | state.notification = payload; 5 | } 6 | 7 | export const setRead = (state, payload) => { 8 | payload.forEach(item => { 9 | const key = item.key; 10 | if(!state.readList.includes(key)) state.readList.push(key); 11 | }) 12 | LocalStorage.set('notification', state.readList); 13 | } 14 | -------------------------------------------------------------------------------- /src/store/notification/state.js: -------------------------------------------------------------------------------- 1 | import {LocalStorage} from "quasar"; 2 | 3 | export default function () { 4 | return { 5 | notification: [], 6 | readList: LocalStorage.getItem('notification') || [] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/store/settings/actions.js: -------------------------------------------------------------------------------- 1 | /* 2 | export function someAction (context) { 3 | } 4 | */ 5 | -------------------------------------------------------------------------------- /src/store/settings/getters.js: -------------------------------------------------------------------------------- 1 | export const settings = (state) => { 2 | let settings = {}; 3 | try { 4 | settings = JSON.parse(JSON.stringify(state.settings)); 5 | } catch {} 6 | return settings; 7 | } 8 | -------------------------------------------------------------------------------- /src/store/settings/index.js: -------------------------------------------------------------------------------- 1 | import state from './state' 2 | import * as getters from './getters' 3 | import * as mutations from './mutations' 4 | import * as actions from './actions' 5 | 6 | export default { 7 | namespaced: true, 8 | state, 9 | getters, 10 | mutations, 11 | actions 12 | } 13 | -------------------------------------------------------------------------------- /src/store/settings/mutations.js: -------------------------------------------------------------------------------- 1 | import Settings from "src/lib/util/settings"; 2 | 3 | export const updateOption = (state, name, value) => { 4 | state.settings[name] = value; 5 | } 6 | 7 | export const updateSettings = (state, payload) => { 8 | let settings = {}; 9 | try { 10 | settings = JSON.parse(JSON.stringify(payload)); 11 | } catch {} 12 | for(const i in state.settings) { 13 | if(settings[i]) state.settings[i] = settings[i]; 14 | } 15 | Settings.setAll(state.settings); 16 | } 17 | -------------------------------------------------------------------------------- /src/store/settings/state.js: -------------------------------------------------------------------------------- 1 | import Settings from "src/lib/util/settings"; 2 | 3 | export default function () { 4 | return { 5 | settings: Settings.getAll() 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/store/store-flag.d.ts: -------------------------------------------------------------------------------- 1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED, 2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING 3 | import "quasar/dist/types/feature-flag"; 4 | 5 | declare module "quasar/dist/types/feature-flag" { 6 | interface QuasarFeatureFlags { 7 | store: true; 8 | } 9 | } 10 | --------------------------------------------------------------------------------