pyrogenesis-migration-scripts/A25ToA26.py

69 lines
2.6 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# -*- mode: python-mode; python-indent-offset: 4; -*-
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: © 2023 Wildfire Games
# SPDX-FileCopyrightText: © 2023 Stanislas Daniel Claude Dolcini
from A25_A26.ElevationBonusFixer import ElevationBonusFixer
from A25_A26.PlayerXMLFixer import PlayerXMLFixer
from A25_A26.SessionIconPathFixer import SessionIconPathFixer
from A25_A26.FixNewPlayerParent import FixNewPlayerParent
from A25_A26.FormationFixer import FormationFixer
from A25_A26.PlayerXMLFormationFixer import PlayerXMLFormationFixer
from A25_A26.P256 import TemplateFixer, ModifiersFixer
from A25_A26.P259 import convert_recursively
from A25_A26.P261 import TemplateFixer as TemplateFixerP261, SedLike
from A25_A26.FancyGrassRemover import FancyGrassRemover
from argparse import ArgumentParser
from pathlib import Path
import os
if __name__ == '__main__':
parser = ArgumentParser(description='A25 to A26 converter.')
parser.add_argument('-r', '--root', action='store', dest='root', default=os.path.dirname(os.path.realpath(__file__)))
parser.add_argument('-m', '--mod', action='store', dest='mod', default='public')
parser.add_argument('-v', '--verbose', action='store_true', default=False, help="Be verbose.")
args = parser.parse_args()
script_dir = args.root
mod_name = args.mod
path = Path(script_dir) / mod_name
print(f"Running in {path}")
print("Running P256...")
template_fixer = TemplateFixer(path)
template_fixer.run()
modifier_fixer = ModifiersFixer(path)
modifier_fixer.run()
if not os.path.exists('.normalized_ao_' + mod_name) and os.path.isdir(path):
print("Running P259...")
convert_recursively(path)
(Path('.normalized_ao_' + mod_name)).touch()
else:
print("Skipping P259...")
print("Fixing r26074...")
elevationFixer = ElevationBonusFixer(path, args.verbose)
elevationFixer.run()
print("Running P261...")
template_fixer = TemplateFixerP261(path)
template_fixer.run()
print("Running FancyGrassRemover...")
remover = FancyGrassRemover(path, args.verbose)
remover.run()
print("Fixing r26298...")
fixer = PlayerXMLFixer(path, args.verbose)
fixer.run()
print("Fixing r26299...")
fixer = PlayerXMLFormationFixer(path, args.verbose)
fixer.run()
print("Fixing r26317...")
fixer = SessionIconPathFixer(path, args.verbose)
fixer.run()
print("Fixing r26458 ...")
fixer = FixNewPlayerParent(path, args.verbose)
fixer.run()
print("Fixing r26476...")
fixer = FormationFixer(path, args.verbose)
fixer.run()