diff --git a/chuni/make_omnimix.py b/chuni/make_omnimix.py new file mode 100644 index 0000000..c2086e8 --- /dev/null +++ b/chuni/make_omnimix.py @@ -0,0 +1,39 @@ +import shutil +from pathlib import Path + + +def walk_data_files(root: Path): + files = [] + file_map = {} + + for dirpath, _, filenames in (root / "App" / "data" / "A000").walk(): + for filename in filenames: + relative = (dirpath / filename).relative_to(root / "App" / "data" / "A000") + file_map[relative] = dirpath / filename + files.append(relative) + + for option in (root / "Option").iterdir(): + if option.name == "AOMN": + continue + + for dirpath, _, filenames in option.walk(): + for filename in filenames: + relative = (dirpath / filename).relative_to(option) + file_map[relative] = dirpath / filename + files.append(relative) + + return files, file_map + +old_data = Path("CHUNITHM LUMINOUS PLUS (SDHD 2.26.00)") +new_data = Path("Chunithm Verse") + +old_files, old_file_map = walk_data_files(old_data) +new_files, _ = walk_data_files(new_data) + +removed_files = list(set(old_files).difference(set(new_files))) + +(new_data / "Option" / "AOMN").mkdir(exist_ok=True) + +for file in removed_files: + (new_data / "Option" / "AOMN" / file).parent.mkdir(exist_ok=True, parents=True) + shutil.copy2(old_file_map[file], new_data / "Option" / "AOMN" / file)