mirror of
https://github.com/ibratabian17/OpenParty.git
synced 2026-01-15 14:22:54 -03:00
63 lines
2.4 KiB
JavaScript
63 lines
2.4 KiB
JavaScript
//This script will automatically generate songdb for specific platform
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
function mergeJSON(obj1, obj2) {
|
|
// Create a shallow copy of obj1 to avoid modifying it directly
|
|
var merged = Object.assign({}, obj1);
|
|
|
|
for (var key in obj2) {
|
|
if (obj2.hasOwnProperty(key)) {
|
|
if (typeof obj2[key] === 'object' && obj1.hasOwnProperty(key) && typeof obj1[key] === 'object') {
|
|
// Recursive merge if both values are objects
|
|
merged[key] = mergeJSON(obj1[key], obj2[key]);
|
|
} else {
|
|
// Only assign the value if it doesn't exist in obj1
|
|
if (!obj1.hasOwnProperty(key)) {
|
|
merged[key] = obj2[key];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return merged;
|
|
}
|
|
|
|
function generateSongdb(){
|
|
var tempAssets = {
|
|
"banner_bkgImageUrl": "",
|
|
"coach1ImageUrl": "",
|
|
"coverImageUrl": "",
|
|
"coverKidsImageUrl": "",
|
|
"coverKids_smallImageUrl": "",
|
|
"cover_1024ImageUrl": "",
|
|
"cover_smallImageUrl": "",
|
|
"expandBkgImageUrl": "",
|
|
"expandCoachImageUrl": "",
|
|
"map_bkgImageUrl": "",
|
|
"phoneCoach1ImageUrl": "",
|
|
"phoneCoverImageUrl": ""
|
|
}
|
|
var origin = mergeJSON(JSON.parse(fs.readFileSync(path.join(__dirname, 'openparty-all/unused/songdb_nx.json'))), JSON.parse(fs.readFileSync(path.join(__dirname, 'openparty-all/unused/songdbs.json'))))
|
|
var originpc = JSON.parse(fs.readFileSync(path.join(__dirname, 'openparty-all/unused/songdb_pc.json')))
|
|
var originx1 = JSON.parse(fs.readFileSync(path.join(__dirname, 'openparty-all/unused/songdb_xone.json')))
|
|
var originps4 = JSON.parse(fs.readFileSync(path.join(__dirname, 'openparty-all/unused/songdb_ps4.json')))
|
|
var origincommon = JSON.parse(fs.readFileSync(path.join(__dirname, 'openparty-all/unused/songdb_common.json')))
|
|
var pc = {}
|
|
|
|
Object.keys(origin).forEach((currentSong) => {
|
|
const a = origin[currentSong]
|
|
const assets = a.assets
|
|
a.assets = {
|
|
nx: assets,
|
|
x1: originx1[currentSong] ? originx1[currentSong].assets : originpc[currentSong] ? originpc[currentSong].assets : tempAssets,
|
|
ps4: originps4[currentSong] ? originps4[currentSong].assets : tempAssets,
|
|
common: origincommon[currentSong] ? origincommon[currentSong].assets : tempAssets
|
|
}
|
|
pc[currentSong] = a;
|
|
})
|
|
|
|
var o = fs.writeFileSync(path.join(__dirname, 'openparty-all/songdbs.json'), JSON.stringify(pc, null, 2))
|
|
}
|
|
|
|
generateSongdb() |