From 5eac0f23a8b906754eafb9986633c36e4fca66e7 Mon Sep 17 00:00:00 2001 From: cocos02 Date: Wed, 10 Jun 2026 12:32:20 +0800 Subject: [PATCH] fix: prefix locales path with assetBase so fetch resolves correctly --- src/composables/useGameEngine.ts | 2 +- src/stores/gameStore.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/composables/useGameEngine.ts b/src/composables/useGameEngine.ts index ae7c65d..51962a3 100644 --- a/src/composables/useGameEngine.ts +++ b/src/composables/useGameEngine.ts @@ -161,7 +161,7 @@ export function useGameEngine(videoEls: () => [HTMLVideoElement | null, HTMLVide engine.achievementSystem.init(data.achievements || [], achieved) store.setEndings(data.endings || []) - store.setStoryLocales(data.locales) + store.setStoryLocales(data.locales, data.assetBase) const visitedIds = await saveSystem.getVisitedSceneIds() store.setVisitedSceneIds(visitedIds) diff --git a/src/stores/gameStore.ts b/src/stores/gameStore.ts index f17449d..476587b 100644 --- a/src/stores/gameStore.ts +++ b/src/stores/gameStore.ts @@ -181,8 +181,12 @@ export const useGameStore = defineStore('game', () => { visitedSceneIds.value = new Set(visitedSceneIds.value) } - function setStoryLocales(locales: LocalesConfig | undefined) { - if (locales) storyLocales.value = locales + function setStoryLocales(locales: LocalesConfig | undefined, assetBase?: string) { + if (locales) { + const base = (assetBase || '') + const p = locales.path.startsWith('/') || locales.path.startsWith('http') ? locales.path : base + locales.path + storyLocales.value = { ...locales, path: p } + } } function setSubFontSize(v: number) { subFontSize.value = v; localStorage.setItem('subFontSize', String(v)) }