39 lines
1.7 KiB
Python
39 lines
1.7 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 A26_A27.ActorsWithMaterialsWithNoSpecMapFixer import ActorsWithMaterialsWithNoSpecMapFixer
|
|
from A26_A27.P265 import TemplateFixer as RequirementsFixer
|
|
from A26_A27.P292 import remove_terrain_materials_recursively, remove_actor_materials_recursively
|
|
|
|
from argparse import ArgumentParser
|
|
from pathlib import Path
|
|
import os
|
|
|
|
if __name__ == '__main__':
|
|
parser = ArgumentParser(description='A26 to A27 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("Fixing rP27245...")
|
|
template_fixer = RequirementsFixer(path)
|
|
template_fixer.run()
|
|
print("Fixing Actors using no specmap (rP27308)...")
|
|
template_fixer = ActorsWithMaterialsWithNoSpecMapFixer(path)
|
|
template_fixer.run()
|
|
print("Fixing actors using old deprecated materials (rP27368)")
|
|
if os.path.exists(path / 'art' / 'terrains') and os.path.isdir(path / 'art' / 'terrains'):
|
|
remove_terrain_materials_recursively(path / 'art' / 'terrains')
|
|
if os.path.exists(path / 'art' / 'actors') and os.path.isdir(path / 'art' / 'actors'):
|
|
remove_actor_materials_recursively(path / 'art' / 'actors')
|
|
|