fix: fixed background and music order in project.json
This commit is contained in:
@@ -16,7 +16,16 @@ const DEFAULT_BACKGROUND_FILE = path.join(
|
|||||||
)
|
)
|
||||||
|
|
||||||
const getFiles = () => {
|
const getFiles = () => {
|
||||||
return file.readdirSync(DIST_DIR)
|
const ret = file.readdirSync(DIST_DIR)
|
||||||
|
ret.unshift(
|
||||||
|
ret.splice(
|
||||||
|
ret.findIndex(
|
||||||
|
(e) => e === config.module.background.operator_bg_png
|
||||||
|
),
|
||||||
|
1
|
||||||
|
)[0]
|
||||||
|
)
|
||||||
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
export let files = getFiles()
|
export let files = getFiles()
|
||||||
|
|||||||
@@ -10,15 +10,27 @@ import { getLangs } from '@aklive2d/charword-table'
|
|||||||
const DIST_DIR = path.join(import.meta.dirname, config.dir_name.dist)
|
const DIST_DIR = path.join(import.meta.dirname, config.dir_name.dist)
|
||||||
|
|
||||||
export const build = (namesToBuild) => {
|
export const build = (namesToBuild) => {
|
||||||
|
const err = []
|
||||||
const names = !namesToBuild.length ? Object.keys(operators) : namesToBuild
|
const names = !namesToBuild.length ? Object.keys(operators) : namesToBuild
|
||||||
console.log('Generating assets for', names.length, 'operators')
|
console.log('Generating assets for', names.length, 'operators')
|
||||||
|
const musicMapping = []
|
||||||
|
// sort music mapping based on background file order
|
||||||
|
for (const item of backgrounds) {
|
||||||
|
if (musics.musicFileMapping[item]) {
|
||||||
|
musicMapping.push(item)
|
||||||
|
} else {
|
||||||
|
err.push(
|
||||||
|
`Music folder doesn't contain music for ${item} background.`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
for (const name of names) {
|
for (const name of names) {
|
||||||
const { voiceLangs, subtitleLangs } = getLangs(name)
|
const { voiceLangs, subtitleLangs } = getLangs(name)
|
||||||
load(name, {
|
load(name, {
|
||||||
backgrounds,
|
backgrounds,
|
||||||
voiceLangs,
|
voiceLangs,
|
||||||
subtitleLangs,
|
subtitleLangs,
|
||||||
music: Object.keys(musics.musicFileMapping),
|
music: musicMapping,
|
||||||
})
|
})
|
||||||
file.symlink(
|
file.symlink(
|
||||||
path.join(
|
path.join(
|
||||||
@@ -28,6 +40,7 @@ export const build = (namesToBuild) => {
|
|||||||
path.join(getDistDir(name), config.module.project_json.preview_jpg)
|
path.join(getDistDir(name), config.module.project_json.preview_jpg)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
const getDistDir = (name) => {
|
const getDistDir = (name) => {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
import { envParser } from '@aklive2d/libs'
|
import { envParser, error } from '@aklive2d/libs'
|
||||||
import { build } from './index.js'
|
import { build } from './index.js'
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
|
let err = []
|
||||||
const { mode, name } = envParser.parse({
|
const { mode, name } = envParser.parse({
|
||||||
mode: {
|
mode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
@@ -16,11 +17,12 @@ async function main() {
|
|||||||
})
|
})
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 'build':
|
case 'build':
|
||||||
build(name)
|
err = build(name)
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unknown mode: ${mode}`)
|
throw new Error(`Unknown mode: ${mode}`)
|
||||||
}
|
}
|
||||||
|
error.handle(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|||||||
Reference in New Issue
Block a user