types for better debug.

This commit is contained in:
DitFranXX
2020-12-10 19:34:47 +09:00
parent 9cf950c759
commit 64e3d1871e
+13 -3
View File
@@ -1,3 +1,13 @@
export interface CommonMusicDataField {
music_id: KITEM<"s32">;
music_type: KITEM<"u8">;
limited: KITEM<"u8">;
}
interface CommonMusicData {
music: CommonMusicDataField[]
}
export async function readXML(path: string) { export async function readXML(path: string) {
const xml = await IO.ReadFile(path, 'utf-8'); const xml = await IO.ReadFile(path, 'utf-8');
const json = U.parseXML(xml, false) const json = U.parseXML(xml, false)
@@ -10,7 +20,7 @@ export async function readJSON(path: string) {
return json return json
} }
export async function readJSONOrXML(jsonPath: string, xmlPath: string) { export async function readJSONOrXML(jsonPath: string, xmlPath: string): Promise<CommonMusicData> {
const str: string | null = await IO.ReadFile(jsonPath, 'utf-8'); const str: string | null = await IO.ReadFile(jsonPath, 'utf-8');
if (str == null || str.length == 0) { if (str == null || str.length == 0) {
const data = await processMdbData(xmlPath) const data = await processMdbData(xmlPath)
@@ -22,11 +32,11 @@ export async function readJSONOrXML(jsonPath: string, xmlPath: string) {
} }
} }
export async function processMdbData(path: string) { export async function processMdbData(path: string): Promise<CommonMusicData> {
const data = await readXML(path); const data = await readXML(path);
const mdb = $(data).elements("mdb.music"); const mdb = $(data).elements("mdb.music");
const diff_list = ["novice", "advanced", "exhaust", "infinite"] const diff_list = ["novice", "advanced", "exhaust", "infinite"]
const music: any[] = []; const music: CommonMusicDataField[] = [];
for (const m of mdb) { for (const m of mdb) {
for (const [i, d] of diff_list.entries()) { for (const [i, d] of diff_list.entries()) {
const elem = m.element(`difficulty.${d}`) const elem = m.element(`difficulty.${d}`)