From a2308379f2d70e1192166a3c8393704033d29880 Mon Sep 17 00:00:00 2001 From: argoneus Date: Sat, 16 May 2020 13:47:41 +0200 Subject: [PATCH] added --utage switch to diva quest --- diva/quest.py | 17 ++++++++--------- divatool.py | 14 ++++++++++++-- xdudata/update.py | 2 +- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/diva/quest.py b/diva/quest.py index ed4d092..a7d2a72 100644 --- a/diva/quest.py +++ b/diva/quest.py @@ -7,16 +7,18 @@ import os from glob import glob -def update_missions(dir_in, old_path, languages): +def update_missions(dir_in, old_path, languages, is_global, utage_in=None): + if not utage_in: + utage_in = os.path.join(dir_in, "Common/Asset/Utage") qdb = db.QuestDB(dir_in) quest_mst(qdb, old_path, languages) - scene_mst(qdb, old_path, dir_in, languages) + scene_mst(qdb, old_path, dir_in, languages, utage_in) -def scene_mst(qdb, old_path, dir_in, languages): +def scene_mst(qdb, old_path, dir_in, languages, utage_in): scenes = qdb.get_scenes() - locations = load_locations(dir_in) + locations = load_locations(dir_in, utage_in) for id, scene in scenes.items(): i = 0 @@ -97,12 +99,9 @@ def quest_mst(qdb, old_path, languages): return quests -def load_locations(dir_in): +def load_locations(dir_in, utage_in): locations = {} - settings = glob( - os.path.join(dir_in, "Common/Asset/Utage/**/Settings/Scenario.tsv"), - recursive=True, - ) + settings = glob("{}/**/Settings/Scenario.tsv".format(utage_in), recursive=True,) if len(settings) == 0: raise FileNotFoundError("Ya didn't decrypt the files dummy") diff --git a/divatool.py b/divatool.py index e528b57..17d32ef 100755 --- a/divatool.py +++ b/divatool.py @@ -117,13 +117,16 @@ def main(): metavar="", title="subcommand", dest="subcommand" ) parser_diva_quest = parser_diva_subparsers.add_parser( - "quest", help="Generate quest JSON files" + "quest", help="Generate quest JSON files", parents=[global_flag_parser], ) parser_diva_quest.add_argument( "INPUT", help="Directory of databases containing Quest*.db and ResourceEntry.db", type=str, ) + parser_diva_quest.add_argument( + "--utage", help="Directory of Utage folders and files.", type=str, default=None, + ) parser_diva_quest.add_argument( "OLD", help="Directory with old quest files", nargs="?", type=str, default="." ) @@ -182,7 +185,14 @@ def main(): raise FileNotFoundError(args.INPUT) elif args.command == "diva": if args.subcommand == "quest": - diva.quest.update_missions(args.INPUT, args.OLD, LANGUAGES) + if not args.utage: + diva.quest.update_missions( + args.INPUT, args.OLD, LANGUAGES, args.is_global + ) + else: + diva.quest.update_missions( + args.INPUT, args.OLD, LANGUAGES, args.is_global, utage_in=args.utage + ) elif args.command == "xdudata": if args.subcommand == "update": # add the tools folder to PATH diff --git a/xdudata/update.py b/xdudata/update.py index a59d30c..8dd8af4 100644 --- a/xdudata/update.py +++ b/xdudata/update.py @@ -28,7 +28,7 @@ def update_all( update_tsv(cache_dir, update_dir, extract_dir, translation_dir, languages) print("Processing Quest Json files") - diva.quest.update_missions(extract_dir, translation_dir, languages) + diva.quest.update_missions(extract_dir, translation_dir, languages, False) print("Processing Sound Effects") process_se(cache_dir, extract_dir, update_dir)