feat(showcase): add music resources
This commit is contained in:
@@ -142,7 +142,7 @@ I'm still struggling to find a command-line tool to extract in-game assets. But
|
|||||||
|
|
||||||
<sup>1</sup>: `portrait_hub` is required to locate the image
|
<sup>1</sup>: `portrait_hub` is required to locate the image
|
||||||
|
|
||||||
<sup>2</sup>: `gamedata/excel/display_meta_table.json`<sup>3</sup> is required to locate the music
|
<sup>2</sup>: `gamedata/excel/display_meta_table.json->homeBackgroundData`<sup>3</sup> is required to locate the music. A more detailed mapping can be found at [音乐鉴赏/游戏内音乐一览 - PRTS.wiki](https://prts.wiki/w/%E9%9F%B3%E4%B9%90%E9%89%B4%E8%B5%8F/%E6%B8%B8%E6%88%8F%E5%86%85%E9%9F%B3%E4%B9%90%E4%B8%80%E8%A7%88) and [首页场景一览 - PRTS.wiki](https://prts.wiki/w/%E9%A6%96%E9%A1%B5%E5%9C%BA%E6%99%AF%E4%B8%80%E8%A7%88)
|
||||||
|
|
||||||
<sup>3</sup>: Data is encryped, decryped version can be obtained from [ArknightsGameData](https://github.com/Kengxxiao/ArknightsGameData)
|
<sup>3</sup>: Data is encryped, decryped version can be obtained from [ArknightsGameData](https://github.com/Kengxxiao/ArknightsGameData)
|
||||||
|
|
||||||
|
|||||||
@@ -177,9 +177,6 @@ async function main() {
|
|||||||
{
|
{
|
||||||
key: "link",
|
key: "link",
|
||||||
value: __config.operators[OPERATOR_NAME].link
|
value: __config.operators[OPERATOR_NAME].link
|
||||||
}, {
|
|
||||||
key: "version",
|
|
||||||
value: __config.version.showcase
|
|
||||||
}, {
|
}, {
|
||||||
key: "title",
|
key: "title",
|
||||||
value: __config.operators[OPERATOR_NAME].title
|
value: __config.operators[OPERATOR_NAME].title
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
1.0.9
|
1.0.11
|
||||||
@@ -19,6 +19,7 @@ import { useHeader } from '@/state/header';
|
|||||||
import useAudio from '@/libs/voice';
|
import useAudio from '@/libs/voice';
|
||||||
import spine from '!/libs/spine-player'
|
import spine from '!/libs/spine-player'
|
||||||
import '!/libs/spine-player.css'
|
import '!/libs/spine-player.css'
|
||||||
|
import useUmami from '@parcellab/react-use-umami';
|
||||||
|
|
||||||
const voiceOnAtom = atomWithStorage('voiceOn', false)
|
const voiceOnAtom = atomWithStorage('voiceOn', false)
|
||||||
const config = JSON.parse(import.meta.env.VITE_ERROR_FILES)
|
const config = JSON.parse(import.meta.env.VITE_ERROR_FILES)
|
||||||
@@ -27,6 +28,7 @@ const filename = obj.key.replace("#", "%23")
|
|||||||
const padding = obj.paddings
|
const padding = obj.paddings
|
||||||
|
|
||||||
export default function ErrorPage() {
|
export default function ErrorPage() {
|
||||||
|
const _trackEvt = useUmami('/error')
|
||||||
const error = useRouteError();
|
const error = useRouteError();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const {
|
const {
|
||||||
@@ -73,10 +75,6 @@ export default function ErrorPage() {
|
|||||||
play(`/${import.meta.env.VITE_DIRECTORY_FOLDER}/error.ogg`, { overwrite: true })
|
play(`/${import.meta.env.VITE_DIRECTORY_FOLDER}/error.ogg`, { overwrite: true })
|
||||||
}, [play])
|
}, [play])
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (voiceOn) playVoice()
|
|
||||||
}, [playVoice, voiceOn])
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (spineRef.current?.children.length === 0 && spineData) {
|
if (spineRef.current?.children.length === 0 && spineData) {
|
||||||
new spine.SpinePlayer(spineRef.current, {
|
new spine.SpinePlayer(spineRef.current, {
|
||||||
|
|||||||
@@ -169,6 +169,7 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main .main-header .main-tab .main-tab-item {
|
.main .main-header .main-tab .main-tab-item {
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ export default class Settings {
|
|||||||
#doNotTrack = false
|
#doNotTrack = false
|
||||||
#lastFunctionInsights = null
|
#lastFunctionInsights = null
|
||||||
|
|
||||||
|
|
||||||
constructor(el, logoEl) {
|
constructor(el, logoEl) {
|
||||||
this.isWallpaperEngine = false
|
this.isWallpaperEngine = false
|
||||||
this.#el = el
|
this.#el = el
|
||||||
@@ -79,7 +78,7 @@ export default class Settings {
|
|||||||
this.#isInsightsInited = true
|
this.#isInsightsInited = true
|
||||||
this.#doNotTrack = doNotTrack
|
this.#doNotTrack = doNotTrack
|
||||||
if (this.#doNotTrack) return
|
if (this.#doNotTrack) return
|
||||||
window.umami?.trackView(`/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam&" : "?"}version=${import.meta.env.VITE_VERSION}`);
|
window.umami?.trackView(`/${import.meta.env.VITE_LINK}${isWallpaperEngine ? "?steam" : ""}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
functionInsights(functionName, toSkip = false) {
|
functionInsights(functionName, toSkip = false) {
|
||||||
|
|||||||
Reference in New Issue
Block a user